《管理員手冊(cè)》word版_第1頁
《管理員手冊(cè)》word版_第2頁
《管理員手冊(cè)》word版_第3頁
《管理員手冊(cè)》word版_第4頁
《管理員手冊(cè)》word版_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Linux管理員手冊(cè)(1)-Linux系統(tǒng)概述本章概述Linux系統(tǒng)。首先描述操作系統(tǒng)提供的主要服務(wù)。然后說明實(shí)現(xiàn)這些服務(wù)的程序 with a considerable lack of detail。本章的目的是理解系統(tǒng)整體,以后再詳細(xì)說明每個(gè)部分。一個(gè)操作系統(tǒng)的不同部分一個(gè)UNIX操作系統(tǒng)包括一個(gè)核心程序kernel和一些系統(tǒng)程序system programs。還有一些做某件事情的應(yīng)用程序application programs。核心是操作系統(tǒng)的心臟 。它跟蹤磁盤上的文件,啟動(dòng)程序并運(yùn)行它們,給不同的進(jìn)程分配內(nèi)存和其他資源,從網(wǎng)絡(luò)接收和向網(wǎng)絡(luò)發(fā)送包,等等。核心很少自己干活,但它提供工具,用這

2、些工具可以建立所有服務(wù)。它還阻止任何人直接存取硬件,強(qiáng)制每個(gè)人使用它提供的工具。這樣,核心給每個(gè)用戶與其他用戶之間提供保護(hù)。核心提供的工具通過系統(tǒng)調(diào)用system calls使用;要了解關(guān)于這的更多的信息,看手冊(cè)頁第二節(jié)。系統(tǒng)程序使用核心提供的工具實(shí)現(xiàn)操作系統(tǒng)要求的不同的服務(wù)。系統(tǒng)程序和所有其他程序運(yùn)行在核心之上,叫做用戶模式user mode。系統(tǒng)程序和應(yīng)用程序的區(qū)別是目的:應(yīng)用程序意圖完成一些有用的工作(或游戲),而系統(tǒng)程序則為系統(tǒng)工作而需要。字處理器是應(yīng)用;telnet 是系統(tǒng)程序。區(qū)別經(jīng)常有些模糊,也許,只是為了強(qiáng)制分類。雖然編程語言不必是操作系統(tǒng)的一部分,操作系統(tǒng)也可以包括編譯器及其

3、相關(guān)的庫(Linux下是gcc和C庫)。文檔、有時(shí)甚至游戲,可以是操作系統(tǒng)的一部分。傳統(tǒng)上,操作系統(tǒng)被定義為安裝磁帶或磁盤上的內(nèi)容;對(duì)于Linux就更不清楚,因?yàn)樗植荚谌澜绲腇TP站點(diǎn)上。核心的重要部件Linux核心包括幾個(gè)重要部分:進(jìn)程管理、存儲(chǔ)器管理、硬件設(shè)備驅(qū)動(dòng)、文件系統(tǒng)驅(qū)動(dòng)、網(wǎng)絡(luò)管理和其他不同的部分。圖2.1顯示了它們的一些??赡芎诵淖钪匾牟糠?沒有它們什么也不能工作)是存儲(chǔ)器管理和進(jìn)程管理。存儲(chǔ)器管理負(fù)責(zé)分配進(jìn)程的存儲(chǔ)器區(qū)域和對(duì)換空間區(qū)域、核心的部件及buffer cache。進(jìn)程管理產(chǎn)生進(jìn)程,用切換處理器上的活動(dòng)進(jìn)程來實(shí)現(xiàn)多任務(wù)。在最低級(jí),核心對(duì)它支持的每種硬件包含一個(gè)硬件設(shè)

4、備驅(qū)動(dòng)。因?yàn)槭澜缟洗嬖诖罅坎煌挠布?,硬件設(shè)備驅(qū)動(dòng)的數(shù)量極大。有許多不同的硬件,因此軟件控制方法不同。但其相似性可能分類驅(qū)動(dòng),支持相似的操作;每類的每個(gè)成員有相同的與核心其他部分接口,但具體實(shí)現(xiàn)是不同的。例如,所有的硬盤驅(qū)動(dòng)與核心其他部分接口相同,即他們都有初始化驅(qū)動(dòng)器、讀N扇區(qū)、寫N扇區(qū)。核心自己提供的有些軟件服務(wù)有類似的抽象屬性,因此可以抽象分類。例如,不同的網(wǎng)絡(luò)協(xié)議已經(jīng)被抽象為一個(gè)編程接口:BSD socket庫。另一個(gè)例子是虛擬文件系統(tǒng)virtual filesystem(VFS)層,它從文件系統(tǒng)操作實(shí)現(xiàn)中抽象出文件系統(tǒng)操作。每個(gè)文件系統(tǒng)類型提供了每個(gè)文件系統(tǒng)操作的實(shí)現(xiàn)。當(dāng)一些實(shí)體企圖

5、使用一個(gè)文件系統(tǒng)時(shí),請(qǐng)求通過VFS送出,它將請(qǐng)求發(fā)送到適當(dāng)?shù)奈募到y(tǒng)驅(qū)動(dòng)。 UNIX系統(tǒng)的主要服務(wù)本節(jié)說明一些最重要的UNIX服務(wù),但不太詳細(xì)。以后的章節(jié)中將更詳細(xì)地說明。initUNIX系統(tǒng)里最重要的服務(wù)是由init 提供的。 init 是每個(gè)UNIX系統(tǒng)在核心引導(dǎo)最后啟動(dòng)的第一個(gè)進(jìn)程。 init 啟動(dòng)后,它做不同的啟動(dòng)工作繼續(xù)引導(dǎo)過程(檢查和mount文件系統(tǒng)、啟動(dòng)守侯程序等)init 做的具體事情的列表依賴于用戶意愿; init 有多個(gè)啟動(dòng)選擇。通常提供單用戶模式single user mode的概念,此時(shí)沒有用戶能登錄,root 在控制臺(tái)使用一個(gè)shell;通常的模式叫多用戶模式mul

6、tiuser mode。一般說來這稱為運(yùn)行級(jí)run levels;單用戶和多用戶模式可以理解為2個(gè)運(yùn)行級(jí),還可以有其他運(yùn)行級(jí),例如,在控制臺(tái)上運(yùn)行X。在普通操作中,init 確認(rèn)getty 正常運(yùn)行(允許用戶登錄),并收養(yǎng)孤兒進(jìn)程(父進(jìn)程已死的進(jìn)程;UNIX中,所有進(jìn)程 必須在一棵樹中,因此孤兒進(jìn)程必須收養(yǎng))。當(dāng)系統(tǒng)關(guān)閉時(shí),init 負(fù)責(zé)殺死所有其他進(jìn)程,unmount所有文件系統(tǒng)并停止處理器,根據(jù)設(shè)置。從終端登錄從終端登錄(通過串行線)和控制臺(tái)(當(dāng)不運(yùn)行X時(shí))是由getty 程序提供的。 init 為每個(gè)允許登錄的終端啟動(dòng)一個(gè)單獨(dú)的getty 實(shí)例 getty 讀用戶名并運(yùn)行l(wèi)ogin 程序

