- 論壇徽章:
- 0
|
第15章 文件系統(tǒng)的管理
系統(tǒng)管理員的一個(gè)重要任務(wù)就是創(chuàng)建和維護(hù)文件系統(tǒng)。其中文件系統(tǒng)的維護(hù)包括保持
文件系統(tǒng)的干凈、修復(fù)損毀的文件系統(tǒng)并確保有足夠的空間供所有用戶使用。具體的說,文件系統(tǒng)的管理應(yīng)包括:
l 在基本硬盤上創(chuàng)建文件系統(tǒng)(在安裝系統(tǒng)的過程中)——參見“安裝和升級(jí)的過程”
l 系統(tǒng)安裝后在基本硬盤和輔助硬盤上增加文件系統(tǒng)——參見“使用 fdisk給磁盤分區(qū)”和“使用 divvy把磁盤分區(qū)劃分成區(qū)域”
l 安裝和拆卸文件系統(tǒng)
l 檢查和修復(fù)文件系統(tǒng)
l 維護(hù)文件系統(tǒng)的空閑空間
l 維護(hù)文件系統(tǒng)的有效性
參見:
Ø 關(guān)于文件系統(tǒng)
Ø filesystem Manager(文件系統(tǒng)管理程序)界面
Ø 增加和刪除安裝配置
Ø 在軟盤上創(chuàng)建文件系統(tǒng)
Ø 給不同類型的文件系統(tǒng)增加支持
15.1 Filesystem Manager(文件系統(tǒng)管理程序)界面
你可以使用文件系統(tǒng)管理程序(Filesystem Manager)來管理文件系統(tǒng)。用以下方法來
啟動(dòng)文件系統(tǒng)管理程序:
l 雙擊桌面系統(tǒng)上系統(tǒng)管理員( System Administration)窗口中的文件系統(tǒng)(filesystem)目錄下的“Filesystem Maxxager(文件系統(tǒng)管理程序)”的圖標(biāo)。
l 在命令行鍵入 scoadmin來啟動(dòng) SCOadmin管理程序,然后選擇“Filesystem(文件系
統(tǒng))”,再選擇 Filesystem Manager(文件系統(tǒng)管理程序)。
l 在命令行鍵人 scoadmin fileesystem manager或其縮寫 scoadmmin fi。
15.2 關(guān)于文件系統(tǒng)
文件系統(tǒng)是操作系統(tǒng)中的一個(gè)獨(dú)立的邏輯分區(qū),它包含文件、目錄以及定位和訪問它們所必須的信息。
文件系統(tǒng)可以創(chuàng)建在本地硬盤、CD—ROM和軟盤上。你還可以把遠(yuǎn)程的文件系統(tǒng)安裝到本地系統(tǒng)上,也可以把本地的文件系統(tǒng)共享給其它系統(tǒng)安裝。請(qǐng)參見“文件系統(tǒng)的轉(zhuǎn)出與禁止轉(zhuǎn)出”和“NFS文件系統(tǒng)的安裝和卸下”。
每個(gè) UNIX系統(tǒng)在基本硬盤上至少有兩個(gè)文件系統(tǒng)。主文件系統(tǒng)就是通常所說的 root
文件系統(tǒng)(也常用“/”表示),root文件系統(tǒng)包含了操作系統(tǒng)所不可缺少的程序和目錄。在小硬盤上,root文件系統(tǒng)通常也包含了所有用戶目錄。第二個(gè)文件系統(tǒng)是/stand,包含了引導(dǎo)系統(tǒng)所必須的信息:boot程序和核心/stand/unix.
基本硬盤可以包含不止這兩個(gè)文件系統(tǒng)。有關(guān)系統(tǒng)安裝時(shí)硬盤分區(qū)的詳細(xì)信息請(qǐng)參見
“安裝和升級(jí)的過程”一節(jié)。把基本硬盤分為多個(gè)文件系統(tǒng)既可以保護(hù)數(shù)據(jù)也便于維護(hù)。最常見的邏輯分區(qū)是/u或/home文件系統(tǒng),常用于用戶賬號(hào)。把用戶賬號(hào)和 root文件系統(tǒng)分開,使得系統(tǒng)備份更加輕松容易。因?yàn)橄到y(tǒng)數(shù)據(jù)很少改變,而用戶數(shù)據(jù)的變化卻快得多,因此你往往只需多做/u或/home文件系統(tǒng)的備份而可以少做文件系統(tǒng)/(即 root)的備份。
系統(tǒng)管理員先在硬盤上創(chuàng)建文件系統(tǒng),然后再按需要選擇是安裝還是卸下——連接或
分離——文件系統(tǒng),就像訪問軟盤一樣。
15.2.1文件系統(tǒng)類型
在filesystem manager(文件系統(tǒng)管理程序)上,從 View菜單中選擇filesystem type(文件系統(tǒng)類型)就會(huì)列出所有文件系統(tǒng)的類型。
系統(tǒng)所支持的文件系統(tǒng)類型
類型
文件系統(tǒng)名
HTFS
High Throughput 文件系統(tǒng)(默認(rèn)值)
EAFS
Extended Acer Fast 文件系統(tǒng)
AFS
Acer Fast 文件系統(tǒng)
S51K
AT&T UNIX System V 1KB 文件系統(tǒng)
DTFS
Compression 文件系統(tǒng)
XENIX
XENIX文件系統(tǒng)
DOS
DOS文件系統(tǒng)
NFS
Network 文件系統(tǒng)
此外,SCO系統(tǒng)還支持 LMCFS(LAN Manager客戶文件系統(tǒng)),只是 filesystem Manager不能管理這些文件系統(tǒng)。
參見:
l fstyp(ADM)手冊(cè)頁
l mkdev(ADM)手冊(cè)頁
l mkfs(ADM)手冊(cè)頁
15.2.2 增加對(duì)不同類型文件系統(tǒng)的支持
在默認(rèn)情況下,有些文件系統(tǒng)設(shè)備驅(qū)動(dòng)程序是否配置到核心中完全取決于你所擁有的
SCO系統(tǒng)的種類。若一個(gè)文件系統(tǒng)的驅(qū)動(dòng)程序還沒有配置到核心中,系統(tǒng)就不能識(shí)別該文
件系統(tǒng),但你可以用 Hardware/Kernel Manager(硬件/核心管理程序)將其驅(qū)動(dòng)程序加進(jìn)核心(Hardware/Kernel Manager(硬件/核心管理程序)執(zhí)行/usr/lib/mkdev下的 mkdev
(ADM)腳本程序)。
其中 ht驅(qū)動(dòng)程序能提供對(duì) HTFS(默認(rèn)的系統(tǒng)類型),EAFS,AFS以及 S51K等文件系統(tǒng)類型的支持,它在默認(rèn)情況下總是配置在核心中。
任何情況下,你若想增加對(duì)某個(gè)文件系統(tǒng)類型的支持,都可以用 Hardware/Kernel
Manager(硬件/核心管理程序)將其驅(qū)動(dòng)程序配置到核心中。
在系統(tǒng)配置中增加驅(qū)動(dòng)程序后,系統(tǒng)會(huì)重新創(chuàng)建和重新鏈接新核心,當(dāng)系統(tǒng)重新引導(dǎo)后新的驅(qū)動(dòng)程序就會(huì)起作用。
15.3 增加和刪除安裝配置
當(dāng)一個(gè)文件系統(tǒng)創(chuàng)建后(在硬盤、軟盤或 CD—ROM上)或從遠(yuǎn)程服務(wù)器上轉(zhuǎn)出后,你必須先將安裝信息加到系統(tǒng)中,然后才能安裝并使用該文件系統(tǒng)。
若要增加文件系統(tǒng)安裝信息,請(qǐng)?jiān)?Filesystem Manager(文件系統(tǒng)管理程序)上進(jìn)行下
列步驟:
(l)從 Mount(安裝)菜單中選擇 Add Mount Configuration(增加安裝配置)選項(xiàng),然后
選擇 Loca1(本地)或 Remote(遠(yuǎn)程)。
(2)選擇適當(dāng)?shù)奈募到y(tǒng):
LotaI在本地系統(tǒng)彈出的列表中選擇合適的文件系統(tǒng)設(shè)備文件。若列表中沒有,
請(qǐng)?jiān)凇癉evice File(設(shè)備文件)”宇段輸入正確的設(shè)備。
Remote先選擇遠(yuǎn)程文件系統(tǒng)的類型,再在本地系統(tǒng)識(shí)別的宿主機(jī)列表中選擇一
服務(wù)器,然后再選擇目錄或卷。
(3)設(shè)置文件系統(tǒng)參數(shù)。
這樣就能把文件系統(tǒng)安裝配置信息增加到文件/etc/default/filesys中,并把該文件系統(tǒng)加進(jìn) Filesystem Manager的列表中。
在文件系統(tǒng)列表的左側(cè)若有 Mount圖標(biāo)就表明該文件系統(tǒng)已安裝。若你選擇一個(gè)末安
裝的文件系統(tǒng),并單擊“Now”按鍵,就會(huì)立即安裝該文件系統(tǒng),并在其左側(cè)標(biāo)上 Mount圖標(biāo)。
若要?jiǎng)h除一個(gè)文件系統(tǒng)的安裝配置,從 Mount(安裝)菜單中選擇 Remove Mount Con—
figuration(刪除安裝配置)選項(xiàng),并在隨后的提示中選擇 Yes.
這樣就會(huì)從文件/etc/default/filesys中刪除該文件系統(tǒng)安裝配置信息,而且這個(gè)文件系統(tǒng)不會(huì)出現(xiàn)在文件系統(tǒng)管理程序的列表中。若一個(gè)文件系統(tǒng)已安裝,那么刪除安裝配置也將卸下該文件系統(tǒng)。
15.4修改文件系統(tǒng)安裝配置
在 Fi1esystem Manager(文件系統(tǒng)管理程序)上,先從列表中選擇一個(gè)文件系統(tǒng),再?gòu)?br />
Mount菜單中選擇 Modify Mount Configuration(修改安裝配置)選項(xiàng),然后就可修改文件系統(tǒng)的參數(shù):
Mount Point 設(shè)置安裝文件系統(tǒng)的目錄。例如,u文件系統(tǒng)一般安裝在/u目錄下。
(安裝點(diǎn))
Description 設(shè)置文件系統(tǒng)的說明(任選項(xiàng))。例如, root文件系統(tǒng)的默認(rèn)描述是:
(描述) “The root fileSystem”。
filesystem Typs 設(shè)置文件系統(tǒng)的類型。請(qǐng)注意,文件系統(tǒng)類型是在文件系統(tǒng)創(chuàng)建時(shí)
(文件系統(tǒng)類型) 設(shè)定的,并且不能更改!
Access mode Read—only(只讀模式)
(訪問模式) 若以只讀模式安裝文件系統(tǒng),那么該文件系統(tǒng)上的文件數(shù)據(jù)將不能
作任何更改。一般情況下,像 CD—ROM文件系統(tǒng)以及有寫保護(hù)的
軟盤上的文件系統(tǒng)應(yīng)以只讀方式安裝以防出錯(cuò)。
Read—write(讀寫模式)
在以讀寫模式安裝的文件系統(tǒng)上,可以作創(chuàng)建、修改、刪除文件等
寫操作。
注意:
當(dāng)安裝遠(yuǎn)程文件系統(tǒng)時(shí),該系統(tǒng)的讀寫許可可能早已由 NFS服限定。
Can Users Mount 若將該項(xiàng)置為“Yes”,則普通用戶都可以安裝和卸下該文件系
(普通用戶可以安 統(tǒng),否則將只有 root才可以這樣。
裝嗎)
When to Mount Now(立即)
(何時(shí)安裝) 即立即安裝文件系統(tǒng),直到你自己卸下該文件系統(tǒng)或重新啟動(dòng)
機(jī)器。
At System Startup(在系統(tǒng)啟動(dòng)時(shí))
不即刻安裝文件系統(tǒng),而是在下次系統(tǒng)引導(dǎo)時(shí)自動(dòng)安裝該文件系統(tǒng)。
Check and 改變文件系統(tǒng)的檢查安裝選項(xiàng)。
Repair options 這些選項(xiàng)對(duì) CD—ROM文件系統(tǒng)(High Sierra,ISO9660,Rockridge)、
(檢查和修復(fù)選項(xiàng)) NFS安裝的文件系統(tǒng)以及 DOS等文件系統(tǒng)是無效的。你不可能使用
文件系統(tǒng)管理程序或 fst趴ADM)來檢查和修復(fù)這些文件系統(tǒng)。
Advanced Options改變文件系統(tǒng)指定的高級(jí)選項(xiàng)。哪些高級(jí)選項(xiàng)有效取決于你要修改
(高級(jí)選項(xiàng)) 的文件系統(tǒng)的類型(這些選項(xiàng)對(duì) XENIX系統(tǒng)均無效)。
參見:
Ø 文件系統(tǒng)安裝選項(xiàng)(HTFS,EAFS,AFS,S51K)
Ø 文件系統(tǒng)安裝選項(xiàng)(DTFS)
Ø 文件系統(tǒng)安裝選項(xiàng)(DOS)
參見:
filesys(F)手冊(cè)頁
15.4.1修改HTFS, EAFS, AFS和S51K等類型的根文件系統(tǒng)安裝配置
你不能通過文件系統(tǒng)管理程序來修改 HTFS,EAFS,AFS或 S51K等類型的 root文件系統(tǒng)的安裝配置。修改 root文件系統(tǒng)的安裝選項(xiàng),需要重新鏈接核心。
要修改這些文件系統(tǒng)的配置,請(qǐng)按如下步驟:
(l)在你想修改安裝配置的 root文件系統(tǒng)中,以 root注冊(cè)。
(2)運(yùn)行 Hardware/Kernel Manager(硬件/核心管理程序),選擇選項(xiàng)10, Filesystem
Configuration(文件系統(tǒng)配置)。
O要啟用日志例程,請(qǐng)將 ROOTLOG設(shè)為 l (默認(rèn)值)。
O要禁用日志例程,請(qǐng)將 ROOTLOG設(shè)為0。
O要啟用檢測(cè)點(diǎn),請(qǐng)將 ROOTCHKPT設(shè)為 l(默認(rèn)值)
O要禁用檢測(cè)點(diǎn),請(qǐng)將 ROOTCHKPT設(shè)為0。
O要啟用復(fù)原功能并設(shè)置被復(fù)原文件的最大數(shù)(n),請(qǐng)將 ROOTMAXVDEPTH設(shè)
為一非零值。
O要禁用復(fù)原功能,請(qǐng)將 ROOTMAXOEPTH設(shè)為0(默認(rèn)值)。
O要設(shè)置一個(gè)文件被復(fù)原前的秒數(shù)(n),請(qǐng)將 ROOTMINVTIME設(shè)為n(一非零
值)。 ROOTMINVTIME的默認(rèn)值是0。
(3)用新的 root文件系統(tǒng)參數(shù)重新鏈接核心。
(4)鍵入 reboot重新引導(dǎo)系統(tǒng)。
這樣,你給 HTFS, EAFS, AFS或 S51K等 root文件系統(tǒng)重新設(shè)定的安裝配置就會(huì)生效.
參見,
O 文件系統(tǒng)安裝選項(xiàng)(HTFS,EAFS,AFS,S51K)
15.4.2修改 DTFS類型的根文件系統(tǒng)安裝配置
你不能通過文件系統(tǒng)管理程序來修改 DTFS類型的root文件系統(tǒng)的安裝配置。要修改這些文件系統(tǒng)的配置,請(qǐng)按如下步驟:
(1)在你想修改安裝配置的 root文件系統(tǒng)中,以root注冊(cè)。
(2)運(yùn)行 Hardware/Kernel Manager(硬件/核心管理程序),選擇選項(xiàng)10“Filesystem
Configuration(文件系統(tǒng)配置)”。
O要啟用關(guān)閉時(shí)同步,請(qǐng)將 ROOTSYNC設(shè)為 l。
O要禁用關(guān)閉時(shí)同步,請(qǐng)將 ROOTSYNC設(shè)為0(默認(rèn)值)。
O要啟用數(shù)據(jù)壓縮,請(qǐng)將 ROOTNOCOMP設(shè)為0(默認(rèn)值)
O要禁用數(shù)據(jù)壓縮,請(qǐng)將 ROOTNOCOMP設(shè)為 l。
O要啟用復(fù)原功能并設(shè)置被復(fù)原文件的最大數(shù)(n),請(qǐng)將 ROOTMAXVDEPTH設(shè)
為一非零值。
O要禁用復(fù)原功能,請(qǐng)將 ROOTMAXOEPTH設(shè)為0(默認(rèn)值)。
O要設(shè)置一個(gè)文件復(fù)原前的秒數(shù)(10),請(qǐng)將 BOOTMINVTIME設(shè)為 n(一非零值)。
ROOTMINVTIME的默認(rèn)值是0。
(3)用新的 root文件系統(tǒng)參數(shù)重新鏈接核心。
(4)鍵入 reboot重新引導(dǎo)系統(tǒng)。
這樣,你給 DTFS的 root文件系統(tǒng)重新設(shè)定的安裝配置就會(huì)生效。
參見:
O 文件系統(tǒng)安裝選項(xiàng)(DTFS)
15.4.3 授權(quán)用戶安裝文件系統(tǒng)
在 Fi1esystedh Manager(文件系統(tǒng)管理程序)上,從 Mount(安裝)菜單中選擇 Add
Mount Configuration(增加安裝配置)或 Modify Mount Configuration(修改安裝配置),然
后將“Can Users Mount(普通用戶可以安裝嗎)”項(xiàng)置為 Yes。
在正常環(huán)境下,只有 root或者以 root執(zhí)行的程序或者具有 sysadmin和 backup(或
queryspace)權(quán)限的用戶才能使用 Filesystem Manager(文件系統(tǒng)管理程序)或 mount
(ADM)和 umount(ADM)命令來安裝和卸下文件系統(tǒng)。此外,在給一個(gè)文件系統(tǒng)選擇安裝
選項(xiàng)時(shí),可以讓普通用戶使用 mnt(C)和 umnt(C)來安裝或卸下該文件系統(tǒng)。 mnt命令允許普通用戶(而不僅僅只有 root)使用 mount的功能。
例如,若你允許普通用戶安裝/usr文件系統(tǒng),用戶就可鍵入如下命令進(jìn)行安裝:
mnt /usr
而要卸下該文件系統(tǒng),則需鍵入
umnt /usr
在使用安裝的文件系統(tǒng)時(shí),請(qǐng)注意以下事項(xiàng):
O當(dāng)文件系統(tǒng)不正常時(shí),請(qǐng)先卸下它然后再重新安裝。
O當(dāng)你當(dāng)前的工作目錄是在某一個(gè)文件系統(tǒng)中時(shí),你就不能對(duì)該文件系統(tǒng)進(jìn)行 mnt以
及 umnt操作。例如,你想拆卸/usr文件系統(tǒng),而你的當(dāng)前工作目錄卻是/usr/mark,
這時(shí)你就會(huì)看到如下出錯(cuò)消息:
umount:filesystem busy:Device busy
因此,若你要卸下某文件系統(tǒng),你必須將工作目錄移到該文件系統(tǒng)以外的地方,然后
再使用 umnt命令。
O你可以使用 mnt命令顯示已安裝的文件系統(tǒng)列表。 mnt —t將列出所有本系統(tǒng)能識(shí)別
的文件系統(tǒng),包括本地的和遠(yuǎn)程的(實(shí)際上就是列出文件/etc/default/filesys‘的內(nèi)
容)。請(qǐng)注意,若"Can Users Mount(普通用戶可以安裝嗎)”項(xiàng)置為 NO,則普通用戶
將不能安裝文件系統(tǒng)。
15.4.4 文件系統(tǒng)安裝選項(xiàng)(HTFS, EAFS, AFS, S51K)
對(duì) HTFS,EAFS,AFS以及 S51K等類型的非 root文件系統(tǒng),文件系統(tǒng)管理程序支持下面安裝選項(xiàng)。有關(guān)這些類型的 root文件系統(tǒng)的安裝選項(xiàng),請(qǐng)參見“修改 HTFS,
EAFS,AFS和 S51K等類型的根文件系統(tǒng)安裝配置”。
Mount as Temporary Filesystem
將文件系統(tǒng)安裝成一個(gè)臨時(shí)的數(shù)據(jù)區(qū)(如,/tmp)。這樣該文件系統(tǒng)就不會(huì)頻繁地更
新系統(tǒng)信息,從而提高系統(tǒng)的執(zhí)行性能(但丟失數(shù)據(jù)的可能性增大了)。
Checkpointing
在正常的間隙,保持文件系統(tǒng)的干凈(一致性)狀態(tài)。這能防止系統(tǒng)異常掛起時(shí)對(duì)文
件系統(tǒng)的損毀,減少文件系統(tǒng)必須清理的次數(shù)。
Logging
執(zhí)行“強(qiáng)制日志”,在事務(wù)存儲(chǔ)到磁盤前將其記錄到日志文件。這樣能減少檢查和修
復(fù)文件系統(tǒng)的時(shí)間(該時(shí)間與文件系統(tǒng)的大小無關(guān)),增加數(shù)據(jù)的有效性。
以下的選項(xiàng)只對(duì) HTFS類型的文件系統(tǒng)有效:
MaXimum number or file versions
決定文件系統(tǒng)中所允許的可復(fù)原的文件數(shù)的最大值。若將該值設(shè)為0,將禁止可復(fù)原功能。
Minimum time before a fi1e is versioned
設(shè)置文件在復(fù)原前所存在的最少時(shí)間(以秒為單位)。若設(shè)為0,則一個(gè)文件總是復(fù)原的.若其值大于0,那么一個(gè)文件存在的時(shí)間超過該值后就可被復(fù)原.
15.4.4.1 安裝臨時(shí)文件系統(tǒng)
為提高執(zhí)行性能,你的臨時(shí)文件系統(tǒng)(如,/tmp,/u/tmp或/usr/tmp等)可設(shè)置為
EAFS,AFS,S51K或 HTFS文件系統(tǒng)類型。若你有臨時(shí)文件系統(tǒng)要安裝,你可以選擇該項(xiàng),系統(tǒng)在引導(dǎo)時(shí)會(huì)自動(dòng)將其安裝上。
臨時(shí)文件系統(tǒng)的更新不太頻繁,我們建議只包含臨時(shí)數(shù)據(jù)的文件系統(tǒng)采用此種方式安
裝。若/tmp系統(tǒng)采用了這個(gè)選項(xiàng),整個(gè)系統(tǒng)的執(zhí)行性能都將會(huì)提高。
注意:有些應(yīng)用程序會(huì)在八郵下存儲(chǔ)數(shù)據(jù)。若設(shè)置該項(xiàng),則“checkpointing(檢
查點(diǎn))”的特征將自動(dòng)被禁止。
15.4.4.2文件系統(tǒng)的檢查點(diǎn)
檢查點(diǎn)進(jìn)程是一個(gè)保持文件系統(tǒng)干凈(一致性)狀態(tài)的進(jìn)程。文件系統(tǒng)的數(shù)據(jù)實(shí)際上是
由用戶文件數(shù)據(jù)(即文件的內(nèi)容)和用于存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)(常稱為“元數(shù)據(jù)”)組成的。最
近訪問的數(shù)據(jù)還會(huì)在內(nèi)存(“緩存”)中保存一段時(shí)間,以備再次使用。若系統(tǒng)異常終止,緩存中的數(shù)據(jù)就會(huì)丟失。
在默認(rèn)情況下,檢查點(diǎn)進(jìn)程會(huì)周期性地把 HTFS,EAFS,AFS和 S51K文件系統(tǒng)中緩沖區(qū)的元數(shù)據(jù)寫回磁盤中。這樣就增大了文件系統(tǒng)元數(shù)據(jù)在系統(tǒng)異常掛起時(shí)保持一致性狀態(tài)的機(jī)會(huì)(但對(duì)那些還沒被檢查點(diǎn)進(jìn)程寫回的用戶數(shù)據(jù)還是會(huì)有少量丟失的)。
若你的系統(tǒng)碰到一個(gè)系統(tǒng)錯(cuò)誤,檢查點(diǎn)進(jìn)程會(huì)減少你在重新引導(dǎo)時(shí)必須使用 fsck
(ADM)進(jìn)行檢查和修復(fù)的可能性,從而減少停工時(shí)間.
15.4.4.3 日志文件系統(tǒng)事務(wù)
通過日志文件系統(tǒng)事務(wù)建立的意向日志能使因非正常關(guān)機(jī)而引起的停工時(shí)間降到最低,當(dāng)系統(tǒng)異常接起后,該日志能重現(xiàn)和繼續(xù)完成中斷了的事務(wù)。檢查與修復(fù)的時(shí)間會(huì)降低到幾秒鐘,并與文件系統(tǒng)的大小無關(guān)。
其定位和檢查的能力僅僅局限于那些不一致性已記錄在日志結(jié)構(gòu)里的磁盤區(qū)域。日志結(jié)構(gòu)的組成如下,
l 一個(gè)日志文件,它是創(chuàng)建在每個(gè)已安裝的文件系統(tǒng)的根目錄下的特殊文件。(在激活
日志的狀態(tài)下,該文件是不可見的,并且即不可讀也不能刪除。若日志激活后再被禁止,則日志文件會(huì)以.ilog0000文件名出現(xiàn)。)
l 該文件固定地放在超級(jí)塊里(超級(jí)塊是指文件系統(tǒng)結(jié)構(gòu)的起始區(qū)域,它描述文件系
統(tǒng)的屬性,如類型、大小、有效空間以及最后一次的修改時(shí)間等。)
l 文件元數(shù)據(jù)(針對(duì)它所包含的數(shù)據(jù))的改變,如 i節(jié)點(diǎn)和盤塊位置圖等存儲(chǔ)在內(nèi)存緩
沖區(qū)中的數(shù)據(jù)改變。在將數(shù)據(jù)存儲(chǔ)到磁盤前,會(huì)同步地把日志登記項(xiàng)寫進(jìn)日志文件中.
當(dāng)這些步驟完成后,就會(huì)在磁盤里標(biāo)上“事務(wù)完成”的標(biāo)記。
若系統(tǒng)在日志寫好前崩潰,則看起來就好象任何變化(指對(duì)文件系統(tǒng)所做的任何修改)
都沒發(fā)生過一樣。若系統(tǒng)是在日志記錄后,但事務(wù)還未完成前崩潰,那么fsck實(shí)用程序要么繼續(xù)完成這些修改,要么就將其恢復(fù)原貌。若系統(tǒng)的崩潰發(fā)生在事務(wù)完成后,那么所做的修改也已完成,fsck就無需再做任何工作了。
參見:
O fsck(C)手冊(cè)頁
15.4.4.4 文件系統(tǒng)購(gòu)復(fù)原(刪除后可恢復(fù))
復(fù)原功能允許文件刪除后可以使用 undelete(C)或在桌面系統(tǒng)上使用相應(yīng)的實(shí)用程序
來進(jìn)行恢復(fù)。復(fù)原功能特征既可適用于整個(gè)系統(tǒng),又可只用于單個(gè)文件系統(tǒng)。若已在文件系統(tǒng)中使用復(fù)原功能,那么該文件系統(tǒng)中的文件和目錄就可指定為復(fù)原。
要在所有的非根 DTFS/HTFS文件系統(tǒng)中激活復(fù)原功能,請(qǐng)按如下步驟:
(l)運(yùn)行 Hardware/KerneI Manager(硬件/核心管理程序),選擇選項(xiàng)10,“Filesystem
Configuration(文件系統(tǒng)配置)”。
O要激活復(fù)原功能并設(shè)置復(fù)原文件數(shù)的最大值,請(qǐng)將 MAXVDEPTH設(shè)為一非零值。
O要禁止復(fù)原功能,請(qǐng)將 MAXVDEPTH設(shè)為0(默認(rèn)值)。
O要設(shè)置一個(gè)文件復(fù)原前的秒數(shù)(n),請(qǐng)將 MINVTIME設(shè)為 n(一非零值)。 MIN—
VTIME的默認(rèn)值是0。
(2)用新的 root文件系統(tǒng)參數(shù)重新鏈接核心。
(3)鍵入: reboot 重新引導(dǎo)系統(tǒng)。
15.4.5文件系統(tǒng)安裝選項(xiàng)(DTFS)
對(duì) DTFS類型的非 root文件系統(tǒng),文件系統(tǒng)管理程序支持下列安裝選項(xiàng):
Compression
壓縮硬盤上的數(shù)據(jù),以便增加硬盤的存儲(chǔ)容量。壓縮的比例取決于文件的類型。這
個(gè)特征在默認(rèn)情況下是激活的。
Sync—on—Close
文件關(guān)閉的同時(shí)將其寫入磁盤,這能確保數(shù)據(jù)的完整性和健壯性,因?yàn)槟憧梢噪S時(shí)
關(guān)閉機(jī)器而不會(huì)丟失數(shù)據(jù)。
MaXimum number or file versions
設(shè)置文件系統(tǒng)中所允許的刪除后可恢復(fù)的文件數(shù)的最大值。若將該值設(shè)為0,則會(huì)
禁止復(fù)原功能。
Minimum time before a file is versioned
設(shè)置文件在復(fù)原前的最少時(shí)間(以秒為單位)。若設(shè)為0,則一個(gè)文件總是復(fù)原的(當(dāng)
然 Maximum number of file versions的值應(yīng)大于0)。若其值大于0,那么一個(gè)文件
存在的時(shí)間超過該值后就可復(fù)原。
15.4.5.1數(shù)據(jù)壓縮
數(shù)據(jù)壓縮文件系統(tǒng)(DTFS)采用透明的數(shù)據(jù)壓縮文件系統(tǒng)(DTFS)采用透明的數(shù)據(jù)壓縮技術(shù)和一個(gè)非常有效的磁盤介質(zhì)格式化程序來增加磁盤的存儲(chǔ)容量。壓縮是在文件數(shù)據(jù)寫到磁盤前進(jìn)行的,換言之,系統(tǒng)先壓縮文件數(shù)據(jù),然后再把已壓縮的數(shù)據(jù)寫到磁盤上。它是為那些磁盤空間有限的系統(tǒng)設(shè)置的,壓縮的比例則由文件的數(shù)據(jù)類型決定。
平均磁盤節(jié)約比例
文 件 類 型
平均節(jié)約比例(%)
目錄
34
可執(zhí)行程序
36
源程序文件
40
文檔和動(dòng)態(tài)載入庫
42
符號(hào)鏈接
50
二進(jìn)制數(shù)據(jù)(點(diǎn)陣,宇處理,數(shù)據(jù)庫,線程表等)
55
ASCII數(shù)據(jù)(日志文件,配置文件等)
60
在這種文件系統(tǒng)中仍可使用標(biāo)準(zhǔn)的實(shí)用程序來進(jìn)行備份和恢復(fù)操作。
在其它文件系統(tǒng)中 Is—s所報(bào)告的磁盤塊數(shù)并不包括 i節(jié)點(diǎn)的結(jié)構(gòu)所占所的空間。而在DTFS文件系統(tǒng)中 i節(jié)點(diǎn)的結(jié)構(gòu)所占據(jù)的空間則包含在 Is—s所報(bào)告的磁盤塊數(shù)中。這樣,同樣的一個(gè)文件,在 DTFS系統(tǒng)中看上去會(huì)顯得略微大一點(diǎn)。
若要顯示一個(gè)文件的磁盤占用信息,你可以使用 Is的各種選項(xiàng),如:
O ls—I可列出文件未壓縮前的大小(以宇節(jié)為單位)
O Is—s可列出文件真正占用的物理磁盤塊數(shù)(每塊512宇節(jié))
若你鍵入以下命令:
cd /usr/adm
ls —ls messages
則會(huì)顯示:
82 —rw—r——r—— l bin bin 106295 Apr 08 23:01 messages
其中我們可看出,messages的邏輯大小是106295,但只占用82塊磁盤塊,或41984
磁盤空間,大約節(jié)約了60%的空間。
其它的實(shí)用程序如 du,df以及 quot等將顯示壓縮后的大小(以塊為單位)。
15.4.5.2 強(qiáng)制數(shù)據(jù)寫到磁盤上
Sync—on—Close(關(guān)閉時(shí)同步)能確保所有被進(jìn)程修改過的文件在進(jìn)程結(jié)束時(shí)寫回磁盤。這能減少異常情況下(如電源斷電)的數(shù)據(jù)丟失。
此外,DTFS文件系統(tǒng)還將在每秒鐘里都變遷到“靜止”狀態(tài)。DTFS系統(tǒng)并不依賴于標(biāo)準(zhǔn)系統(tǒng)的刷新功能(bdflush)來同步用戶數(shù)據(jù),它可以自己做到這一點(diǎn)。
DTFS文件系統(tǒng)還有一個(gè)稱之為“影子分頁”的特征;它先把文件數(shù)據(jù)寫進(jìn)影子塊,
而保持原始數(shù)據(jù)不動(dòng)。因此,若系統(tǒng)在數(shù)據(jù)寫進(jìn)磁盤前出故障,那么原始的數(shù)據(jù)將仍保持
不變。
這些特征意味著你一旦保存了文件,就可關(guān)閉電源,而不會(huì)影響到文件。這一點(diǎn)對(duì)桌面系統(tǒng)和便攜機(jī)環(huán)境非常有用。
15.4.6 文件系統(tǒng)安裝選項(xiàng)(DOS)
DOS中的文件名都是大寫的。在安裝 DOS文件系統(tǒng)時(shí),你可以選擇將大寫的文件名轉(zhuǎn)換為小寫的。默認(rèn)情況下 DOS文件系統(tǒng)安裝后將保留大寫的文件名。
15.5 安裝和卸下文件系統(tǒng)
在 Filesystem Manager(文件系統(tǒng)管理程序)中,從列表中選擇要安裝的文件系統(tǒng),然后從 Mount(安裝)菜單中選擇 Mount(安裝)。
若你想安裝的文件系統(tǒng)沒有出現(xiàn)在列表中,那你必須先給該文件系統(tǒng)增加安裝配置,然后才能安裝。
如果你安裝文件系統(tǒng)失敗,請(qǐng)先檢查文件系統(tǒng)(參見“檢查和修復(fù)文件系統(tǒng)”)然后再重新安裝。
要卸下文件系統(tǒng),先從列表中選擇要安裝的文件系統(tǒng),再?gòu)?Mount(安裝)菜單中選擇Unmount(卸下)。然后在確認(rèn)提示中選擇 Yes。若當(dāng)前的工作目錄在安裝點(diǎn)下,那么卸下文件系統(tǒng)會(huì)失敗,系統(tǒng)會(huì)顯示如下出錯(cuò)信息:
unmount:filesystemem busy:Device busy
若你還要卸下該文件系統(tǒng),你就必須先將當(dāng)前工作目錄移到其它不在該文件系統(tǒng)上的目錄中,然后再?gòu)?Mount(安裝)菜單中選擇 Unmount(卸下)。
若要查看列表中文件系統(tǒng)的狀態(tài)。請(qǐng)從 View(查看)菜單中選擇 Mount Status(安裝
狀態(tài))。
15.5.1 關(guān)于 DOS文件系統(tǒng)的安裝
若想使用 UNIX操作系統(tǒng)提供的 DOS實(shí)用程序來處理 DOS文件,你可以先安裝 DOS文件系統(tǒng),然后就可從 UNIX系統(tǒng)中直接訪問那些 DOS文件。
當(dāng)你安裝了 DOS文件系統(tǒng)后,你就可直接編輯、檢查或復(fù)制 DOS數(shù)據(jù)和文本文件,而無需先將它們復(fù)制到某一個(gè) UNIX系統(tǒng)中;但你還不能從安裝的文件系統(tǒng)中運(yùn)行 DOS文件和應(yīng)用程序。目前在 UNIX系統(tǒng)中,只有 SCO Merge能做到這一點(diǎn)。
若你在安裝的 DOS文件系統(tǒng)中運(yùn)行DOS實(shí)用程序,系統(tǒng)會(huì)顯示出錯(cuò)信息:
dosdir:FAT not recognized on/dev/dsk/0sC
此外,你也不能使用 mkfs(ADM)命令創(chuàng)建DOS文件系統(tǒng)。DOS的安裝特征只是為現(xiàn)
有的DOS文件系統(tǒng)(軟盤上的或現(xiàn)存的DOS分區(qū))而設(shè)的。
UNIX操作系統(tǒng)處理安裝的DOS文件系統(tǒng)時(shí),并沒有真正地改變那些文件,只是在
DOS文件系統(tǒng)中模擬了一些 UNIX文件系統(tǒng)的特征。UNIX文件系統(tǒng)是高度結(jié)構(gòu)化的多用
戶操作環(huán)境。因此,許多 UNIX文件系統(tǒng)的概念并不適用于DOS,如:
O文件屬主
O訪問許可
O特殊文件(管道及設(shè)備文件等)
O鏈接
為使 DOS文件可以訪問,UNIX系統(tǒng)在安裝時(shí)將在DOS文件系統(tǒng)模擬訪問許可和文
件屬主。
由于沒有對(duì) DOS文件做真正的改變,在 UNIX系統(tǒng)編輯 DOS文件時(shí)回車符(^ M)是可見的(UNIX系統(tǒng)換行時(shí)只用換行符,而 DOS同時(shí)使用回車和換行符)。若要將文件的行結(jié)尾格式從 DOS格式轉(zhuǎn)變?yōu)?UNIX格式,請(qǐng)使用 dtox(C)。若要從 UNIX格式轉(zhuǎn)到 DOS格式,則可用 xtod(C)。
15.5.1.1 DOS文件系統(tǒng)和訪問許可
只有 root和具有filesystem(文件系統(tǒng))權(quán)限的用戶才能安裝文件系統(tǒng)(包括 DOS文件系
統(tǒng))。
用戶是否能訪問已安裝的DOS文件系統(tǒng)取決于該文件系統(tǒng)的屬性及其許可權(quán)。
當(dāng)一個(gè) DOS文件系統(tǒng)安裝到 UNIX系統(tǒng)上時(shí):
l 該文件系統(tǒng)的許可權(quán)和屬性取決于安裝點(diǎn)的許可權(quán)。例如,若 root創(chuàng)建的安裝點(diǎn)/x 的許可權(quán)是0777,則所有的用戶都可以讀或?qū)懺撐募到y(tǒng)的內(nèi)容。若該安裝點(diǎn)屬于 root,則所有屬于該文件系統(tǒng)的文件其屬主都是 root,而不管是誰真正創(chuàng)建的。
l 在通常情況下, DOS文件系統(tǒng)上的文件許可權(quán)一般是0777(可讀/寫)或0555(只
讀)。
l DOS文件系統(tǒng)上新建文件的許可權(quán)一般是由創(chuàng)建者的掩碼決定的。如
碼是0022,則所有由該用戶創(chuàng)建的文件的許可權(quán)都是0644。
l 在 DOS文件系統(tǒng)上的文件不能有多重鏈接。
l 在 DOS文件系統(tǒng)中,諸如上鎖等決定不同用戶如何訪問一個(gè)文件等的特征同
UNIX文件系統(tǒng)一樣。只要所使用的上鎖機(jī)制許可,兩個(gè)用戶可以編輯并寫同一
文件。
15.5.1.2 DOS文件系統(tǒng)的限制
在一個(gè)安裝的 DOS文件系統(tǒng)中,訪問文件會(huì)有如下一些限制:
ü 文件名的命名規(guī)則以及轉(zhuǎn)換規(guī)則,請(qǐng)按照 doscmd(C)手冊(cè)頁的指導(dǎo)。此外,標(biāo)準(zhǔn)
的 DOS也限制文件名中出現(xiàn)的非常規(guī)字符。當(dāng)然,你仍可以使用通配符來匹配
文件名,這一點(diǎn)同 UNIX文件系統(tǒng)完全一樣。
ü DOS和 UNIX之間的時(shí)間戳記是不一樣的。
ü 當(dāng)從 UNIX系統(tǒng)的分區(qū)中安裝D()S文件系統(tǒng)時(shí),UNIX的 DOS文件系統(tǒng)驅(qū)
動(dòng)器記錄文件的創(chuàng)建、修改和訪問等的時(shí)間是以格林尼治時(shí)間(GMT)為標(biāo)準(zhǔn)的,
然后再將它們轉(zhuǎn)換為本地時(shí)間。而 DOS的時(shí)間戳記是按本地時(shí)間記錄的。
ü 因此,在其它時(shí)區(qū)里(非 GMT時(shí)區(qū)),當(dāng)你在 DOS環(huán)境下訪問一個(gè)在 UNIX環(huán)
ü 境中創(chuàng)建的 DOS文件時(shí)(在安裝在 UNIX系統(tǒng)上的 DOS文件系統(tǒng)中創(chuàng)建文件),時(shí)間戳總是本地時(shí)間,UNIX卻會(huì)將它當(dāng)作 GMT時(shí)間,并會(huì)將它再次轉(zhuǎn)換為“本地”時(shí)間, 這時(shí)也會(huì)發(fā)生時(shí)間錯(cuò)誤。
ü 你不能使用 Buckup Manager(備份管理程序)或 backup(ADM)實(shí)用程序來給已安
裝的 DOS文件系統(tǒng)做備份。但可以用 DOS實(shí)用程序或其它復(fù)制程序(如 tar(C))
來做備份。
參見:
.關(guān)于 DOS文件系統(tǒng)的安裝
.doscmd(C)手冊(cè)頁
15.6 在軟盤上創(chuàng)建文件系統(tǒng)
在軟盤上創(chuàng)建文件系統(tǒng)的方法與在硬盤上的基本上一樣,并且軟盤上的文件系統(tǒng)還可以安裝到其它任意 UNIX系統(tǒng)上。你可以使用/mnt目錄來安裝軟盤文件系統(tǒng)而不必再建一個(gè)專門的安裝目錄。
要在軟盤上創(chuàng)建一個(gè)可移植的文件系統(tǒng),請(qǐng)使用 SCOadmin層次結(jié)構(gòu)中的 filesystems
目錄下的 FIoppy Filesystem Manager(軟盤文件系統(tǒng)管理程序),并按以下步驟進(jìn)行選擇:
(l)選擇軟盤的類型。例如,若你要用1.44 MB的3.5英寸軟盤(135道/英寸、雙面、
每磁道18扇區(qū)),應(yīng)選4。
(2)若你有多個(gè)軟盤驅(qū)動(dòng)器,系統(tǒng)還會(huì)提示你選擇相應(yīng)的軟驅(qū),如0或l(即 A驅(qū)或 B
驅(qū))。例如,若你想在基本軟盤驅(qū)動(dòng)器(即通常所說的 A盤)創(chuàng)建文件系統(tǒng),請(qǐng)選0,
然后按<Enter>鍵。
(3)當(dāng)系統(tǒng)提示你插入軟盤時(shí),請(qǐng)?jiān)谙鄳?yīng)的軟驅(qū)中插入軟盤,并按<Enter>鍵。
(4)然后系統(tǒng)會(huì)提示你是否需要格式化軟盤。若你的軟盤已格式化過,請(qǐng)鍵入 n;否則
請(qǐng)鍵入 y,你就會(huì)看見如下信息:
formatting/dev/type
track00 head 0
這時(shí)在格式化過程中,磁道數(shù)和磁頭號(hào)會(huì)不斷地記數(shù)。若文件/etc/default/format
中包含 VERIFY= Y,格式化后還會(huì)進(jìn)行驗(yàn)證。
(5)當(dāng)系統(tǒng)提示你選擇文件系統(tǒng)類型時(shí),若你想采用默認(rèn)的 EAFS類型,請(qǐng)鍵入 y;否
則請(qǐng)鍵入 n,并在系統(tǒng)提示的文件系統(tǒng)類型列表中選擇你想要的類型。軟盤文件系
統(tǒng)支持的類型有: AFS,DTFS,EAFS,HTFS, S51K以及 XENIX等。
(6)文件系統(tǒng)建好后,會(huì)出現(xiàn)提示消息,緊接著系統(tǒng)會(huì)使用 fsck(ADM)對(duì)其進(jìn)行檢查。
檢查完畢后,按<Enter>回到 FIoppy Filesystem菜單,鍵入 q退出。
這樣,軟盤上就包含了一個(gè)文件系統(tǒng)。你可以直接在命令行中使用 mount(ADM)來安
裝該文件系統(tǒng),或?qū)⒃撐募到y(tǒng)的安裝信息加進(jìn)系統(tǒng)中,再使用文件系統(tǒng)管理程序來安裝。
一旦軟盤上的文件系統(tǒng)安裝后,你就可像使用硬盤上的文件系統(tǒng)一樣使用它。
參見:
O增加和刪除安裝配置
O安裝和拆卸文件系統(tǒng)
O mkdev(ADM)手冊(cè)頁
O mount(ADM)手冊(cè)頁(用于命令行界面)
15.7檢查和修復(fù)文件系統(tǒng)
如果你的系統(tǒng)曾經(jīng)異常關(guān)閉,那么當(dāng)你重新引導(dǎo)時(shí),系統(tǒng)會(huì)自動(dòng)運(yùn)行 fsck(ADM)實(shí)用程序檢查 root文件系統(tǒng)。你也可以改變文件系統(tǒng)的安裝配置,使系統(tǒng)在安裝該文件系統(tǒng)以前自動(dòng)地檢查它。
注意:
不能使用Filesystem Manager(文件系統(tǒng)管理程序)來檢查root 文件系統(tǒng).要檢查root 文件系統(tǒng),必須先進(jìn)入單用戶方式(系統(tǒng)維護(hù)方式),再運(yùn)行fsck(ADM)
你可以使用文件系統(tǒng)管理程序手工地檢查文件系統(tǒng):
(l)從文件系統(tǒng)的列表中選擇要檢查的文件系統(tǒng)。
(2)從 Mount的菜單中選擇 Check and Repair選項(xiàng),然后再選擇 Selected Filesystem
(選擇文件系統(tǒng))選項(xiàng);若文件系統(tǒng)不在列表中,則請(qǐng)選擇 Other LocaI Filesystem(其它本地
文件系統(tǒng))選項(xiàng)。
(3)設(shè)置檢查的類型以及文件系統(tǒng)損毀后的措施,然后選擇 OK。
然后,文件系統(tǒng)管理程序就會(huì)檢查該文件系統(tǒng),并把檢查結(jié)果在狀態(tài)窗口中顯示出來。檢查完畢后,請(qǐng)單擊Close。
注意:
萬一發(fā)現(xiàn)某個(gè)文件已丟失,請(qǐng)先檢查在文件系統(tǒng)頂端的lost十found目錄;那些與數(shù)據(jù)結(jié)構(gòu)失去連接的文件都存儲(chǔ)在該目錄下(DTFS文件系統(tǒng)沒有l(wèi)ost+found目錄).若在
那兒不能發(fā)現(xiàn)那個(gè)文件,只能從備份中恢復(fù)它
DTFS文件系統(tǒng)不要求有 lost十found目錄。
15.7.1檢查和修復(fù)選項(xiàng)
下列檢查和修復(fù)選項(xiàng)對(duì)幾乎所有文件系統(tǒng)類型都有效(除了NFS,SCO Gateway for
NetWare,DOS,HS,ISO9660和 Rockridge等類型的文件系統(tǒng)外):
Check IIilesystem Before Mounting(安裝以前檢查文件系統(tǒng))
l Always(總是)
l Never(從不)
l Only ifDirty(只在系統(tǒng)不干凈時(shí)才檢查)
What to do if Corrupted(損毀時(shí)的措施)
l Automatic repair(自動(dòng)修復(fù))
該選項(xiàng)等同于在 fstk的相應(yīng)提示中回答“yes”。
l Do not repair(不修復(fù))
該選項(xiàng)等同于在 fsck的相應(yīng)提示中回答“n。”。
Type of Checking(檢查類型)
l Full Check(全面檢查)
執(zhí)行所有檢查的五個(gè)階段。參見 “文件系統(tǒng)檢查階段(HTFS,EAFS, AFS,S51K)”
l Fast Check(快速檢查)
只執(zhí)行 Phase l(檢查塊和大小)和 Phase5(檢查空閑列表位圖)
Create lost十found directory if none exists(若 lost十found目錄不存在則創(chuàng)建它)
創(chuàng)建 Iost十found目錄,以便 fsck放置沒有引用的文件。參見文件系統(tǒng)檢查
Phase3。
該選項(xiàng)對(duì) XENIX文件系統(tǒng)無效。
參見:
Ø 檢查和修復(fù)文件系統(tǒng)
Ø fsck(ADM)手冊(cè)頁(用于命令行界面)
15.7.2 文件系統(tǒng)檢查階段(HTFS, EAFS, AFS, S51K)
在檢查和修復(fù)文件系統(tǒng)時(shí),fsck(ADM)實(shí)用程序?qū)呙韬蜋z測(cè)文件系統(tǒng)結(jié)構(gòu),并按如
下的步驟報(bào)告每一階段的消息:
* * phase 0 — Replay Log
* * phase l — Check Blocks and Sizes
* * phase lb — Rescan For More DUPS
* * phase 2 — Check Pathnames
* * phase 3 — Check Connectivity
* * phase 4 — Check Reference Counts
* * phase 5 — Check Free List Bitmap
* * phase 6 — Salvage Free list Bitmap
每一個(gè)階段都會(huì)比較某些部分,并檢查它們是否與其它部分相吻合:
Phase 0 如果文件系統(tǒng)的意向日志是激活的,并且沒有要求全面檢查,系統(tǒng)將執(zhí)行快速
檢查。在這個(gè)階段將完成在文件系統(tǒng)日志中發(fā)現(xiàn)的未處理的事務(wù),并將文件系
統(tǒng)標(biāo)記為干凈的,同時(shí)系統(tǒng)將跳過剩下的其它階段的檢查。
Phase l 在這個(gè)階段,fsck讀 i節(jié)點(diǎn)表,并根據(jù)該表來判定每個(gè)文件的大小及其所占據(jù)
的盤塊。系統(tǒng)將檢查 i節(jié)點(diǎn)表中的 i節(jié)點(diǎn)類型,零鏈接計(jì)數(shù),i節(jié)點(diǎn)大小,壞塊
和重復(fù)的塊(這里的壞塊是指超出文件系統(tǒng)邊界的塊值;重復(fù)的塊指兩個(gè) i節(jié)點(diǎn)
指向磁盤上的同一塊)。當(dāng) fsck清除一個(gè) i節(jié)點(diǎn),它會(huì)刪除有關(guān)該節(jié)點(diǎn)的所有
信息,如刪除牽涉到該節(jié)點(diǎn)的文件和目錄。fsck還會(huì)驗(yàn)證該文件系統(tǒng)是否適合
相關(guān)的設(shè)備。此外,若發(fā)現(xiàn)重復(fù)塊,fsck還將試著定位初始的和重復(fù)的 i節(jié)點(diǎn)
以便在 Phase 2中進(jìn)行校正。
Phase lb 若發(fā)現(xiàn)了重復(fù)塊,系統(tǒng)將重新掃描一遍。
Phase 2 在這個(gè)階段,fsck清除由壞的 i節(jié)點(diǎn)狀態(tài)、溢出的 i節(jié)點(diǎn)指針以及指向壞 i節(jié)
點(diǎn)的目錄引起的錯(cuò)誤結(jié)果。在 Phase 1中刪除的文件、在此將刪除它在相應(yīng)目
錄中的登記項(xiàng)。若在 Phase l中發(fā)現(xiàn)了重復(fù)塊,fsck將刪除相關(guān)的那兩個(gè)文件。
Phase 3 在這個(gè)階段,fsck將檢查文件的連接性,并重新連接在目錄結(jié)構(gòu)中嚴(yán)重受損的
文件。所有沒有引用但還有效的文件都將放到該文件系統(tǒng)根目錄下lost十
found 目錄中。對(duì) root文件系統(tǒng),該目錄是/lost十found。當(dāng)目錄嚴(yán)重受損時(shí),
一些文件的名字會(huì)丟失,這時(shí) fsck會(huì)用該文件的 i節(jié)點(diǎn)號(hào)來給文件重新命名。
Phase 4 在這個(gè)階段,fsck檢查在 Phase2和3中檢測(cè)到的登記項(xiàng)的鏈接數(shù)。在某些情
況下,有些文件在目錄結(jié)構(gòu)中沒有索引,但仍有 i節(jié)點(diǎn)號(hào),可以重新鏈接到
lost十found中。而那些無法恢復(fù)的 i節(jié)點(diǎn)將被刪除。
Phase 5 在這個(gè)階段,fsck檢測(cè)文件系統(tǒng)維護(hù)的空閑塊的列表,解決丟失塊或未分配
塊(也可以是曾經(jīng)分配但已被刪除的塊)的問題。若檢測(cè)到不一致性,fsck會(huì)
重建空闊塊列表。
Phase 6 若在 Phase5中發(fā)現(xiàn)了空閑塊的不一致性,在這個(gè)階段,fsck會(huì)為變化的文件
系統(tǒng)重新構(gòu)造空閑塊列表。
若要看到完整的出錯(cuò)消息,請(qǐng)參見 fsck(ADM)手冊(cè)頁。
15.7.3 文件系統(tǒng)檢查階段(DTFS)
當(dāng)你檢查和修復(fù) DTFS文件系統(tǒng)時(shí),fsck(ADM)實(shí)用程序無需人工干預(yù)就自動(dòng)修復(fù)不
一致性,并按如下的步驟報(bào)告每一階段的消息:
* * phase l — Check Super Block
* * phase 2 — Check File Structure
* * phase 3 — Check Directory Entries
* * phase 4 — Check Block Bitmap
每一個(gè)階段都會(huì)比較某些部分,并檢查它們是否與其它部分相吻合:
Phase l fsck讀文件系統(tǒng)的 i節(jié)點(diǎn)映象(i節(jié)點(diǎn)位圖)和初始化文件系統(tǒng)的塊映象表(塊
位圖)。
Phase 2 fsck讀 i節(jié)點(diǎn)號(hào)并檢查其有效性。DTFS的文件是通過一個(gè)稱之為“B十樹”
的結(jié)構(gòu)來管理的。這棵樹是由磁盤塊地址組成的,而這些磁盤塊地址要么指
向中間塊(稱之為“內(nèi)部節(jié)點(diǎn)”)或?qū)嶋H用戶數(shù)據(jù)塊(稱之為“葉節(jié)點(diǎn)”)。這
棵樹結(jié)構(gòu)通常是平衡的(從最高層到“葉子”的距離在樹中的所有路徑是一
樣的)。
fsck驗(yàn)證父 i節(jié)點(diǎn)并重新平衡已變得不平衡的 i節(jié)點(diǎn)。
Phase 3 fsck重建目錄的層次結(jié)構(gòu)。因?yàn)?DTFS的 i節(jié)點(diǎn)包含父目錄的 i節(jié)點(diǎn)號(hào)和 I
節(jié)點(diǎn)文件名,重新構(gòu)造非常容易并且不需要 lost+found目錄。若有 i節(jié)點(diǎn)
不能重新連接或包含無效的數(shù)據(jù)(壞 i節(jié)點(diǎn)),則 i節(jié)點(diǎn)位圖就會(huì)更新,塊位
圖也會(huì)跟著更新。
Phase 4 fsck更新超級(jí)塊中的信息。
若要看完整的出錯(cuò)消息,請(qǐng)參見 fsck(ADM)手冊(cè)頁。
15.7.4 UNIX系統(tǒng)如何維護(hù)文件和文件系統(tǒng)
文件系統(tǒng)的數(shù)據(jù)并不是以文件為單位存儲(chǔ)在硬盤的某個(gè)位置,相反,一個(gè)文件的數(shù)據(jù)很可能會(huì)散布在整個(gè)硬盤中。這是因?yàn)椴僮飨到y(tǒng)并不真正處理文件,而是處理數(shù)據(jù)單元。例如,當(dāng)你創(chuàng)建一個(gè)文件時(shí),這個(gè)文件可能存儲(chǔ)在磁盤的某一部分。而當(dāng)你再編輯該文件,并在文件的這兒或那兒刪除了一些句子時(shí),你可能不需要原來那么多的磁盤空間來存儲(chǔ)該文件,這時(shí)在你原來存儲(chǔ)文件的地方就可能出現(xiàn)了“空隙”。由于磁盤的空間對(duì)系統(tǒng)來說是很珍貴的,系統(tǒng)就會(huì)把那些“空隙”分配給其它文件。
每個(gè)文件系統(tǒng)都有自己特殊的結(jié)構(gòu)允許操作系統(tǒng)來訪問和維護(hù)存儲(chǔ)在文件系統(tǒng)中的文
件和數(shù)據(jù):
Data blocks 數(shù)據(jù)塊。磁盤中的“一塊”一般在1024字節(jié)為單位(DTFS文件系統(tǒng)會(huì)
根據(jù)磁盤的容量來改變塊的大小以便最大限度地利用空間)。數(shù)據(jù)塊一般
包括目錄項(xiàng)或文件數(shù)據(jù);而目錄項(xiàng)包括 i節(jié)點(diǎn)號(hào),文件名和用于 undelete
(C)的版本號(hào)(文件復(fù)原)。
Inodes i節(jié)點(diǎn)。i節(jié)點(diǎn)(信息節(jié)點(diǎn))包含了除文件數(shù)據(jù)以外的所有與文件有關(guān)的信
息,如文件的位置、大小、文件類型、許可權(quán)、屬主以及鏈接數(shù)(鏈接該
文件的目錄數(shù))等。i節(jié)點(diǎn)還包含了組成文件的所有數(shù)據(jù)的地址,這樣操
作系統(tǒng)就可以在需要時(shí)把文件的所有數(shù)據(jù)組合起來。i節(jié)點(diǎn)所不包括的只
是文件的名稱和內(nèi)容(文件名包含在目錄項(xiàng)中)。在 DTFS文件系統(tǒng)中,I
節(jié)點(diǎn)還包含文件父目錄的 i節(jié)點(diǎn)號(hào)和 i節(jié)點(diǎn)的名稱。此外,DTFS文件系
統(tǒng)的 i節(jié)點(diǎn)并不像其它文件系統(tǒng)那樣是在文件系統(tǒng)創(chuàng)建時(shí)靜態(tài)分配的,
其空閑的 i 節(jié)點(diǎn)數(shù)會(huì)隨著有效空閑空間的變化而變化。
Superblock 超級(jí)塊。超級(jí)塊是一個(gè)特殊的數(shù)據(jù)塊,它就象 i節(jié)點(diǎn)包含文件的信息一
樣,包含整個(gè)文件系統(tǒng)的信息。超級(jí)塊包含安裝文件系統(tǒng)和訪問其上數(shù)據(jù)
所必需的信息,如文件系統(tǒng)的大小,空閑 i節(jié)點(diǎn)數(shù)以及有效空閑空間的信
息。 當(dāng)文件系統(tǒng)安裝后,系統(tǒng)會(huì)把磁盤上超級(jí)塊的內(nèi)容讀入內(nèi)存中。
Buffer 緩沖區(qū)。為了減少對(duì)磁盤上數(shù)據(jù)的搜索,系統(tǒng)把最近使用的數(shù)據(jù)塊保存
在內(nèi)存中一個(gè)特殊的結(jié)構(gòu)中,該內(nèi)存區(qū)稱之為緩沖區(qū)。緩沖區(qū)使得操作系
統(tǒng)變得更為有效。根據(jù)文件系統(tǒng)的類型以及核心參數(shù)的設(shè)置,緩沖區(qū)可定
時(shí)“刷新”(寫到磁盤中)。
一些文件系統(tǒng)的配置機(jī)制影響到事務(wù)的管理和處理。有些會(huì)影響數(shù)據(jù)的完整性,有些會(huì)影響到恢復(fù)系統(tǒng)時(shí)的表現(xiàn)。
Intent logging(意向日志):當(dāng)這個(gè)特征激活時(shí),文件系統(tǒng)的事務(wù)會(huì)記錄在磁盤上的日志
文件里。它的操作很簡(jiǎn)單,但卻能增進(jìn)系統(tǒng)恢復(fù)的速度。
Checkpointing(檢查點(diǎn)進(jìn)程):當(dāng)這個(gè)特征激活時(shí),每個(gè)文件系統(tǒng)都會(huì)周期性地檢查并
標(biāo)記為干凈。而一個(gè)干凈的文件系統(tǒng)在系統(tǒng)掛起后無需使用 fsck進(jìn)行檢查。它也像意向日
志一樣,操作簡(jiǎn)單方便。
Sync—on—close(DTFS)(關(guān)閉時(shí)同步):這個(gè)特征模擬 DOS的表現(xiàn),文件數(shù)據(jù)在文件關(guān)閉時(shí)立即寫到磁盤中。這個(gè)特征會(huì)明顯降低系統(tǒng)的執(zhí)行性能,
15.8維護(hù)文件系統(tǒng)中的空閑空間
系統(tǒng)管理員的一個(gè)重要職責(zé)就是要給所有的用戶保留足夠的磁盤空間。要做到這一點(diǎn),
你就必須時(shí)常監(jiān)視每個(gè)文件系統(tǒng)的空閑空間,并在空閑空間太少時(shí),采取一些必要的措施。
磁盤上的空閑空間取決于磁盤的容量及其已存儲(chǔ)的文件。要查看一個(gè)文件系統(tǒng)中有多少有
效的空閑空間,請(qǐng)參見 “顯示文件系統(tǒng)和目錄的使用統(tǒng)計(jì)”。
UNIX系統(tǒng)在每個(gè)文件系統(tǒng)的空閑空間不少于15%時(shí),能保持最佳的運(yùn)行狀態(tài)。當(dāng)文件系統(tǒng)的空閑空間少于15%時(shí),操作系統(tǒng)的反應(yīng)就會(huì)變得遲鈍。
當(dāng)文件系統(tǒng)沒有空閑空間或空閑空間少到不能正常工作時(shí),系統(tǒng)就會(huì)顯示如下信息:
NOTICE: clalloc— Out of space on EAFS dev hd(major/minor)
其中(major/minor)是指主、次設(shè)備號(hào),如 hd(l/42)表示根文件系統(tǒng)。當(dāng)文件系統(tǒng)耗盡空間時(shí),系統(tǒng)就會(huì)停止往文件系統(tǒng)中寫文件。這時(shí),若想恢復(fù)系統(tǒng)的運(yùn)作,你就必須刪除或減少該文件系統(tǒng)中的文件。
如果空閑空間少于15%,我們可以采取如下措施:
(l)刪除 /tmp 目錄下的文件。
在默認(rèn)情況下,cron將每天清理一次 /tmp和/usr /tmp 目錄。你也可以修改文件
/etc/default/cleantmp來定義要清理的目錄和清理周期。參見 cleantmp(ADM)手
冊(cè)頁。
(2)提醒用戶刪除自己不再使用的文件。
你可以在/etc/motd中設(shè)置消息,也可以發(fā) e—mail,還可以往終端上發(fā)消息以
提醒正注冊(cè)的用戶。
(3)查尋大文件并要求屬主將其刪除。
(4)查找并刪除系統(tǒng)臨時(shí)文件。
參見 “查找臨時(shí)文件”。
(5)清除系統(tǒng)日志文件。
參見 “檢查和清除系統(tǒng)日志文件”。
(6)備份不常用的數(shù)據(jù),并把它們刪除。
例如,/usr/adm目錄下的數(shù)據(jù),如/usr/adm /sa下的 sar數(shù)據(jù)以及/usr/adm
/acct 下的數(shù)據(jù)等都不怎么常用,我們可以使用備份管理程序先將它們備份,然后
再刪除。
(7)壓縮不常用的數(shù)據(jù)。
參見: compress(C)手冊(cè)頁。
(8) 將一些小文件歸檔到一個(gè)大文件中,以釋放 i節(jié)點(diǎn)。
參見: tar(C)手冊(cè)頁。
(9)增加磁盤空間。
參見 “增加磁盤空間和重構(gòu)文件系統(tǒng)”。
(10)使用 VirtuaI Disk Manager(虛擬磁盤管理程序)來增加磁盤和增大文件系統(tǒng)的
(11)若你無法再增加磁盤空間,并且文件系統(tǒng)類型不是 DTFS,你只需重構(gòu)文件系統(tǒng)
并把它改為 DTFS類型就可得到更多的空間,因?yàn)?DTFS數(shù)據(jù)壓縮文件系統(tǒng)允許
你通過壓縮數(shù)據(jù)來增加文件系統(tǒng)的存儲(chǔ)能力。2.8.4節(jié)“增加磁盤空間和重構(gòu)文
件系統(tǒng)”會(huì)引導(dǎo)你如何去校正你的磁盤布局。當(dāng)重建文件系統(tǒng)時(shí),一定要將其選為
DTFS類型。
15.8.1顯示文件系統(tǒng)和目錄的使用統(tǒng)計(jì)
在 Fliesystem Manager(文件系統(tǒng)管理程序)上,從 View菜單中選擇Disk space,將顯
示磁盤使用情況的統(tǒng)計(jì)數(shù)據(jù)。通?娠@示如下數(shù)據(jù)(以 MB為單位):
Ø 文件系統(tǒng)中總的磁盤空間
Ø 目前已被占用的磁盤空間
Ø 空閑空間
Ø 目前已被占用的磁盤空間所占的百分比
要顯示 i節(jié)點(diǎn)使用情況的統(tǒng)計(jì)數(shù)據(jù),從 View菜單中選擇 Inode Usage。通?娠@示
如下數(shù)據(jù),
Ø 目前已使用的 i節(jié)點(diǎn)總數(shù)
Ø 空鬧的 i節(jié)點(diǎn)數(shù)
Ø 目前已使用的 i節(jié)點(diǎn)數(shù)所占的百分比
若要顯示某個(gè)目錄所占用磁盤塊數(shù),請(qǐng)?jiān)诿钚邢率褂?du(C)命令:
du directory
選項(xiàng)directory必須是已安裝的文件系統(tǒng)上的目錄名。若未給出目錄名,du將顯示當(dāng)前目錄
所占用的塊數(shù)(在默認(rèn)情況下,du所報(bào)告的塊數(shù)是以512字節(jié)為一塊,若想以1024字節(jié)為
一塊,請(qǐng)使用—k選項(xiàng))。例如:
du /usr/james
命令將顯示/usr/james目錄下的每個(gè)子目錄的名字及其相應(yīng)的塊數(shù),并顯示整個(gè)目錄所占的總塊數(shù),
使用—a選項(xiàng)可以顯示選定目錄下的所有文件,—s 選項(xiàng)將只顯示總塊數(shù)。如,若只想顯示/usr/james目錄所占的總塊數(shù),請(qǐng)鍵入如下命令:
du –s /usr/james
就會(huì)看到類似如下的消息:
49790 /usr/james
若要顯示一系列用戶所占用的空間塊數(shù),請(qǐng)?jiān)诿钚邢率褂?quot(ADM)命令
quot filesystem
例如,若要顯示/dev/usr下文件的屬主及其所占用的塊數(shù),請(qǐng)鍵入:
quot/dev/usr
將顯示文件系統(tǒng)/dev/usr下所有文件的屬主及每個(gè)屬主所占用的空間,格式如下:
/dev/usr:
74534 james
49262 johnd
36506 root
15470 bin
15.8.2定位文件
find的語法格式如下
find pathname option
其中,pathname是要查找的文件目錄名,option將設(shè)置查找的條件。find命令將遞歸地搜索pathname目錄下的所有子目錄以查找滿足option條件的文件。
注意:
若你要顯示滿足搜在 find的命令中就必須包含 —print
按名字尋找特定的文件(—name選項(xiàng))
例如,要定位并顯示/usr目錄下所有名為 temp的文件,應(yīng)鍵入如下命令
find /usr —name temp —prin直
接文件大小的臨界點(diǎn)查尋文件(—size選項(xiàng))
例如,要定位并顯示根目錄下所有大于3塊的文件,應(yīng)鍵入如下命令:
find / —size十3 -print
按文件屬主查尋文件(—user選項(xiàng))
例如,要定位并顯示/work目錄下所有屬于 hcy的文件,應(yīng)鍵入如下命令
find /work —user hcy —print
按文件類型查尋文件(—type選項(xiàng))
例如,要定位并顯示/usr/spool /uucp 目錄下所有的目錄,應(yīng)鍵人如下命令:
find /usr/spoo1/uucp —type d —print
按文件的許可權(quán)查找文件(—perm onum選項(xiàng))
其中onum是指在 chmod(C)中使用的八進(jìn)制權(quán)限數(shù)。
例如,要定位并顯示/usr目錄下所有授予所有用戶可讀、可寫以及可執(zhí)行權(quán)限的
文件(onum數(shù)為0777),應(yīng)鍵入如下命令:
find /usr —perm 0777—print
15.8.3 查找臨時(shí)文件
臨時(shí)文件一般是程序在運(yùn)行過程中產(chǎn)生的,它們通常在程序執(zhí)行完畢后會(huì)自動(dòng)被刪除。但若程序在執(zhí)行過程中出錯(cuò)或被人為地終止,這些臨時(shí)文件就會(huì)存留在文件系統(tǒng)中;而這些文件的名字一般也取決于創(chuàng)建它們的程序。在絕大多數(shù)情況下,這些臨時(shí)文件對(duì)用戶毫無用處,你可以很安全地刪除它們。
你可以使用 find和—name選項(xiàng)來定位臨時(shí)文件,以便刪除。例如,若你想查尋/usr目錄下所有名為 temp的臨時(shí)文件,并將它們顯示出來,你可以使用如下命令:
find /usr —name temp —print
當(dāng)然,為了能更安全地刪除文件,你也可以在搜索臨時(shí)文件時(shí),附加一個(gè)文件無人訪問的期限限制。例如,若要查尋/usr目錄下文件名為temp,并且超過一周(—atime十7)無人訪問的文件,請(qǐng)鍵入如下命令:
find /usr —name temp —atime十7 —print
一旦定位了文件,你就可以使用 find的—exet選項(xiàng)自動(dòng)地刪除這些文件。
15.8.3.1執(zhí)行基于 find輸出的命令
你可以使用—exec選項(xiàng)來針對(duì) fSnd定位的文件執(zhí)行特定的 shell命令!猠xec最常見的用途就是將 find已定位的一組文件刪除。
例如,若要查尋/usr文件系統(tǒng)下所有超過7天無人訪問的 core文件,請(qǐng)鍵入如下命令:
find /usr —name core —atime十 7 —exec rm ”{}”\;
有些時(shí)候,一個(gè)用戶閑置后,可以先使用 find命令定位并備份所有屬于該用戶的文件,然后再將它們刪除。要做到這一點(diǎn),你可以按如下兩步進(jìn)行:
find /—user hcy —print | cpio —ovBc>/dev/rfd0
find /—user hcy —exec rm ”{}”\;
第一行命令將所有屬于 hcy的文件備份到軟盤中,第二行命令則將它們從文件系統(tǒng)中
刪除。
若想在使用 find命令時(shí),由用戶最后決定是否執(zhí)行相應(yīng)的 shelI命令,請(qǐng)用—ok替換
- exec選項(xiàng),如:
find /—user edwarda —ok rm “{}”\;
在這種情況下,find會(huì)提示如下消息:
<rm…/u/edwarda/billboard>?
若要執(zhí)行該命令(上例是 rm),請(qǐng)鍵入 y,否則按其它任意鍵都將不執(zhí)行該條命令。
find的—exec選項(xiàng)的另一個(gè)常見的用法是定位一組文件并改變它們的組屬性。如果
hcy用戶換了一個(gè)組,想使用 find把所有文件的組屬性都作相應(yīng)的改變,就可鍵入如下命令:
find /—user hcy —exec chgrp pubs ”{}”\;
類似地,你也可以改變一組文件的屬主。例如,用戶 hcy被閑置后,你想將他所屬的文件轉(zhuǎn)讓給ghl,可用如下命令:
find /—user hcy —exec chown ghl “{}”\;
使用這種命令結(jié)構(gòu)可以很方便地處理某一類文件,但當(dāng)一組文件中所含的文件太多時(shí),運(yùn)行的速度就會(huì)很慢,因?yàn)椤猠xec選項(xiàng)會(huì)為每個(gè)文件創(chuàng)建一個(gè)進(jìn)程。一個(gè)有效的解決方法就是使用 xargs(C)命令來替換—exec選項(xiàng)。相對(duì)來說 xargs命令會(huì)針對(duì)整組文件創(chuàng)建較少的進(jìn)程。
注意:
以root 注冊(cè),使用find 和xargs 不當(dāng)時(shí),會(huì)對(duì)系統(tǒng)的安全造成威脅。
下行命令給出了如何與 find一起使用 xargs命令的例子:
find /—user hcy —print | xargs chown ghl
這條命令與上一條命令的結(jié)果是一樣的,只是這條效率更高一點(diǎn)
15.8.3.2 檢查和清除系統(tǒng)日志文件
SCO系統(tǒng)中通常都保留了相當(dāng)數(shù)目的包含系統(tǒng)使用信息的日志文件。當(dāng)一個(gè)新的信息產(chǎn)生時(shí),系統(tǒng)就會(huì)將它附加到相應(yīng)的日志文件后,并保留文件先前的內(nèi)容。由于有些日志文件會(huì)迅速地膨脹,你應(yīng)當(dāng)定期地做些檢查,在必要時(shí)把一些文件的內(nèi)容清空。
你可以使用以下三種方法來管理這些日志文件:
ü 使用 System Logs Manager(系統(tǒng)日志管理程序)
ü 在命令行中清理系統(tǒng)日志文件
ü 自動(dòng)清理日志文件
表列出了系統(tǒng)中最需要清理或整理的日志文件。你系統(tǒng)上的日志文件也許會(huì)和表
中列出的有所出入,這完全是由于你的系統(tǒng)配置、實(shí)用程序或安裝的應(yīng)用程序不同而引起
的。你可以根據(jù)系統(tǒng)的活躍程序,對(duì)表中列出的檢查文件的周期做相應(yīng)的調(diào)整。此外,你還可以使用 find來查找那些這里沒有列出的日志文件。
表 管理日志文件
日志文件
作用或說明
檢查周期
/etc/wtmp
注冊(cè)歷史記錄
自動(dòng)
/usr/adm/pacct
進(jìn)程記帳日志文件
一星期
/usr/adm/messages
系統(tǒng)消息日志文件
一星期
/usr/adm/sulog
Su (C) 日志文件
自動(dòng)
/tcb/audittmp
審計(jì)系統(tǒng)臨時(shí)文件
一星期
/usr/spool/uucp/LOGFILE
記錄UUCP 工作請(qǐng)求,文件傳送以及系統(tǒng)狀態(tài)
一個(gè)月
/usr/spool/uucp/.LOG/.Old/*
由uudemon.clean 存儲(chǔ)的舊日志文件
一個(gè)月
/usr/spool/lp/logs/requests
記錄打印請(qǐng)求
自動(dòng)
*你可以讓系統(tǒng)自動(dòng)地維護(hù)這些文件,請(qǐng)參見“自動(dòng)清理日志文件”。
15.8.3.3使用系統(tǒng)日志管理程序
你可以使用存儲(chǔ)在 SCOadmin層次結(jié)構(gòu)的System/Logs目錄下的 System Logs Manag
er(系統(tǒng)日志管理程序)來檢測(cè)、清理或打印日志文件。System Logs Manager會(huì)顯示當(dāng)前日
志文件列表以及選定的文件內(nèi)容。
要顯示一個(gè)日志文件的內(nèi)容,只需從文件列表中選擇文件即可。
要在日志文件中進(jìn)行模式搜索,在“Search(搜索)”字段中鍵入搜索模式,然后按 next
或 prev按鈕來搜索匹配的模式。
要打印一個(gè)日志文件,請(qǐng)先從文件列表中選擇文件,然后從 Flie菜單中選擇 Print。
要增加一個(gè)新的日志文件,從 Log菜單中選擇 Include Log。系統(tǒng)會(huì)要求你提供要增加的文件及其注釋。
要從列表中刪除一個(gè)日志文件,請(qǐng)先從列表中選擇文件,然后從 Log菜單中選擇 Ex
clude Log。
要清理一個(gè)日志文件的內(nèi)容,請(qǐng)先從列表中選擇文件,然后從 Log菜單中選擇
Clear Log.
15.8.3.4從命令行清理系統(tǒng)日志文件
若要清理日志文件并維持其原有的許可權(quán),請(qǐng)按如下步驟:
(l)將文件內(nèi)容復(fù)制到另一個(gè)新文件上,如:
cp /usr/adm /messages /usr/adm/messages.old
(2)用如下命令清除日志文件:
² 在 Bourne或 Korn sheII環(huán)境下:
>/usr/adm/messages
² 在 C shell環(huán)境下:
cat/dev/nulI> /usr/adm/messages
若要監(jiān)視當(dāng)前附加到系統(tǒng)日志文件上的新信息,請(qǐng)鍵入:
tail —f /usr/adm /messages
其中,tail(C)命令的—f選項(xiàng)將顯示文件的最后10行,并會(huì)把在你啟動(dòng)和終止 tail命令期間附加到該文件上的新信息也立即顯示出來。
15.8.3.5自動(dòng)清理日志文件
你可以使用 crontab(C)和 cron(C)來自動(dòng)地清理日志文件。你只要在 root的crontab文件(/usr/spool / cron / crontabs / root)上增加相應(yīng)的一行,就可讓系統(tǒng)周期地(如每天一次,每周一次,每月一次等)執(zhí)行你自己的文件維護(hù)腳本程序。
下面是 root的 crontab文件中默認(rèn)的登記項(xiàng)格式:
17 5 * * 0 /etc/cleanup> /dev/null
該登記項(xiàng)將在每個(gè)星期天的上午5:17執(zhí)行/etc/cleanup程序。
15.8.4 增加磁盤空間和重構(gòu)文件系統(tǒng)
如果一個(gè)系統(tǒng)經(jīng)常缺少空間,很可能是當(dāng)前的硬盤容量無法支持它所擁有的用戶量或者僅僅因?yàn)橄到y(tǒng)中的目錄和文件實(shí)在太多。無論哪種情況,你都可以通過增加新硬盤來解決。你可以在新硬盤上創(chuàng)建新的文件系統(tǒng),并把一些用戶和目錄轉(zhuǎn)移到新的文件系統(tǒng)上,這樣就可顯著地增加現(xiàn)有文件系統(tǒng)的空閑空間,提高系統(tǒng)的操作性能;蛘,你也可以在新文件系統(tǒng)上開展新工作。有關(guān)增加硬盤的細(xì)節(jié),請(qǐng)參見“增加硬盤”。
有時(shí)基本硬盤中有多個(gè)文件系統(tǒng),苦其中一個(gè)文件系統(tǒng)已滿,而其它的文件系統(tǒng)卻還有大量的空閑空間(或硬盤中還有未用的分區(qū)),你可以考慮改變基本硬盤的布局來利用那些還未占用的空間。不過,這個(gè)過程比簡(jiǎn)單地增加一個(gè)附加的硬盤要困難。
若你要改變硬盤中的文件系統(tǒng)數(shù)量或要?jiǎng)澐治募到y(tǒng)的空間,請(qǐng)按以下步驟進(jìn)行:
( l)給系統(tǒng)上每一個(gè)文件系統(tǒng)做一個(gè)完整的備份。
(2)按照“安裝和升級(jí)過程”的步驟,重新安裝系統(tǒng)。
(3)從文件系統(tǒng)的備份中恢復(fù)數(shù)據(jù)。
15.9 維護(hù)文件系統(tǒng)的有效性
文件系統(tǒng)使用過程中的以下三個(gè)問題會(huì)降低文件系統(tǒng)的有效性:
磁盤碎片 磁盤碎片是指零星分布在文件系統(tǒng)中的空閑磁盤塊,它們往往是由
于文件系統(tǒng)的一些區(qū)域多次循環(huán)使用產(chǎn)生的。
過分龐大的目錄 是指擁有龐大數(shù)目文件(與文件大小無關(guān))的目錄會(huì)增加系統(tǒng)搜索該
目錄的時(shí)間。
空目錄槽 空目錄槽是由于一個(gè)目錄中有大量的文件創(chuàng)建后被移走或刪除引起的,它
會(huì)導(dǎo)致目錄變得過分龐大(只針對(duì) EAFS, AFS和 S51K等類型的文件系
統(tǒng))。
15.9.1 減少磁盤碎片
如果你的系統(tǒng)已使用了一段時(shí)間,并經(jīng)常有文件的創(chuàng)建和刪除等操作,常常會(huì)導(dǎo)致磁盤碎片的產(chǎn)生。磁盤碎片通常是指零星分布在文件系統(tǒng)中的空鬧磁盤塊。碎片的增多會(huì)使得文件系統(tǒng)中的文件斷斷續(xù)續(xù)地寫在磁盤中的小塊空間中,從而增加訪問文件的時(shí)間,降低文件系統(tǒng)的有效性。
要減少 EAFS,AFS和 S51K等類型文件系統(tǒng)的碎片,請(qǐng)按如下步驟操作:
(l)給系統(tǒng)上每一個(gè)文件系統(tǒng)做一個(gè)完整的備份。
(2)刪除硬盤中的所有文件。
(3)從文件系統(tǒng)的備份中恢復(fù)文件。
這個(gè)過程就是把所有的文件重新寫一遍,這時(shí)每個(gè)文件都會(huì)集中地寫在硬盤的某一區(qū)
域中,從而減少了磁盤碎片,使得所有的有效空間都集中在一起。這樣的做法也會(huì)恢復(fù)一小部分空間。
任務(wù)繁重的系統(tǒng)每年應(yīng)該做一次,通常你應(yīng)根據(jù)自己系統(tǒng)的實(shí)際情況來決定是否采取
這個(gè)措施。
15.9.2監(jiān)視和限制目錄大小
為提高系統(tǒng)的操作性能,應(yīng)該限制一些關(guān)鍵目錄的文件數(shù)量和文件名長(zhǎng)度。
對(duì) EAFS,AFS和 S51K等類型的文件系統(tǒng),應(yīng)把工作目錄(如注冊(cè)目錄)的文件數(shù)目限制在62(加上目錄中必需的“.”和“..”項(xiàng))。因?yàn),若目錄中的文件少?2個(gè),目錄的數(shù)據(jù)區(qū)可以存儲(chǔ)在單一的磁盤塊中,便于迅捷地搜索。而像 spool等存儲(chǔ)數(shù)據(jù)的目錄,可以允許其包含638個(gè)文件項(xiàng)。
要檢測(cè)一個(gè)目錄是否過大,可鍵入:
l . x|wc -l
這條命令會(huì)給出目錄中的文件數(shù)目。若文件數(shù)大于62(對(duì)工作目錄)或大于638(對(duì) spoo1
目錄),就會(huì)影響到系統(tǒng)的執(zhí)行性能,需要采取相應(yīng)的措施。如在該目錄中建5一10個(gè)同級(jí)目錄,再把文件分類存儲(chǔ)在不同的子目錄中。系統(tǒng)管理員應(yīng)教會(huì)所有用戶在注冊(cè)目錄下建立—些子目錄,從而讓注冊(cè)目錄維持在較小狀態(tài)。
一旦目錄中的文件數(shù)目超過最大值(62個(gè)或638個(gè)),則光靠刪除文件并不能使目錄
變小。這是因?yàn)楫?dāng)你移動(dòng)或刪除文件時(shí),目錄中會(huì)留下一些空目錄槽,從而使得目錄的大小保持不變。因此,若你的目錄中曾刪除(或移動(dòng))過大量的文件,這時(shí)盡管目錄中留存的文件很少,該目錄仍是龐大的,因?yàn)樗A袅嗽S多空目錄槽。在這種情況下,你只有通過減少空目錄槽才能減少目錄的大小。
15.9.3 刪除空目錄槽
在 EAFS,AFS和 S51K等類型的文件系統(tǒng)中,當(dāng)文件刪除或移出時(shí),會(huì)在原目錄中留下“空目錄槽”(也稱“影子文件”)。這些空目錄槽會(huì)降低目錄搜索的速度從而影響系統(tǒng)的操作性能(但在 HTFS和 DTFS文件系統(tǒng)中,空目錄槽會(huì)自動(dòng)地合并消失,沒必要專門地去刪余它們)。
要檢測(cè)目錄中是否包含空目錄槽,可鍵入如下命令:
hd. | wc —1
1 | wc—l
第一行命令會(huì)顯示 i節(jié)點(diǎn)數(shù),第二行會(huì)顯示目錄中的文件數(shù)目. 。若目錄的 i節(jié)點(diǎn)數(shù)明顯地要比文件數(shù)多,此時(shí)系統(tǒng)的操作性能就會(huì)受到影響。
要查看空目錄槽,請(qǐng)鍵入:
hd .
這時(shí),你就會(huì)看到如下的列表:
0000 8c 17 2e 00 0000 00 00 000000000000 00 00 。。。。。
0010 4e ld 2e 2e 0000 00 00 000000000000 00 00 N…..
….
0090
影子文件一般出現(xiàn)在列表的末端,其 i節(jié)點(diǎn)號(hào)為空。如上面列表中,每行的頭兩列16進(jìn)制數(shù)表示 i節(jié)點(diǎn)號(hào),最后七行頭兩列值均為00表明其為影子文件。
要從目錄中刪除空文件槽,請(qǐng)按如下步驟操作:
(l)改變目錄到要整理目錄的父目錄中,創(chuàng)建一個(gè)備份目錄。例如,若要?jiǎng)h除 spool
目錄/usr/spool/uucp/pdxbox 中的空目錄槽,請(qǐng)鍵入如下命令:
cd /usr/spooI/uucp
mkdir pdxbox.old
(2)改變目錄到要整理的目錄中,使用 cpio(C)做備份:
cd pdxbox
find .—print | lcpio—pdlm ../pdxbox.old
這條命令會(huì)把該目錄及其所有的子目錄復(fù)制(若可能,將只做文件鏈接)到備份目
錄中。
(3)證實(shí)已對(duì)所有文件做了備份,并且備份中每個(gè)文件的屬主,組屬性和許可權(quán)都與 源文件相同:
cd ..
I pdxbox pdxbox.old
(4)使用 hd來檢查備份目錄,確認(rèn)備份目錄中已無空目錄槽:
hd pdxbox.old
這時(shí)輸出的列表中應(yīng)沒有具有空 i節(jié)點(diǎn)號(hào)的文件(頭兩列的值均為00)。
(5)刪除原始目錄,即需要整理的過大的目錄:
rm —rf pdxbox
(6)給備份目錄改名,將其恢復(fù)為原始目錄:
mv pdxbox.old pdxbox
該目錄看起來同原來的一模一樣,但搜索起來快多了。
你只需按照以上的步驟整理所有過大的工作目錄和 spool目錄,就可以提高系統(tǒng)
的運(yùn)行性能。
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/17749/showart_103825.html |
|