我们今天来学习下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的仿制功能的介绍。
【编辑推荐】