7、,由它讀口令。如果用戶名和口令正確,login 就運(yùn)行shell。當(dāng)shell終止時(shí),即用戶注銷,或login 因用戶名和口令不對(duì)而終止時(shí), init 知道并啟動(dòng)一個(gè)新的getty 實(shí)例。核心沒有登錄的概念,這都由系統(tǒng)程序處理。Syslog核心和許多系統(tǒng)程序會(huì)產(chǎn)生錯(cuò)誤、警告和其他信息。這些信息在以后能看經(jīng)常是很重要的,甚至很久以后,所以它們應(yīng)該被寫到一個(gè)文件。這個(gè)程序是syslog 。它能設(shè)置成根據(jù)輸出信息的程序或重要程度將信息排序到不同的文件。例如,核心信息經(jīng)常與其他信息分開,單獨(dú)定向到一個(gè)分離的文件,因?yàn)楹诵男畔⒔?jīng)常更重要且需要有規(guī)律地閱讀以確定問題。定時(shí)執(zhí)行命令: cron 和at用戶和

8、系統(tǒng)管理員經(jīng)常需要定時(shí)運(yùn)行命令。例如,系統(tǒng)管理員可能想運(yùn)行一個(gè)程序從老文件中清除暫存文件的目錄 (/tmp 和/var/tmp ),以免磁盤滿,因?yàn)椴⒎撬谐绦蚨颊_地清除自己的暫存文件。cron 服務(wù)是做這個(gè)的。每個(gè)用戶有個(gè)crontab ,在這里列出他要執(zhí)行的命令和想執(zhí)行的時(shí)間。 cron 守侯進(jìn)程負(fù)責(zé)在特定的時(shí)間啟動(dòng)命令。at 服務(wù)與cron 類似,但它只執(zhí)行一次:命令在給定的時(shí)間執(zhí)行,但不可自動(dòng)重復(fù)。圖形用戶接口GUIUNIX和Linux不將用戶接口合在核心中,而是用用戶級(jí)程序?qū)崿F(xiàn)。用戶接口同時(shí)提供文本和圖形環(huán)境。這樣的安排使系統(tǒng)更靈活,但有容易對(duì)每個(gè)程序?qū)崿F(xiàn)不同的用戶接口的缺點(diǎn),使系

9、統(tǒng)較難學(xué)。Linux使用的主要的圖形環(huán)境叫X Window系統(tǒng)(簡(jiǎn)稱X)。 X也不實(shí)現(xiàn)用戶接口;它只實(shí)現(xiàn)一個(gè)窗口系統(tǒng),即可以實(shí)現(xiàn)圖形用戶接口的工具。 3種最流行的基于X實(shí)現(xiàn)的用戶接口風(fēng)格是Athena、Motif和Open Look。網(wǎng)絡(luò)網(wǎng)絡(luò)連接2臺(tái)或更多的計(jì)算機(jī)使之能互相通信。連接和通信的實(shí)際方法有些復(fù)雜,但結(jié)果非常有用。UNIX操作系統(tǒng)具有許多網(wǎng)絡(luò)特征。最基本的服務(wù):文件系統(tǒng)、打印、備份等都可以通過網(wǎng)絡(luò)完成。這可使系統(tǒng)管理更簡(jiǎn)單,因?yàn)樗试S集中管理,同時(shí)獲得小型機(jī)和分布計(jì)算的優(yōu)點(diǎn),例如降低成本和更好的容錯(cuò)能力。然而,本書只概述網(wǎng)絡(luò);更多的信息請(qǐng)見Linux網(wǎng)絡(luò)管理員指南,包括一個(gè)網(wǎng)絡(luò)如何操

10、作的基本說明。網(wǎng)絡(luò)登錄網(wǎng)絡(luò)登錄與普通登錄有一點(diǎn)不同??梢缘卿浀拿總€(gè)終端各有一條單獨(dú)的物理串行線。從網(wǎng)絡(luò)登錄的每個(gè)人,有一條單獨(dú)的虛擬網(wǎng)絡(luò)連接,并且可以有任意數(shù)量 。因此不可能為每個(gè)可能的虛擬連接運(yùn)行單獨(dú)的getty 。通過網(wǎng)絡(luò)登錄有若干不同的方法, telnet 和rlogin 是TCP/IP網(wǎng)絡(luò)中的主要方法。網(wǎng)絡(luò)登錄為每種登錄方法提供一個(gè)單獨(dú)的守侯程序(telnet 和rlogin 使用不同的守侯程序),而不是使用一群getty ,來偵聽所有的輸入的登錄企圖。當(dāng)發(fā)現(xiàn)一個(gè)登錄企圖,就啟動(dòng)一個(gè)自己的新實(shí)例來處理這個(gè)企圖;原來的實(shí)例繼續(xù)偵聽其他企圖。新實(shí)例的工作和getty 類似。網(wǎng)絡(luò)文件系統(tǒng)網(wǎng)絡(luò)

11、服務(wù)的一個(gè)最有用的東西是通過網(wǎng)絡(luò)文件系統(tǒng)network file system共享文件。這個(gè)服務(wù)一般用Sun公司開發(fā)的網(wǎng)絡(luò)文件系統(tǒng)Network File System,或NFS。通過網(wǎng)絡(luò)文件系統(tǒng),任何文件操作可以由一臺(tái)機(jī)器的一個(gè)程序通過網(wǎng)絡(luò)發(fā)送到其他任何機(jī)器。這愚弄了程序,使它以為其他機(jī)器上的所有文件是在程序運(yùn)行的機(jī)器上。這極大地簡(jiǎn)化了信息共享,因?yàn)樗鼘?duì)程序無須任何修改。郵件電子郵件通常是通過計(jì)算機(jī)通信的最重要的方法。一封電子信件用特定的格式存儲(chǔ)在一個(gè)文件中,使用特定的郵件程序來收發(fā)郵件。每個(gè)用戶有一個(gè)收件箱incoming mailbox(一個(gè)特定格式的文件),所有新郵件存在這里。當(dāng)什么人

12、發(fā)送郵件時(shí),郵件程序定位收件人的郵箱,并在郵箱文件中添加信件。如果收件人的郵箱在另一臺(tái)機(jī)器上,信件就被發(fā)送到那臺(tái)機(jī)器,由它用它覺得最合適的方法來投遞郵箱。郵件系統(tǒng)包括很多程序。投遞郵件到本地或遠(yuǎn)程郵箱使用一個(gè)程序(mail transfer agent或MTA,例如,sendmail 或smail ),而用戶使用的則有很多不同的程序(mail user agent或MUA,例如pine 或elm )。郵箱一般存在/var/spool/mail 中。打印同時(shí)只能有一個(gè)人使用某一臺(tái)打印機(jī),但各用戶不共享打印機(jī)是不經(jīng)濟(jì)的。因此打印機(jī)由軟件來管理,實(shí)現(xiàn)一個(gè)打印隊(duì)列print queue:所有的打印任務(wù)

