设备分配满足称为对象重用的部分要求。设备清理脚本说明安全要求,即在重用之前从物理设备中清除所有可用数据。清除数据后,其他用户才可分配此设备。缺省情况下,盒式磁带机、软盘驱动器、CD-ROM 驱动器和音频设备需要设备清理脚本。Solaris OS 提供了这些脚本。本节介绍设备清理脚本的功能。
st_clean 设备清理脚本支持三种磁带设备:
SCSI ¼ 英寸磁带
归档 ¼ 英寸磁带
开放式卷盘 ½ 英寸磁带
st_clean 脚本使用 mt 命令的 rewoffl 选项来清除此设备。有关更多信息,请参见 mt(1) 手册页。如果此脚本在系统引导期间运行,则会查询此设备以确定它是否联机。如果设备联机,则此脚本确定设备中是否有介质。内含介质的 ¼ 英寸磁带设备会被置于分配错误状态。分配错误状态强制管理员手动清除此设备。
系统正常操作期间,在交互模式下执行 deallocate 命令时,将提示用户删除此介质。从设备中删除此介质之后才会进行解除分配。
为软盘驱动器和 CD-ROM 驱动器提供以下设备清理脚本:
这些脚本使用 eject 命令从驱动器中删除介质。如果 eject 命令失败,则会将此设备置于分配错误状态。有关更多信息,请参见 eject(1) 手册页。
使用 audio_clean 脚本清除音频设备。此脚本执行 AUDIO_GETINFO ioctl 系统调用来读取设备。然后,此脚本执行 AUDIO_SETINFO ioctl 系统调用将此设备的配置重置为缺省值。
如果将更多可分配设备添加到系统,则可能需要创建自己的设备清理脚本。deallocate 命令将参数传送到设备清理脚本中。在此显示的参数是包含设备名称的字符串。有关更多信息,请参见 device_allocate(4) 手册页。
clean-script -[I|i|f|S] device-name |
设备清理脚本在成功时一定会返回 "0",而在失败时返回大于 "0" 的值。-I、-f 和 -S 选项确定脚本的运行模式: