歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> 淺析UNIX系統中Shell的一種應用(2)

淺析UNIX系統中Shell的一種應用(2)

日期:2017/2/25 10:13:08   编辑:SHELL編程
  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窗口#


># 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")。

下面我們討論一下用UNIX Shell做災前備份的問題。這裡最主要的一點就是要知道如何將系統盤的各個文件集裱附(mount)到一個臨時的裱附點上;至於其它操作,那都是常規工作,不必詳述。

Digital UNIX V4.0E與Tru64 UNI!

X V5.1的情況相似,主要差別在創建設備特殊文件的命令不同,設備特殊文件名亦不同,為節省篇幅起見,下面只列出V5.1的例子。

>>>set bootdef_dev “”

>>>boot dka400

歡迎安裝文件Shell窗口#

# hwmgr -view device

# /sbin/dn_setup -install_tape

# cd /etc/fdmns

# mkdir root_domain0 usr_domain0

# cd root_domain0

# ln -s /dev/disk/dsk2a

# cd ../usr_domain0

# ln -s /dev/disk/dsk2g

# mount -t advfs root_domain0#root /mnt

# vdump -0vf /dev/ntape/tape0_d1 /mnt

# umount /mnt

# mount -t advfs usr_domain0#usr /mnt

# vdump -0vf /dev/ntape/tape0_d1 /mnt

# umount /mnt

# mount -t advfs usr_domain0#var /mnt

# vdump -0vf /dev/ntape/tape0_d1 /mnt

# umount /mnt

4 結束語

由於UNIX Shell 是獨立系統,操作對象處於靜止狀態,克隆、仿制皆與操作對象沒有干系,因此,操作簡潔方便,可靠。

我們在前面只討論AdvFS系統盤的實例,是因為它比較特別;其實,UNIX Shell對AdvFS和ufs都一樣適用,ufs系統盤的克隆、仿制等工作都可以在UNIX Shell下完成,感興趣的讀者不妨一試。

UNIX Shell是為系統管理員提供的一種工具,在有了一定UNIX系統管理經驗之後就可以應用;但是應該特別強調,在克隆、仿制等操作中必須頭腦清醒、小心謹慎,否則,會造成災難性後果.
Copyright © Linux教程網 All Rights Reserved