13、放進(jìn)一個(gè)隊(duì)列,打印機(jī)完成一個(gè)任務(wù)后,自動(dòng)再打印下一個(gè)。這無須用戶來組織打印隊(duì)列,回避了直接控制打印機(jī)。打印隊(duì)列軟件也把打印輸出spools到磁盤,即,當(dāng)任務(wù)在隊(duì)列中時(shí),打印輸出存在一個(gè)文件中。這允許應(yīng)用程序快速地完成一個(gè)打印任務(wù)到打印隊(duì)列程序,應(yīng)用程序無須等到打印任務(wù)真正完成就可以繼續(xù)下去。這真的很方便,因?yàn)樗试S打印出一個(gè)版本,無須打印完成,就繼續(xù)修改一個(gè)新版本。文件系統(tǒng)布局文件系統(tǒng)分為許多部分,通常從根文件系統(tǒng)有: /bin , /lib , /etc , /dev , 及一些其他; /usr 文件系統(tǒng)包含程序和不改變的數(shù)據(jù); /var 文件系統(tǒng)包含改變的數(shù)據(jù)(例如log文件); /hom

14、e 文件系統(tǒng)包含每個(gè)用戶的個(gè)人文件。依賴于硬件配置和系統(tǒng)管理員的決定,方法不同,甚至所有東西可能在一個(gè)文件系統(tǒng)中。3章將更詳細(xì)地說明文件系統(tǒng)布局,Linux文件系統(tǒng)標(biāo)準(zhǔn)(Linux Filesystem Standard)中有更詳細(xì)的說明。Linux 管理員手冊(cè)(2)-目錄樹概述本章說明標(biāo)準(zhǔn)Linux目錄樹的重要部分,基于FSSTND文件系統(tǒng)標(biāo)準(zhǔn)。概述根據(jù)不同的目的和給定的要求將目錄樹分為若干分離的文件系統(tǒng)的一般方法。也說明一些其他方法。背景本章松散地基于Linux文件系統(tǒng)標(biāo)準(zhǔn)FSSTND版本1.2(見參考書目Qui95),它意圖建立一個(gè)如何組織Linux系統(tǒng)目錄樹的標(biāo)準(zhǔn)。這樣一個(gè)標(biāo)準(zhǔn)具有易于

15、寫或port(移植?)Linux軟件、管理Linux系統(tǒng)的優(yōu)點(diǎn),因?yàn)樗袞|西都將在他們的一般地方。此標(biāo)準(zhǔn)沒有強(qiáng)制所有人遵從的權(quán)威,但它有最多的Linux distributions的支持。如果沒有什么特殊的理由,不遵從FSSTND不是個(gè)好主意。 FSSTND意圖遵從Unix傳統(tǒng)和當(dāng)前趨勢(shì),使熟悉其他Unix系統(tǒng)的人對(duì)Linux系統(tǒng)更容易接受(反之亦然)。本章并非如FSSTND那么詳細(xì)。一個(gè)系統(tǒng)管理員應(yīng)該閱讀FSSTND以得到全部的理解。本章不詳細(xì)解釋所有文件。其意圖并非說明每個(gè)文件,而是從文件系統(tǒng)的視角給出系統(tǒng)的一個(gè)概覽。每個(gè)文件的更多的信息在本手冊(cè)或man頁的其他地方。有意將全目錄樹可以分為

16、小的部分,每個(gè)部分可以在自己的磁盤或分區(qū)上,以能為磁盤容量所容納,并易于備份及其他系統(tǒng)管理。主要部分是根、/usr 、/var 和 /home 文件系統(tǒng)。每個(gè)部分有不同的目的。目錄樹已被設(shè)計(jì)成能在Linux機(jī)器的網(wǎng)絡(luò)中很好地工作,可以通過只讀設(shè)備(如CDROM)或NFS網(wǎng)絡(luò)共享文件系統(tǒng)的一些部分。下面說明目錄樹不同部分的任務(wù)。每臺(tái)機(jī)器都有根文件系統(tǒng)(一般在本地盤中,當(dāng)然也可以在RAM盤或網(wǎng)絡(luò)盤中),它包含系統(tǒng)引導(dǎo)和使其他文件系統(tǒng)得以mount所必要的文件,根文件系統(tǒng)應(yīng)該有單用戶狀態(tài)所必須的足夠的內(nèi)容。還應(yīng)該包括修復(fù)損壞系統(tǒng)、恢復(fù)備份等的工具。/usr 文件系統(tǒng)包含所有命令、庫、man頁和其他一

17、般操作中所需的不改變的文件。 /usr 應(yīng)該沒有對(duì)給定機(jī)器特定的文件,也不應(yīng)該有一般使用中要修改的文件。這樣允許此文件系統(tǒng)中的文件通過網(wǎng)絡(luò)共享,這樣可以更有效,因?yàn)檫@樣節(jié)省了磁盤空間(/usr 很容易是數(shù)百兆),且易于管理(當(dāng)升級(jí)應(yīng)用時(shí),只有主/usr 需要改變,而無須改變每臺(tái)機(jī)器) 即使此文件系統(tǒng)在本地盤上,也可以只讀mount,以減少系統(tǒng)崩潰時(shí)文件系統(tǒng)的損壞。/var 文件系統(tǒng)包含會(huì)改變的文件,比如spool目錄(mail、news、打印機(jī)等用的), log文件、formatted manual pages和暫存文件。傳統(tǒng)上/var 的所有東西曾在 /usr 下的某個(gè)地方,但這樣/usr

18、就不可能只讀安裝了。/home 文件系統(tǒng)包含用戶家目錄,即系統(tǒng)上的所有實(shí)際數(shù)據(jù)。將家目錄分到自己的目錄樹或文件系統(tǒng)中易于備份,其他部分經(jīng)常不必備份,至少不必經(jīng)常備份(它們很少改變)。一個(gè)大的/home 可能要分為若干文件系統(tǒng),需要在/home 下加一級(jí)名字,如/home/students 、/home/staff 等。雖然上面將不同的部分稱為文件系統(tǒng),但它們不必是真的分離的文件系統(tǒng)。如果系統(tǒng)是小的單用戶系統(tǒng),而用戶希望簡(jiǎn)單化,可以很容易地放在一個(gè)文件系統(tǒng)中。根據(jù)磁盤容量和不同目的所需分配的空間,目錄樹也可以分到不同的文件系統(tǒng)中。重要的是使用標(biāo)準(zhǔn)的名字,即使/var 和/usr 在同一分區(qū)上,名

19、字/usr/lib/libc.a 和/var/adm/messages 必須能工作,例如將/var 下的文件移動(dòng)到/usr/var ,并將/var 作為/usr/var 的符號(hào)連接。Unix文件結(jié)構(gòu)根據(jù)目的來分組文件,即所有的命令在一個(gè)地方,所有的數(shù)據(jù)在另一個(gè)地方,所有的文檔又在一個(gè)地方,等等。另一個(gè)方法是根據(jù)屬于的程序分組文件,即所有Emacs文件在一個(gè)目錄中,所有TeX文件在另一個(gè)中,等等。后一種方法的問題是文件難于共享(程序目錄經(jīng)常同時(shí)包含靜態(tài)可共享的和動(dòng)態(tài)不可共享的文件),有時(shí)難于查找 (例如man頁在極大數(shù)量的地方,使man程序查找它們極其困難)。 根文件系統(tǒng)根文件系統(tǒng)一般應(yīng)該比較小

