我们今天来学习下Unix Shell中的仿制的功能。在对操作系统进行管理时,有时候当前系统本身就是操作对象。这种在运行系统中管理自己的行为是一种动态操作,似有摆脱不了操作对象干系之嫌,于是乎,人们要求一个独立的系统环境。
Unix Shell的情况与上述相反。对于Tu64 Unix而言,以发行介质光碟引导出的安装环境,可以提供Unix Shell(或Shell 窗口)、Installation Shell。它是一个独立的Unix系统环境,能在安装环境中很好的完成有关系统盘的管理任务,以及普通系统所能做的大部分工作。使用Unix Shell时,操作对象处于静止状态,因此,这种操作是一种与被管理对象(操作系统)无关的独立系统操作。
仿制(duplicate)
首先要准备一个磁盘,其容量要等于或大于原系统盘。仿制系统盘,主要做如下几件事:
(1) 按照原先系统盘的大小配置一个新盘;
(2) 为新系统创建域和文件集;
(3) 为原系统创建目录并在该目录中建立符号链接;
(4) 利用命令vdum,vrestore和管道完成文件集的复制;
(5) 修改仿制系统中的符号链;
(6) 修改仿制系统中的fstab文件,并更改对换区(swap)的指向
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。这是Unix Shell的仿制功能的介绍。