(适用于UnixWare,Solaris,SVR4等多种UNIX操作系统)
一、 存储设备的增加 1、 增加新的块设备 (1) # cd /dev (2)使用mknod命令增加新的设备 # /sbin/mknod /dev/dsk/1s2 b 0 6 其参数分别是设备名、块设备标识(b)、主设备号和次设备号 (3)使用chgrp命令将所创建的设备特别文件归属到root组中 # chgrp root /dev/dsk/1s2 2、 增加新的字符设备 (1) # mknod /dev/rdsk/1s2 c 8 6 其参数同样分别是设备名、字符设备标识(c)、主设备号和次设备号 (2)使用chgrp命令将所创建的设备特别文件归属到root组中 # chgrp root /dev/dsk/1s2
二、 存储设备的格式化与数据拷贝 在用磁盘或磁带存储信息之前,必须首先对它们进行格式化 用来格式化硬盘和软盘的命令format的基本格式如下 format device-name 其中 device-name 为特别文件的名字 如 # format /dev/diskette1 1、 将硬盘上的整个文件拷贝到磁带上 为了快速地将硬盘上的所有文件拷贝到磁带中,可以使用 volcopy 命令。但在使用该命令前,必须用labelit命令为文件系统创建文件系统名和卷标名 # labelit –F ufs /dev/dsk/c0t3d0s0 home1 vol1 # volcopy -F ufs home1 /dev/rdsk/c0t3d0s7 vol1 /dev/rmt/0 tape1 上述例子中,labelit命令标识了名为home1、卷标为vol1的文件系统,接下来volcopy命令将该文件系统的内容拷贝到磁带(/dev/rmt/0)上并指定了新的卷标名(tape1) 2、 在硬盘上的不同文件系统间拷贝数据 # cp /home/file1 /newuser/file1 3、 将硬盘上的文件拷贝到软盘上 #find . –print | cpio -o >; /dev/diskette1 与其相反 #cpio -I < /dev/diskette1 从软盘拷贝到硬盘 4、 软盘相互拷贝 # dd if= /dev/diskette1 of= /dev/diskette2 三、 存储设备的去除与数据擦除 1、 使用 /usr/sbin/wall 命令向用户发出删除存储设备的警告 # /usr/sbin/wall we will remove the device : /dev/dsk/1s6 2、 使用 /usr/sbin/devnm 命令确定 root 文件系统存放在哪台设备上 # /usr/sbin/devnm / /dev/dsk/1s0 / 1s0代表分区号,root文件系统被安装在这里 3、 确定存放root文件系统设备的主设备号和次设备号,可使用 ls –l special 命令得到,其中 special 值同样代表分区号 在这里,对 special 取值为 1s6,最后一位为6表示相应分区占据整个硬盘 # ls –l /dev/dsk/1s6 brw -------- 3 root sys 0,6 Feb 23 1988 /dev/dsk/1s6 从结果中可以看出,主设备号为0,次设备号为6 4、 使用 /usr/sbin/devnm 命令来确定用户文件系统存放在哪台设备上 # /usr/sbin/devnm /usr /dev/dsk/1s2 /usr 5、 使用 ls –l special 确定用户文件系统的主设备号和次设备号 # ls –l /dev/dsk/1s6 brw -------- 2 root sys 0,6 Feb 23 1988 /dev/dsk/1s6 6、 使用 ls –l device-path 命令来确定要除去设备的主设备号和次设备号,其中 device-path 代表要去除设备的路径名,在这里将其取为 /dev/rdsk/disk2 # ls –l /dev/rdsk/disk2 brw -------- 2 root sys 0,22 Feb 23 1988 /dev/rdsk/disk2 7、 如果存放 root 和用户文件系统的主设备号和次设备号相同,则不能去除该设备 8、 通过查找 /dev/dsk 目录下具有相同主设备号和次设备号的设备来确定目标控制器、驱动器和硬盘分区号 # ls –l /dev/dsk | grep “0,22” brw -------- 6 root sys 0,22 Dec 30 15:26 1s6 上述结果表明目标控制器值为1,驱动器值为1,硬盘分区号为6 9、 使用 grep 命令列出要去除设备上文件的目录信息 # grep 1s6 /etc/vfstab /dev/rdsk/1s6 /dev/rdsk/1s6 /home4 /home2 s5 - yes – 在这里可以保存这些目录中的信息,以便在重新使用该设备时将有关信息拷贝回来 10、 使用 cp 命令将文件分配表做一个备份 # cp /etc/vfstab /etc/ovfstab 11、 使用 /usr/sbin/umount 命令,从设备上卸下要删除的目录 # /usr/sbin/umount /home4 12、 编辑 /etc/vfstab 文件来删除有关要去除设备的参考信息,这可以通过使用 rm 命令将该设备的名字从 /dev/dsk 和 /dev/rdsk 目录中去除的方法来实现 # rm /dev/dsk/1s6 /dev/rdsk/1s6 # rm /dev/rdsk/1s6 /dev/rdsk/1s6 13、 如果该设备为多个文件系统所包含,则要从 /etc/vfstab 文件中删除有与该设备有关的通道 14、 使用 devattr 命令来确定要去除设备的别名,然后使用putdev命令将该设备从设备库中去除掉 # devattr –v /dev/rdsk/disk2 alias alias = ‘disk2’ # putdev –d disk2 15、 使用 getdgrp 命令来确定要去除设备所属的设备组,然后用 putdgrp 命令将该设备从相应设备组中去除掉 # getdgrp alias = disk2 disk # putdgrp -d disk disk2 这样就完成了去除存储设备的工作 四、 设备描述信息管理 1、 增加设备表项 putdev –a alias [attribute=value[…]] alias是要加入到数据库中的设备别名,attribute=value 是一个与设备有关的属性值表 例 # putdev –a diskette3 desc = “floppy Diskette Drive 3” type=diskette 2、 显示设备列表 # getdev ctape1 disk1 disk2 diskette1 diskette3 spool 3、 设备属性管理 (1) 显示设备属性 devattr –v device [attribute[…]] 其中device是要显示其属性的设备名或设备别名,attribute是将要显示的属性 下面是一个使用 devattr 命令的实例 #devattr –v diskette1 alias = ‘diskette1’ bdevice=’/dev/dsk/f0t’ capacity=’2307’ cdevice=’/dev/rdsk/f0t’ copy=’true’ desc=’Floppy Drive1’ erasecmd=’/usr/sadm/sysadm/bin/floperase /dev/dsk/f0t’ fmtcmd=’/usr/sbin/format –v /dev/rdsk/f-q15dt’ mdensdefault=’mdens 1 HIGH’ mdenslist=’mdens 1 HIGH,modens 1 MED,mdens1 low’ mkfscmd=’/sbin/mkfs –F s5 /dev/dsk/ft0 2370:592 230’ mountpt=’install’ removable=’true’ type=’diskette’ volume=’diskette’ (2)修改设备属性 putdev –m device attribute=value[attribute=value[…]] #putdev –m diskette1 mountpt=’/mnt’ (3)删除设备属性 putdev –d device attribute #putdev –d diskette1 volume (4)删除设备表项 putdev –d device #putdev –d diskette1 设备diskette1就从设备数据库中删除了 五、 设备组的管理 通过建立设备组,可以在多台设备间选择其中之一来完成有关的工作 设备组数据库存放在 /etc/dgroup.tab 中,每个设备组都在其中有一个表项,表项的内容是有关设备组的关系表 1、 增加设备表项 putdgrp group-name alias[alias[…]] 其中group-name是所要增加的设备组的名字,alias是该组成员的名字 # putdgrp disk disk1 disk2 通过上述命令,建立了一个名为disk的设备组,其成员为disk1和disk2 2、 显示设备组列表 # getdgrp ctape disk diskette 3、 删除设备组表项 putdgrp –d group-name # putdgrp –d disk 通过上述命令,删除了名字为 disk 的设备组
| |