20、,因?yàn)榘▏?yán)格的文件和一個(gè)小的不經(jīng)常改變的文件系統(tǒng)不容易損壞。損壞的根文件系統(tǒng)一般意味著除非用特定的方法(例如從軟盤)系統(tǒng)無法引導(dǎo),所以不應(yīng)該冒這個(gè)險(xiǎn)。根目錄一般不含任何文件,除了可能的標(biāo)準(zhǔn)的系統(tǒng)引導(dǎo)映象,通常叫/vmlinuz 。所有其他文件在根文件系統(tǒng)的子目錄中。/bin引導(dǎo)啟動(dòng)所需的命令或普通用戶可能用的命令(可能在引導(dǎo)啟動(dòng)后)。/sbin類似/bin ,但不給普通用戶使用,雖然如果必要且允許時(shí)可以使用。/etc特定機(jī)器的配置文件。/rootroot用戶的家目錄。/lib根文件系統(tǒng)上的程序所需的共享庫。/lib/modules核心可加載模塊,特別是那些恢復(fù)損壞系統(tǒng)時(shí)引導(dǎo)所需的(例如網(wǎng)絡(luò)和

21、文件系統(tǒng)驅(qū)動(dòng))。/dev設(shè)備文件。/tmp臨時(shí)文件。引導(dǎo)啟動(dòng)后運(yùn)行的程序應(yīng)該使用/var/tmp ,而不是/tmp ,因?yàn)榍罢呖赡茉谝粋€(gè)擁有更多空間的磁盤上。/boot引導(dǎo)加載器(bootstrap loader)使用的文件,如LILO。核心映象也經(jīng)常在這里,而不是在根目錄。如果有許多核心映象,這個(gè)目錄可能變得很大,這時(shí)可能使用單獨(dú)的文件系統(tǒng)更好。另一個(gè)理由是要確保核心映象必須在IDE硬盤的前1024柱面內(nèi)。/mnt系統(tǒng)管理員臨時(shí)mount的安裝點(diǎn)。程序并不自動(dòng)支持安裝到/mnt 。 /mnt 可以分為子目錄(例如/mnt/dosa 可能是使用MSDOS文件系統(tǒng)的軟驅(qū),而/mnt/exta 可

22、能是使用ext2文件系統(tǒng)的軟驅(qū))。/proc , /usr , /var , /home其他文件系統(tǒng)的安裝點(diǎn)。/etc目錄/etc 目錄包含很多文件。下面說明其中的一些。其他的你應(yīng)該知道它們屬于哪個(gè)程序,并閱讀該程序的man頁。許多網(wǎng)絡(luò)配置文件也在/etc 中,它們?cè)诰W(wǎng)絡(luò)管理指南中說明。/etc/rc or /etc/rc.d or /etc/rc.d啟動(dòng)、或改變運(yùn)行級(jí)時(shí)運(yùn)行的scripts或scripts的目錄,更詳細(xì)的信息見關(guān)于init 的章。/etc/passwd用戶數(shù)據(jù)庫,其中的域給出了用戶名、真實(shí)姓名、家目錄、加密的口令和用戶的其他信息。格式見passwd 的man頁。/etc/fd

23、prm軟盤參數(shù)表。說明不同的軟盤格式。用setfdprm 設(shè)置。更多的信息見setfdprm 的man頁。/etc/fstab啟動(dòng)時(shí)mount -a命令(在/etc/rc 或等效的啟動(dòng)文件中)自動(dòng)mount的文件系統(tǒng)列表。 Linux下,也包括用swapon -a啟用的swap區(qū)的信息。見4.8.5節(jié)和mount 的man頁。/etc/group類似/etc/passwd ,但說明的不是用戶而是組。見group 的man頁。/etc/inittabinit 的配置文件。/etc/issuegetty 在登錄提示符前的輸出信息。通常包括系統(tǒng)的一段短說明或歡迎信息。內(nèi)容由系統(tǒng)管理員確定。/etc/

24、magicfile 的配置文件。包含不同文件格式的說明,file 基于它猜測(cè)文件類型。見magic 和file 的man頁。/etc/motdMessage Of The Day,成功登錄后自動(dòng)輸出。內(nèi)容由系統(tǒng)管理員確定。經(jīng)常用于通告信息,如計(jì)劃關(guān)機(jī)時(shí)間的警告。/etc/mtab當(dāng)前安裝的文件系統(tǒng)列表。由scripts初始化,并由mount 命令自動(dòng)更新。需要一個(gè)當(dāng)前安裝的文件系統(tǒng)的列表時(shí)使用,例如df 命令。/etc/shadow在安裝了影子口令軟件的系統(tǒng)上的影子口令文件。影子口令文件將/etc/passwd 文件中的加密口令移動(dòng)到/etc/shadow 中,而后者只對(duì)root可讀。這使破譯

25、口令更困難。/etc/login.defslogin 命令的配置文件。/etc/printcap類似/etc/termcap ,但針對(duì)打印機(jī)。語法不同。/etc/profile , /etc/csh.login , /etc/csh.cshrc登錄或啟動(dòng)時(shí)Bourne或C shells執(zhí)行的文件。這允許系統(tǒng)管理員為所有用戶建立全局缺省環(huán)境。各shell見man頁。/etc/securetty確認(rèn)安全終端,即哪個(gè)終端允許root登錄。一般只列出虛擬控制臺(tái),這樣就不可能(至少很困難)通過modem或網(wǎng)絡(luò)闖入系統(tǒng)并得到超級(jí)用戶特權(quán)。/etc/shells列出可信任的shell。chsh 命令允許用戶

26、在本文件指定范圍內(nèi)改變登錄shell。提供一臺(tái)機(jī)器FTP服務(wù)的服務(wù)進(jìn)程ftpd 檢查用戶shell是否列在 /etc/shells 文件中,如果不是將不允許該用戶登錄。/etc/termcap終端性能數(shù)據(jù)庫。說明不同的終端用什么轉(zhuǎn)義序列控制。寫程序時(shí)不直接輸出轉(zhuǎn)義序列(這樣只能工作于特定品牌的終端),而是從/etc/termcap 中查找要做的工作的正確序列。這樣,多數(shù)的程序可以在多數(shù)終端上運(yùn)行。見termcap 、 curs_termcap 和terminfo 的man頁。/dev目錄/dev 目錄包括所有設(shè)備的設(shè)備文件。設(shè)備文件用特定的約定命名,這在設(shè)備列表中說明 (見Anv)。設(shè)備文件在

27、安裝是產(chǎn)生,以后可以用 /dev/MAKEDEV 描述。 /dev/MAKEDEV.local 是系統(tǒng)管理員為本地設(shè)備文件(或連接)寫的描述文稿 (即如一些非標(biāo)準(zhǔn)設(shè)備驅(qū)動(dòng)不是標(biāo)準(zhǔn)MAKEDEV 的一部分)。/usr文件系統(tǒng)/usr 文件系統(tǒng)經(jīng)常很大,因?yàn)樗谐绦虬惭b在這里。 /usr 里的所有文件一般來自Linux distribution;本地安裝的程序和其他東西在/usr/local 下。這樣可能在升級(jí)新版系統(tǒng)或新distribution時(shí)無須重新安裝全部程序。 /usr 的有些子目錄在下面列出(一些不太重要的目錄省略了,更多信息見FSSTND)。/usr/X11R6X Window系統(tǒng)的

