分享
 
 
 

浅析UNIX系统中Shell的一种新应用

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在对操作系统进行管理时,有时候当前系统本身就是操作对象。这种在运行系统中管理自己的行为是一种动态操作,似有摆脱不了操作对象干系之嫌,于是乎,人们要求一个独立的系统环境。

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 使用新制作的克隆盘引导系统。

2. 仿制(duplicate)

首先要准备一个磁盘,其容量要等于或大于原系统盘。仿制系统盘,主要做如下几件事:

(1) 按照原先系统盘的大小配置一个新盘;

(2) 为新系统创建域和文件集;

(3) 为原系统创建目录并在该目录中建立符号链接;

(4) 利用命令vdum,vrestore和管道完成文件集的复制;

(5) 修改仿制系统中的符号链;

(6) 修改仿制系统中的fstab文件,并更改对换区(swap)的指向

2.1 Digital UNIX V4.0E的实例

show device

boot dka500

"Installation Setup"?"Install Type"中"Custom"?“Partition Disks...”

按照原系统盘的各个分区大小配置新盘,配置新盘时应将多余磁盘空间配置成一个或多个分区留作他用(操作务必小心谨慎,万万不可对原系统盘进行配置操作!!)?"UNIX Shell..."

# mkfdmn /dev/rz12a root_domain1

# mkfdmn /dev/rz12g usr_domain1

# mkfset root_domain1 root

# mkfset usr_domain1 usr

# cd /etc/fdmns

# ls

# mkdir root_domain0 usr_domain0

# cd root_domain0

# ln -s /dev/rz10a

# !

cd ../usr_domain0

# ln -s /dev/rz10g

# mount -t advfs usr_domain0#usr /home

# mount -t advfs usr_domain1#usr /mnt

# vdump -0vf - /home │ vrestore -xf - -D /mnt

# umount /home /mnt

# mount -t advfs root_domain0#root /home

# mount -t advfs root_domain1#root /mnt

# vdump -0vf - /home │ vrestore -xf - -D /mnt

# umount /home

# cd /mnt/etc

# ed fstab 将文件中的rz10b改为rz12b

# cd /mnt/etc/fdmns

# cd root_domain

# rm rz0a

# ln -s /dev/rz12a

# cd ../usr_domain

# rm rz10g

# ln -s /dev/rz12g

# cd /mnt/sbin

# rm swapdefault

# ln -s /dev/rz12b swapdefault

# umount /mnt

# exit ? ? ?

boot dkb400 从仿制盘引导系统。

顺便提一下,剩余磁盘分区rz12h,可以按需要做成AdvFS或UFS。

2.2 Tru64 UNIX V5.1的实例

show device 原系统盘dkb200: RZ1CF-CF;新盘dkb400: RZ2ED-LS。

boot dka400 ?

晒獾??枷低畅龌队?沧癌鑫募?鲇hell窗口?#

<br!

# file

/dev/disk/dsk*c

显示原系统盘RZ1CF-CF的设备名为dsk0,新盘RZ2ED-LS的设备名为dsk1

# diskconfig

按照原先系统盘各个分区的大小来配置新盘,多余的磁盘空间分配给一分区留作他用。 # mkfdmn /dev/disk/dsk1a root_domain1

# mkfdmn /dev/disk/dsk1g usr_domain1

# mkfset root_domain1 root

# mkfset usr_domain1 usr

# mkfset usr_domai1 var

# cd /etc/fdmns

# mkdir root_domain0 usr_domain0

# cd root_domain0

# ln -s /dev/disk/dsk0a

# cd ../usr_domain0

# ln -s /dev/disk/dsk0g

# mount -t advfs usr_domain0#usr /home

# mount -t advfs usr_domain1#usr /mnt

# vdump -0vf - /home │ vrestore -xf - -D /mnt

# umount /home /mnt

# mount -t advfs usr_domain0#var /home

# mount -t advfs usr_domain1#var /mnt

# vdump -0vf - /home │ vrestore -xf - -D /mnt

# umount /home /mnt

# mount -t advfs root_domain0#root /home

# mount -t advfs root_domain1#root /mnt

# v!

dump -0vf - /home │ vrestore -xf - -D /mnt

# umount /home

# cd /mnt/etc/fdmns

# ls

# cd root_domain

# ls -l

# rm dsk0a

# ln -s /dev/disk/dsk1a

# cd ../usr_domain

# ls

# rm dsk0g

# ln -s /dev/disk/dsk1g

# cd ../..

# vi sysconfigtab

将swapdevice=/dev/disk/dsk0b 改为 swapdevice=/dev/disk/dsk1b

# cd

# umount /mnt

# exit ?“文件”?“退出”?#?#

# halt ? ? ?

boot dkb400

3. 全备份(full backup)

众所周知,V4.0E和V5.1,它们的复原工作都是在UNIX Shell下完成的,但灾前备份的全备份却是在普通系统的单用户方式下做的。详情请参阅有关资料(如,“Installation Guide-Advanced Topics”的第三章“The UNIX Shell")。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有