歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

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

  

在對操作系統進行管理時,有時候當前系統本身就是操作對象。這種在運行系統中管理自己的行為是一種動態操作,似有擺脫不了操作對象干系之嫌,於是乎,人們要求一個獨立的系統環境。

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 使用新制作的克隆盤引導系統。

Copyright © Linux教程網 All Rights Reserved