28、所有文件。為簡(jiǎn)化X的開發(fā)和安裝,X的文件沒有集成到系統(tǒng)中。 X自己在/usr/X11R6 下類似/usr 。/usr/X386類似/usr/X11R6 ,但是給X11 Release 5的。/usr/bin幾乎所有用戶命令。有些命令在/bin 或/usr/local/bin 中。/usr/sbin根文件系統(tǒng)不必要的系統(tǒng)管理命令,例如多數(shù)服務(wù)程序。/usr/man , /usr/info , /usr/doc手冊(cè)頁、GNU信息文檔和各種其他文檔文件。/usr/includeC編程語言的頭文件。為了一致性這實(shí)際上應(yīng)該在/usr/lib 下,但傳統(tǒng)上支持這個(gè)名字。/usr/lib程序或子系統(tǒng)的不變的

29、數(shù)據(jù)文件,包括一些site-wide配置文件。名字lib來源于庫(library); 編程的原始庫存在/usr/lib 里。/usr/local本地安裝的軟件和其他文件放在這里。/var文件系統(tǒng)/var 包括系統(tǒng)一般運(yùn)行時(shí)要改變的數(shù)據(jù)。每個(gè)系統(tǒng)是特定的,即不通過網(wǎng)絡(luò)與其他計(jì)算機(jī)共享。/var/catman當(dāng)要求格式化時(shí)的man頁的cache。man頁的源文件一般存在/usr/man/man* 中;有些man頁可能有預(yù)格式化的版本,存在/usr/man/cat* 中。而其他的man頁在第一次看時(shí)需要格式化,格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時(shí)就無須等待格式化了。 (/

30、var/catman 經(jīng)常被清除,就象清除臨時(shí)目錄一樣。)/var/lib系統(tǒng)正常運(yùn)行時(shí)要改變的文件。/var/local/usr/local 中安裝的程序的可變數(shù)據(jù)(即系統(tǒng)管理員安裝的程序)。注意,如果必要,即使本地安裝的程序也會(huì)使用其他/var 目錄,例如/var/lock 。/var/lock鎖定文件。許多程序遵循在/var/lock 中產(chǎn)生一個(gè)鎖定文件的約定,以支持他們正在使用某個(gè)特定的設(shè)備或文件。其他程序注意到這個(gè)鎖定文件,將不試圖使用這個(gè)設(shè)備或文件。/var/log各種程序的Log文件,特別是login (/var/log/wtmp log所有到系統(tǒng)的登錄和注銷) 和syslog

31、(/var/log/messages 里存儲(chǔ)所有核心和系統(tǒng)程序信息。 /var/log 里的文件經(jīng)常不確定地增長(zhǎng),應(yīng)該定期清除。/var/run保存到下次引導(dǎo)前有效的關(guān)于系統(tǒng)的信息文件。例如, /var/run/utmp 包含當(dāng)前登錄的用戶的信息。/var/spoolmail, news, 打印隊(duì)列和其他隊(duì)列工作的目錄。每個(gè)不同的spool在/var/spool 下有自己的子目錄,例如,用戶的郵箱在/var/spool/mail 中。/var/tmp比/tmp 允許的大或需要存在較長(zhǎng)時(shí)間的臨時(shí)文件。 (雖然系統(tǒng)管理員可能不允許/var/tmp 有很舊的文件。)/proc文件系統(tǒng)/proc 文件

32、系統(tǒng)是一個(gè)假的文件系統(tǒng)。它不存在在磁盤某個(gè)磁盤上。而是由核心在內(nèi)存中產(chǎn)生。用于提供關(guān)于系統(tǒng)的信息(originally about processes, hence the name)。下面說明一些最重要的文件和目錄。 /proc 文件系統(tǒng)在proc man頁中有更詳細(xì)的說明。/proc/1關(guān)于進(jìn)程1的信息目錄。每個(gè)進(jìn)程在/proc 下有一個(gè)名為其進(jìn)程號(hào)的目錄。/proc/cpuinfo處理器信息,如類型、制造商、型號(hào)和性能。/proc/devices當(dāng)前運(yùn)行的核心配置的設(shè)備驅(qū)動(dòng)的列表。/proc/dma顯示當(dāng)前使用的DMA通道。/proc/filesystems核心配置的文件系統(tǒng)。/proc

33、/interrupts顯示使用的中斷,and how many of each there have been./proc/ioports當(dāng)前使用的I/O端口。/proc/kcore系統(tǒng)物理內(nèi)存映象。與物理內(nèi)存大小完全一樣,但不實(shí)際占用這么多內(nèi)存;it is generated on the fly as programs access it. (記?。撼悄惆阉截惖绞裁吹胤?,/proc 下沒有任何東西占用任何磁盤空間。)/proc/kmsg核心輸出的消息。也被送到syslog 。/proc/ksyms核心符號(hào)表。/proc/loadavg系統(tǒng)平均負(fù)載;3個(gè)沒有意義的指示器指出系統(tǒng)當(dāng)前的工作

34、量。/proc/meminfo存儲(chǔ)器使用信息,包括物理內(nèi)存和swap。/proc/modules當(dāng)前加載了哪些核心模塊。/proc/net網(wǎng)絡(luò)協(xié)議狀態(tài)信息。/proc/self到查看/proc 的程序的進(jìn)程目錄的符號(hào)連接。當(dāng)2個(gè)進(jìn)程查看/proc 時(shí),是不同的連接。這主要便于程序得到它自己的進(jìn)程目錄。/proc/stat系統(tǒng)的不同狀態(tài),such as the number of page faults since the system was booted./proc/uptime系統(tǒng)啟動(dòng)的時(shí)間長(zhǎng)度。/proc/version核心版本。注意所有上述文件給出易讀的文本文件,有時(shí)可能是不易讀的格式

35、。有許多命令做了些格式化以更容易讀。例如,free 程序讀/proc/meminfo 并將給出的字節(jié)數(shù)轉(zhuǎn)換為千字節(jié)(并增加了一些信息)。Linux 管理員手冊(cè)(3)-磁盤和其他存貯介質(zhì)的使用安裝和升級(jí)系統(tǒng)時(shí),需要對(duì)硬盤做很多工作。必須在硬盤上做文件系統(tǒng),使文件能存在其上,并為系統(tǒng)不同的部分保留空間。本章說明所有這些初始化工作。通常,一旦你建立了系統(tǒng),就不必再做這些工作(除了使用軟盤)。如果你要增加一個(gè)新硬盤或更好地調(diào)整你的硬盤的使用,那么可能回到這一章。管理磁盤的基本任務(wù)有:格式化磁盤。這為磁盤進(jìn)入使用做一些工作,比如檢查壞扇區(qū)。(現(xiàn)在多數(shù)硬盤無須格式化。)給硬盤分區(qū),如果想用于互相不干擾的幾

36、件事。分區(qū)的一個(gè)原因是要在一個(gè)硬盤上存不同的操作系統(tǒng)。另一個(gè)原因是將用戶文件和系統(tǒng)文件分開,以簡(jiǎn)化備份并在系統(tǒng)崩潰時(shí)有助于保護(hù)系統(tǒng)文件。在每個(gè)磁盤或分區(qū)上建立合適類型的文件系統(tǒng),然后文件就可以在其上產(chǎn)生和存取。在你建立文件系統(tǒng)前,磁盤對(duì)Linux沒有意義。將不同的文件系統(tǒng)安裝起來形成一個(gè)單獨(dú)的樹結(jié)構(gòu),按需要可以自動(dòng)或手工完成。 (手工安裝的文件系統(tǒng)通常還要手工unmount)5章包括虛擬內(nèi)存和磁盤cache的信息,使用磁盤應(yīng)該知道這些。本章說明對(duì)硬盤、軟盤、CDROM和磁帶機(jī)應(yīng)該知道什么。2種設(shè)備UNIX及Linux,識(shí)別2類設(shè)備:隨機(jī)存取的塊設(shè)備(如磁盤)和字符設(shè)備(如磁帶和串行線),有些是

37、串行的,有些是隨機(jī)存取的。文件系統(tǒng)支持的每種看來是個(gè)設(shè)備文件。當(dāng)讀寫設(shè)備文件時(shí),數(shù)據(jù)與設(shè)備聯(lián)系。這樣沒有必要為存取設(shè)備編制特別的程序(程序不直接獲取中斷或讀取串口),例如,發(fā)送文件到打印機(jī),只需:$ cat filename /dev/lp1$文件內(nèi)容就被打印了(當(dāng)然,文件必須是打印機(jī)能理解的格式)。當(dāng)然,因?yàn)椴粦?yīng)該讓多人同時(shí)cat文件到同一打印機(jī),一般用特定的程序發(fā)送文件去打印(通常是lpr )。這個(gè)程序能確保同時(shí)只有一個(gè)文件被打印,并自動(dòng)在完成后發(fā)送下一個(gè)。多數(shù)設(shè)備有類似需要。實(shí)際上,根本很少需要關(guān)心設(shè)備文件。因?yàn)樵O(shè)備被視為文件系統(tǒng)中的文件(在/dev 目錄中),很容易看到存在哪些設(shè)備文件

