浅析UNIX系统中Shell的一种应用(1)


在对操作系统进行管理时,有时候当前系统本身就是操作对象。这种在运行系统中管理自己的行为是一种动态操作,似有摆脱不了操作对象干系之嫌,于是乎,人们要求一个独立的系统环境。
UNIX Shell的情况与上述相反。对于Tu64 UNIX而言,以发行介质光碟引导出的安装环境,可以提供UNIX Shell或Shell 窗口)、Installation Shell。它是一个独立的UNIX系统环境,能在安装环境中很好的完成有关系统盘的管理任务,以及普通系统所能做的大部分工作。使用UNIX Shell时,操作对象处于静止状态,因此,这种操作是一种与被管理对象操作系统)无关的独立系统操作。
笔者认为UNIX Shell是为系统安装管理而设,又有天生的独立性,用它来做系统盘的克隆、仿制及系统的全备份非常合适。为了增强直观性,避免冗长的文字叙述,我们下面列举真实AdvFS例子来讨论一下UNIX Shell的这种新应用。至于ufs, UNIX Shell的这些应用同样适用,而且其操作比AdvFS更简单容易。如果读者对ufs系统盘的克隆、仿制及系统的全备份感兴趣的话,无论你熟悉不熟悉AdvFS,阅读本文都能从中悟出所需原理。
1. 克隆Clone)

必须准备一个与原系统盘型号完全相同的磁盘。
1.1 Digital UNIX V4.0E的实例
假定,原系统盘的控制台方式设备名为dkb100:,新盘为dkb200:,发行介质光碟为dka400:。
制作克隆盘有两种方式,一为制作备份式系统盘,另一为制作并存式系统盘。
1.1.1 制作备份式系统盘
首先谈谈备份式系统盘的制作,其过程与在普通环境下的制作相似,很简单:准备一个型号规格与原先的系统盘完全一样的磁盘,再执行带适当选项的dd命令,就完成了。>>>boot dka400 从发行介质光碟引导系统,
点击“UNIX Shell”,出现shell窗口。
# file /dev/rrz*c 假定,原系统盘为rz9,新盘为rz10
# disklabel -z
# dd if=/dev/rrz9c of=/dev/rrz10c conv=noerror,sync bs=100k
命令执行完毕之后,取下新系统盘备用。当原系统盘出现故障时,取下故障盘,插入备用盘即可。以上是制作备份式系统盘的过程。
1.1.2!
制作并存式系统盘
# vi /etc/fstab
将/dev/rz9b改为/dev/rz10b
# cd fdmns/root_domain
# ls -l
# rm rz9a
# ln -s /dev/rz10a
# cd ..
# cd usr_domain
# ls -l
# rm rz9g
# ln -s /dev/rz10g
# cd /sbin
# rm swapdefault
# ln -s /dev/rz10b swapdefault
# shutdown -h now ·
·
·
>>>boot dkb200 将克隆盘重新置回克隆时的位置,从克隆盘引导系统,以此证实新盘可用。
1. 2 Tru64 UNIX V5.1的实例
在V5.1下磁盘一旦被操作系统识别认可,其设备名就是唯一的而且不可改变的这里顺便说一句,V5.1系统安装之后,系统盘的SCSI-ID是可以随意改变的,不影响其引导),所以V5.1的AdvFS系统盘克隆只能做到并存方式。
>>>show dev 假定,原系统盘的控制台方式设备名为dkb100:,而新盘为dkb200:,发行介质光碟为dka400:,
>>!
>boot dkb400 用光碟引导系统,
欢迎安装主机信息)文件Shell 窗口#
#file /dev/rdisk/dsk*c 假定,原系统盘的设备名为dsk0,新盘的为dsk1,
# disklabel -z dsk1
# dd if=/dev/rdisk/dsk0c of=/dev/rdisk/dsk1c conv=noerror,sync bs=100k
# cd /etc/fdmns
# mkdir root_domain usr_domain
# cd root_domain
# ls -l
# ln -s /dev/disk/dsk1a
# cd ../usr_domain
# ln -s /dev/disk/dsk1g
# cd
# mount -t advfs root_domain#root /mnt
# cd /mnt/etc/fdmns/root_domain
# ls -l (应该显示dsk0a/dev/disk/dsk0a)
# rm dsk0a
# ln -s /dev/disk/dsk1a
# cd ../usr_domain
# ls -l
# rm dsk0g
# ln -s /dev/disk/dsk1g
# cd ../..
# vi sysconfigtab 将其中swapdevice=/dev/disk/dsk0b改为swapdevice=/dev/disk/dsk1b
# umount /mnt
# exit
主机信息文件退出#
# halt
>>>boot dkb200 使用新制作的克隆盘引导系统。


相关内容