我們今天來學習下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的仿制功能的介紹。