38、,使用ls 或其他的適當(dāng)?shù)拿罴纯?。在ls -l 的輸出中,第一列包含文件類型和權(quán)限。例如,查看我系統(tǒng)上的一個(gè)串行設(shè)備:$ ls -l /dev/cua0crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0$第一列第一個(gè)字符,即crw-rw-rw-中的c告訴用戶文件的種類,這是一個(gè)字符設(shè)備。一般文件的第一個(gè)字符是-,目錄是d,塊設(shè)備是b;更多的信息見ls man頁。注意即使設(shè)備沒有安裝,一般所有設(shè)備文件都存在。因此有/dev/sda 文件并不意味著你真的有個(gè)SCSI硬盤。有所有的設(shè)備文件使安裝程序更簡(jiǎn)單,也易于增加新硬件(無須再為產(chǎn)生新設(shè)備的設(shè)備

39、文件找出正確的參數(shù))。 硬盤本節(jié)介紹有關(guān)硬盤的術(shù)語。如果你已經(jīng)知道這些項(xiàng)目和內(nèi)容,可以跳過本節(jié)。硬盤包括一到數(shù)片盤片platters, 其一個(gè)或兩個(gè)面surfaces涂有磁性材料用于記錄數(shù)據(jù)。每面有一個(gè)讀寫頭read-write head用于讀寫數(shù)據(jù)。盤片有一個(gè)共同的軸,典型的旋轉(zhuǎn)速度是每分鐘3600轉(zhuǎn),高性能的硬盤轉(zhuǎn)速可能更高。磁頭可沿著盤片的半徑移動(dòng),磁頭移動(dòng)加上盤片旋轉(zhuǎn)可以使詞頭存取磁盤表面的任何一個(gè)位置。處理器(CPU)和實(shí)際磁盤通過磁盤控制器disk controller通訊。這使計(jì)算機(jī)其他部分不必知道如何使用驅(qū)動(dòng)器,因?yàn)椴煌疟P的控制器可以做成對(duì)計(jì)算機(jī)其他部分相同的接口。這樣,計(jì)算

40、機(jī)只要說嗨,磁盤,給我我要的東西,而不是用一串長(zhǎng)而復(fù)雜的電信號(hào)來移動(dòng)磁頭到正確的位置,并等正確的位置到了磁頭下后再做那些不愉快的工作。 (實(shí)際上,到控制器的接口仍然很復(fù)雜,但比沒有好多了。) 控制器還可以做一些其他的事,比如緩沖,或自動(dòng)壞扇區(qū)替換等。用電信號(hào)控制操作機(jī)械部件,以上只是理解硬件所需的。還有其他好多工作,比如馬達(dá)旋轉(zhuǎn)磁盤、移動(dòng)磁頭,但這都與理解硬盤工作原理無關(guān)。磁盤表面通常被分為同心圓環(huán),叫磁道tracks,磁道又被分為扇區(qū)sectors。用這樣分來將磁盤定位,用于為文件定位磁盤空間。要在硬盤上找到給定的位置,可能?quot;3面5道7扇區(qū)。通常所有磁道有相同的扇區(qū)數(shù),但也有硬盤在

41、外圈磁道放較多的扇區(qū)(所有扇區(qū)用同樣大小的物理空間,這樣在較長(zhǎng)的外圈磁道可以容納更多的數(shù)據(jù))。一般一個(gè)扇區(qū)容納512字節(jié)數(shù)據(jù)。磁盤不能處理比一個(gè)扇區(qū)更小的數(shù)據(jù)量。每個(gè)面以相同的方式分為磁道和扇區(qū)。這意味著當(dāng)一個(gè)磁頭在某個(gè)磁道時(shí),其他磁頭也在相應(yīng)的位置,所有相同位置的磁道組成柱面cylinder。磁頭從一個(gè)磁道(柱面)移動(dòng)到另一個(gè)需要花時(shí)間,所以將經(jīng)常要在一起存取的數(shù)據(jù)(如一個(gè)文件)放在一個(gè)柱面里。這改善了性能。當(dāng)然不可能完全作到,文件被放在幾個(gè)相分離的位置叫碎片fragmented。磁盤的面(或頭,實(shí)際是一樣的)、柱面、扇區(qū)數(shù)各不相同,硬盤這些數(shù)目叫硬盤參數(shù)geometry。硬盤參數(shù)通常存在一

42、個(gè)特定的、由電池供電的存儲(chǔ)區(qū)中,叫CMOS RAM,操作系統(tǒng)在引導(dǎo)啟動(dòng)或驅(qū)動(dòng)器初始化時(shí)可以從那里得到硬盤參數(shù)。不幸的是,BIOS 有一個(gè)設(shè)計(jì)限制,就是不能在CMOS RAM中定義大于1024的磁道數(shù),這對(duì)大硬盤來說就太小了。為了克服這個(gè)問題,硬盤控制器在磁盤參數(shù)上做了一個(gè)欺騙,用地址轉(zhuǎn)換translates the addresses使計(jì)算機(jī)接受。例如,一個(gè)硬盤可能有8個(gè)磁頭,2048個(gè)磁道,每磁道35個(gè)扇區(qū)。其控制器可以對(duì)計(jì)算機(jī)謊稱它有16個(gè)磁頭,1024個(gè)磁道,每磁道35個(gè)扇區(qū),這樣就沒有超過磁道數(shù)的限制,地址轉(zhuǎn)換將磁頭數(shù)減半,磁道數(shù)加倍后傳給硬盤。實(shí)際的算法可能更復(fù)雜,因?yàn)閿?shù)量可能不象我

43、們?cè)谶@里假設(shè)的這么好(但這不影響我們理解原理)。這個(gè)轉(zhuǎn)換在操作系統(tǒng)來看產(chǎn)生了錯(cuò)覺,并可能影響操作系統(tǒng)對(duì)把所有數(shù)據(jù)存在相同柱面的企圖受到影響。轉(zhuǎn)換只是IDE硬盤的問題。SCSI硬盤使用連續(xù)的扇區(qū)號(hào)(即控制器將連續(xù)的扇區(qū)好轉(zhuǎn)換成磁頭、柱面、扇區(qū)的三參數(shù)組),對(duì)CPU與控制器的通信使用完全不同的方法,因此不會(huì)有這個(gè)問題。注意,計(jì)算機(jī)可能根本不知道一個(gè)SCSI硬盤的實(shí)際參數(shù)。由于Linux經(jīng)常不知道一個(gè)硬盤的真正參數(shù),其文件系統(tǒng)也不試圖將文件存在一個(gè)柱面里。而是爭(zhēng)取給一個(gè)文件分配連續(xù)編號(hào)的山區(qū),這樣能得到類似的性能。對(duì)于控制器上有cashe或控制器能自動(dòng)預(yù)取的硬盤,情況將更復(fù)雜。每個(gè)硬盤表現(xiàn)為一個(gè)單獨(dú)

44、的設(shè)備文件。通常只能有2-4個(gè)IDE硬盤。這就是 /dev/hda , /dev/hdb , /dev/hdc , 和 /dev/hdd 。 SCSI是 /dev/sda , /dev/sdb , 等等。其他硬盤類型有類似的命名約定,更多的信息見Anv。注意硬盤的設(shè)備文件給出整個(gè)硬盤的存取,而不是分區(qū)(下面討論的),因此如果不小心可能搞亂分區(qū)或數(shù)據(jù)。硬盤的設(shè)備文件只在存取主引導(dǎo)扇(也將在下面討論)時(shí)使用。軟盤軟盤的一面或兩面涂有和硬盤類似的磁性介質(zhì)。軟盤自己沒有讀寫頭,讀寫頭在驅(qū)動(dòng)器上。軟盤相當(dāng)于硬盤的一張盤片,但可移動(dòng),一個(gè)驅(qū)動(dòng)器可以存取不同的軟盤,而硬盤則是一個(gè)獨(dú)立的單元。如同硬盤,一張軟

45、盤也分為磁道和扇區(qū)(軟盤2面上的相同的磁道組成柱面),但數(shù)量要比硬盤少得多。軟驅(qū)通??梢允褂脦字胁煌谋P片,例如,一個(gè)3.5軟驅(qū)可以使用720KB和1.44MB的軟盤。因?yàn)檐涷?qū)操作有些不同,而操作系統(tǒng)必須知道軟盤的容量,所以軟驅(qū)有許多設(shè)備文件,每個(gè)都與軟驅(qū)和軟盤種類有關(guān)。因此,/dev/fd0H1440 是第一個(gè)軟驅(qū)(fd0),必須是3.5軟驅(qū),使用3.5高密度軟盤(H),容量是1440KB(1440),即普通的3.5HD軟盤。軟盤設(shè)備的命名約定見Anv。軟驅(qū)的名字是復(fù)雜的,因此Linux有一個(gè)特定的軟驅(qū)設(shè)備類型,能自動(dòng)檢測(cè)軟驅(qū)中軟盤的種類。它使用不同的軟盤類型試圖讀取新插入的軟盤的第一個(gè)扇區(qū)

46、,直到找到正確的一個(gè)。這自然要求軟盤是已經(jīng)格式化過的。自動(dòng)設(shè)備叫/dev/fd0 、/dev/fd1 等。存取軟盤的自動(dòng)設(shè)備的參數(shù)可用程序setfdprm 設(shè)定。這可使你使用不是通常容量的軟盤,例如有非標(biāo)準(zhǔn)扇區(qū)數(shù)的軟盤,或自動(dòng)檢測(cè)由于某種原因失敗或適當(dāng)?shù)脑O(shè)備文件丟失。Linux除了所有標(biāo)準(zhǔn)的,還能處理許多非標(biāo)準(zhǔn)的軟盤格式。這有時(shí)需要特殊的格式化程序。我們現(xiàn)在先跳過這些軟盤格式,同時(shí)你可以查看/etc/fdprm 文件。它定義了setfdprm 識(shí)別的設(shè)定。操作系統(tǒng)必須知道軟驅(qū)何時(shí)換了軟盤,例如,以免使用上一張軟盤的cache數(shù)據(jù)。不幸的是,當(dāng)用于此的信號(hào)線斷了或不好時(shí),當(dāng)在MSDOS中使用時(shí),

47、這并不總有效。如果你曾遇到過軟驅(qū)的這種怪異的問題,可能是這個(gè)原因。解決這個(gè)問題的唯一方法是修理軟驅(qū)。CD-ROMCD-ROM驅(qū)動(dòng)器使用一個(gè)光學(xué)可讀的塑料涂布的盤片。信息記錄在盤片表面 的從中心的邊沿的螺旋型小坑上。驅(qū)動(dòng)器發(fā)出一束激光來讀盤。當(dāng)激光射到小坑上,激光以一種方式反射;當(dāng)它射到光滑表面上,它以另一種方式反射。這很容易地編碼成bit,組成信息。其他很容易,不過是機(jī)械。CD-ROM驅(qū)動(dòng)器比硬盤慢。典型的硬盤的平均尋道(seek)時(shí)間小于15毫秒,而快速的CD-ROM驅(qū)動(dòng)器要花零點(diǎn)幾秒。實(shí)際數(shù)據(jù)傳輸率則相當(dāng)快,在數(shù)百KB/s。速度慢使CDROM驅(qū)動(dòng)器不能代替硬盤使用 (有些Linux dis

48、tributions提供live CD-ROM文件系統(tǒng),使之不必拷貝文件到硬盤,使安裝簡(jiǎn)單并節(jié)約了許多硬盤空間),雖然是可能的。要安裝新軟件,CD-ROM很好,因?yàn)樵诎惭b時(shí)速度并非最重要的。有多種方法在CDROM上安排數(shù)據(jù)。最流行的是國(guó)際標(biāo)準(zhǔn)化組織定義的ISO9660。這個(gè)標(biāo)準(zhǔn)定義了一個(gè)最小的文件系統(tǒng),甚至比MSDOS更粗糙。這樣,由于它是這么小,所有操作系統(tǒng)都可以將它映射到自己的系統(tǒng)。不同UNIX不能使用ISO9660文件系統(tǒng),因此開發(fā)了對(duì)這個(gè)標(biāo)準(zhǔn)的一個(gè)增強(qiáng),叫Rock Ridge增強(qiáng)。 Rock Ridge允許長(zhǎng)文件名、符號(hào)連接和許多其他優(yōu)點(diǎn),使CD-ROM更象UNIX文件系統(tǒng)。同時(shí),Ro

49、ck Ridge文件系統(tǒng)仍然是一個(gè)有效的ISO9660文件系統(tǒng),使非UNIX一樣可以使用。 Linux同時(shí)支持ISO9660和Rock Ridge增強(qiáng),增強(qiáng)被自動(dòng)識(shí)別和使用。文件系統(tǒng)只是一部分,許多CD-ROM包含的數(shù)據(jù)需要特定的程序存取,而多數(shù)程序不能運(yùn)行在Linux下 (當(dāng)然,可能運(yùn)行在Linux的MSDOS仿真器dosemu下)。CD-ROM驅(qū)動(dòng)器通過相關(guān)的設(shè)備文件存取。有多種方法將CDROM連接到計(jì)算機(jī):SCSI、聲卡或EIDE。要完成這的硬件hacking工作超出了本書的范圍,但連接方法決定了設(shè)備文件。指導(dǎo)見Anv磁帶磁帶驅(qū)動(dòng)器使用磁帶,類似 音樂用的盒帶。磁帶是串行的,即如果要得到

50、給定部分的數(shù)據(jù),必須經(jīng)過所有部分。磁盤可以隨機(jī)存取,即可以直接跳到磁盤上的某個(gè)部分。串行存取的磁帶當(dāng)然慢了。另外一方面,磁帶相當(dāng)便宜,因?yàn)闊o須快速。也容易做得很長(zhǎng),因此可以容納大量的數(shù)據(jù)。這使磁帶很適于如歸檔、備份等無須高速的、但需要低成本和大容量的事情。格式化格式化在磁介質(zhì)上寫用于標(biāo)記磁道和扇區(qū)的標(biāo)志的過程。磁盤格式化前,其磁表面是完成的一塊。格式化后,混沌變?yōu)橹刃?,建立的磁道,劃分了扇區(qū)。實(shí)際細(xì)節(jié)并非準(zhǔn)確地這樣,但重要的是:磁盤不經(jīng)過格式化是不能使用的。這里術(shù)語有些模糊:MS-DOS中,格式化(format)這個(gè)詞還包括了產(chǎn)生文件系統(tǒng)的過程(下面將討論的)。這兩個(gè)過程經(jīng)常一起使用,尤其是軟

51、盤。當(dāng)必須區(qū)分時(shí),真正的格式化被稱為低級(jí)格式化low-level formatting,而建立文件系統(tǒng)被成為高級(jí)格式化high-level formatting。在UNIX圈中,這兩者叫格式畫format和建立文件系統(tǒng)make a filesystem,本書中也這樣稱。IDE硬盤和一些SCSI硬盤實(shí)際上廠商已經(jīng)做了格式化,并無須重復(fù);因?yàn)槎鄶?shù)人無須關(guān)心它。實(shí)際上,格式化硬盤可能反而不好,比如因?yàn)橛脖P可能需要用特定的方法格式化使壞扇區(qū)被自動(dòng)替換。磁盤經(jīng)常需要特定的程序來格式化,因?yàn)轵?qū)動(dòng)器的格式化邏輯的接口每個(gè)驅(qū)動(dòng)器都不一樣。格式化程序經(jīng)常在控制器BIOS上,或用MSDOS程序提供,這都不太容易在

52、Linux中使用。格式化中可能會(huì)發(fā)現(xiàn)磁盤的壞點(diǎn),叫壞塊bad blocks or bad sectors。這有時(shí)由驅(qū)動(dòng)器自己處理。但有時(shí),如果壞塊太多,需要一些工作來避免使用磁盤的這部分。 The logic to do this is built into the filesystem; 下面將說明如何增加這些信息到文件系統(tǒng)。另外,產(chǎn)生一個(gè)只覆蓋這些壞的部分的小分區(qū)也是一個(gè)辦法。如果壞區(qū)較大,這可能是個(gè)好辦法,因?yàn)槲募到y(tǒng)有時(shí)難以處理大量的壞區(qū)。軟盤格式化使用fdformat 。軟盤設(shè)備使用給定的參數(shù),例如下面的命令在第一個(gè)軟驅(qū)中格式化一張高密度3.5軟盤:$ fdformat /dev/f

53、d0H1440Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.Formatting . doneVerifying . done$注意,如果想使用自動(dòng)檢測(cè)設(shè)備(如/dev/fd0 ), 必須用先setfdprm 設(shè)定參數(shù)。要得到與上面一樣的結(jié)果,可以這樣:$ setfdprm /dev/fd0 1440/1440$ fdformat /dev/fd0Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.Formatting . doneVerifyi

54、ng . done$選擇與軟盤類型相符的正確的設(shè)備文件通常更方便。注意,比軟盤設(shè)計(jì)格式化更多的信息容量是沒有意義的。fdformat 也將驗(yàn)證軟盤,例如檢查壞塊。它在壞塊試驗(yàn)幾次(你通常能聽到,驅(qū)動(dòng)器的噪聲很明顯)。 If the floppy is only marginally bad (due to dirt on the read/write head, some errors are false signals), fdformat 可能沒事,而真正的錯(cuò)誤可能退出有效過程。核心把發(fā)現(xiàn)的每個(gè)I/O錯(cuò)誤打印log信息,送到控制臺(tái),或者,如果使用了syslog ,也送到/usr/adm/m

55、essages 文件。fdformat 自己不說明哪里出錯(cuò)(也不必考慮,軟盤很便宜,壞了就扔)。$ fdformat /dev/fd0H1440Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.Formatting . doneVerifying . read: Unknown error$badblocks 命令可用于查找任何磁盤或分區(qū)的壞塊(包括軟盤)。它不格式化磁盤,因此可以用于檢查存在的文件系統(tǒng)。下面的例子檢查出一張3.5軟盤上的2個(gè)壞塊:$ badblocks /dev/fd0H1440 1440718719$badblocks 輸出發(fā)現(xiàn)的壞塊的塊號(hào)。多數(shù)文件系統(tǒng)可以避免這樣的壞塊。他們維護(hù)一個(gè)已知的壞塊列表,在文件系統(tǒng)建立時(shí)初始化,并可以在以后修改。初始的壞塊查找可由mkfs 命令完成(它初始化文件系統(tǒng)),以后可以用badblocks 來檢查,新的塊可以用fsck 加入。后面我們將說明mkfs 和fsck 。許多新型的硬盤自動(dòng)發(fā)現(xiàn)壞塊,并企圖用一個(gè)特定的、保護(hù)的好塊來代替它。這對(duì)操作系統(tǒng)是不可見的。這種特征應(yīng)該在硬盤手冊(cè)的文檔中,如果你好奇的話。但即使這樣的硬盤也可能失敗,如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論