亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 第 4 部分: 高級(jí)管理 [打印本頁(yè)]

作者: jiupima    時(shí)間: 2005-02-06 10:50
標(biāo)題: 第 4 部分: 高級(jí)管理
在本教程中,我們將通過(guò)討論多個(gè)主題(包括 Linux 文件系統(tǒng)、Linux 引導(dǎo)過(guò)程、運(yùn)行級(jí)別、文件系統(tǒng)限額和系統(tǒng)日志),來(lái)鞏固您在重要的 Linux 管理技能方面的知識(shí)。
一。關(guān)于教程
本教程涉及哪些內(nèi)容?
在本教程中,我們將通過(guò)討論多個(gè)主題(包括 Linux 文件系統(tǒng)、Linux 引導(dǎo)過(guò)程、運(yùn)行級(jí)別、文件系統(tǒng)限額和系統(tǒng)日志),來(lái)鞏固您在重要的 Linux 管理技能方面的知識(shí)。
在本系列教程(共 8 部分)結(jié)束時(shí),您將具備成為 Linux 系統(tǒng)管理員所必需的知識(shí),并且如果您選擇參加 LPI 考試,您將準(zhǔn)備好取得 Linux Professional Institute 頒發(fā)的 LPIC Level 1 證書(shū)。
LPI 徽標(biāo)是 Linux Professional Institute 的商標(biāo)。
我應(yīng)該學(xué)習(xí)這一教程嗎?
這篇高級(jí)管理教程(第 4 部分)是那些希望學(xué)習(xí)或提高 Linux 文件系統(tǒng)相關(guān)技能的人的理想選擇。本教程特別適合剛剛成為初級(jí)系統(tǒng)管理員的人們使用,因?yàn)槲覀兘榻B了許多所有系統(tǒng)管理員都應(yīng)該知道的簡(jiǎn)單問(wèn)題。對(duì)于許多人,文中的許多問(wèn)題可能是初次遇到,但經(jīng)驗(yàn)較豐富的 Linux 用戶(hù)會(huì)發(fā)現(xiàn)這個(gè)教程是鞏固重要的 Linux 系統(tǒng)管理技能和準(zhǔn)備更高級(jí)別 LPI 認(rèn)證的極佳途徑。
如果您是 Linux 新手,我們建議您在繼續(xù)之前先學(xué)完
Part 1: Linux fundamentals

Part 2: Basic administration

Part 3: Intermediate administration
。
關(guān)于作者
有關(guān)本教程內(nèi)容中的技術(shù)問(wèn)題,請(qǐng)與作者聯(lián)系:

Daniel Robbins 居住在美國(guó)新墨西哥州阿爾伯克基(Albuquerque),他是
Gentoo Technologies, Inc.
的總裁兼 CEO,也是 Gentoo Linux(PC 上的高級(jí) Linux)和 Portage 系統(tǒng)(Linux 的下一代移植系統(tǒng))的創(chuàng)造者。他還是 Macmillan 出版的 Caldera OpenLinux Unleashed、SuSE Linux UnleashedSamba Unleashed 等書(shū)的撰稿作者。Daniel 自小學(xué)二年級(jí)起就和計(jì)算機(jī)結(jié)下不解之緣,那時(shí)他第一次接觸 Logo 編程語(yǔ)言,并沉溺于 Pac-Man 游戲中。這也許就是為什么至今他仍擔(dān)任 SONY Electronic Publishing/Psygnosis 首席圖形設(shè)計(jì)師的原因所在。Daniel 喜歡與妻子 Mary 和他們的女兒 Hadassah 一起共度時(shí)光。
Chris Houser 在他的許多朋友中以“欺騙專(zhuān)家”而聞名,自 1994 年加入印第安納州泰勒大學(xué)計(jì)算機(jī)科學(xué)網(wǎng)絡(luò)管理團(tuán)隊(duì)以來(lái),一直是 UNIX 的擁護(hù)者,在那里,他獲得了計(jì)算機(jī)科學(xué)和數(shù)學(xué)學(xué)士學(xué)位。從那以后,他從事過(guò) Web 應(yīng)用程序設(shè)計(jì)、用戶(hù)界面設(shè)計(jì)、專(zhuān)業(yè)視頻軟件支持,目前他在
Compaq
從事 Tru64 UNIX 設(shè)備驅(qū)動(dòng)程序編程。他還參與了多個(gè)自由軟件項(xiàng)目,最近的項(xiàng)目是
Gentoo Linux
。他和他的妻子以及他們的兩只貓一起住在美國(guó)新罕布什爾州。
Aron Griffis 畢業(yè)于泰勒大學(xué),在該校獲得計(jì)算機(jī)學(xué)士學(xué)位并被授予“理想 UNIX 公社未來(lái)的創(chuàng)立者”榮譽(yù)稱(chēng)號(hào)。懷著這一目標(biāo),Aron 受雇于
Compaq
從事編寫(xiě) Tru64 UNIX 網(wǎng)絡(luò)驅(qū)動(dòng)程序的工作,并在閑暇時(shí)間對(duì)鋼琴調(diào)音或開(kāi)發(fā)
Gentoo Linux
。他和妻子 Amy(也是 UNIX 工程師)住在美國(guó)新罕布什爾州的 Nashua。
二。linux文件系統(tǒng)
塊設(shè)備
在本節(jié)中,我們將仔細(xì)研究 Linux 文件系統(tǒng),以便您熟悉管理員需要知道的所有具體的詳細(xì)資料。我將從介紹“塊設(shè)備”開(kāi)始。最為人們熟知的塊設(shè)備可能是表示 Linux 系統(tǒng)中第一個(gè) IDE 驅(qū)動(dòng)器的塊設(shè)備:
/dev/hda
如果您的系統(tǒng)使用 SCSI 驅(qū)動(dòng)器,那么您的第一個(gè)硬盤(pán)驅(qū)動(dòng)器將是:
/dev/sda
以上的塊設(shè)備表示磁盤(pán)的抽象接口。用戶(hù)程序可以使用這些塊設(shè)備與磁盤(pán)進(jìn)行交互而無(wú)需擔(dān)心驅(qū)動(dòng)器是 IDE、SCSI 或其它東西。程序只需將磁盤(pán)上的存儲(chǔ)信息視為一串大小為 512 字節(jié)、連續(xù)的、可隨機(jī)訪(fǎng)問(wèn)的塊來(lái)進(jìn)行尋址。
完整的磁盤(pán)和分區(qū)
在 Linux 下,我們可以使用特殊的“mkfs”命令并將特殊塊設(shè)備指定為命令行參數(shù)來(lái)創(chuàng)建文件系統(tǒng)。
然而,盡管理論上可以使用一個(gè)象 /dev/hda 或 /dev/sda 那樣的“完整的磁盤(pán)”的塊設(shè)備(表示整個(gè)磁盤(pán))來(lái)包含單個(gè)文件系統(tǒng),但實(shí)際上從未采取過(guò)這種方法。而是將整個(gè)磁盤(pán)塊設(shè)備分成更小、更可管理的、名為“分區(qū)”的塊設(shè)備?梢允褂妹麨 fdisk 的工具創(chuàng)建分區(qū),該工具用來(lái)創(chuàng)建和編輯存儲(chǔ)在磁盤(pán)上的分區(qū)表。分區(qū)表對(duì)如何分割整個(gè)磁盤(pán)進(jìn)行了精確定義。
介紹 fdisk
為了研究磁盤(pán)的分區(qū)表,我們可以運(yùn)行 fdisk,其中將表示整個(gè)磁盤(pán)的塊設(shè)備指定為參數(shù):
# fdisk /dev/hda
# fdisk /dev/sda
請(qǐng)注意:如果磁盤(pán)的任何分區(qū)包含正在使用的文件系統(tǒng)或包含重要的數(shù)據(jù),則應(yīng)該保存或作出任何對(duì)磁盤(pán)分區(qū)的更改。那樣做會(huì)導(dǎo)致磁盤(pán)上的數(shù)據(jù)丟失。
使用 fdisk
在 fdisk 中,您將看到與下面相似的提示符:
Command (m for help):
輸入 p 以顯示磁盤(pán)的當(dāng)前分區(qū)配置:
Command (m for help): p
Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux
Command (m for help):
我們將這個(gè)特殊磁盤(pán)配置成包含七個(gè) Linux 文件系統(tǒng)(以“Linux”列出)和一個(gè)交換分區(qū)(以“Linux swap”列出)。請(qǐng)注意左邊相應(yīng)的分區(qū)塊設(shè)備名稱(chēng),從 /dev/hda1 開(kāi)始直到 /dev/hda9。在 PC 的早期,分區(qū)軟件最多只允許四個(gè)分區(qū)(稱(chēng)為“主”分區(qū))。由于這限制過(guò)多,因此產(chǎn)生了一個(gè)名為擴(kuò)展分區(qū)的變通方法。擴(kuò)展分區(qū)和主分區(qū)非常相似,并且占據(jù)四個(gè)主分區(qū)限制中的一個(gè)。然而,擴(kuò)展分區(qū)可以擁有任意數(shù)目的所謂邏輯分區(qū),這有效地解決了四個(gè)分區(qū)的限制。在我們的示例中,hda1 到 hda3 是主分區(qū)。hda4 是包含邏輯分區(qū) hda5 到 hda9 的擴(kuò)展分區(qū)。因此,在本示例中,您實(shí)際上永遠(yuǎn)不可能使用 /dev/hda4 直接存儲(chǔ)任何文件系統(tǒng) ― 它只能作為分區(qū) hda5 到 hda9 的容器。另外,請(qǐng)注意每個(gè)分區(qū)都有一個(gè)“標(biāo)識(shí)(Id)”,這也稱(chēng)做“分區(qū)類(lèi)型”。無(wú)論您何時(shí)創(chuàng)建新的分區(qū),您都必須確保正確設(shè)置了分區(qū)類(lèi)型!83’是包含 Linux 文件系統(tǒng)的分區(qū)的正確類(lèi)型,‘82’是用于 Linux 交換分區(qū)的正確類(lèi)型。您可以使用 fdisk 中的 t 選項(xiàng)設(shè)置分區(qū)類(lèi)型。Linux 內(nèi)核在引導(dǎo)期間用分區(qū)類(lèi)型設(shè)置來(lái)自動(dòng)檢測(cè)磁盤(pán)上的文件系統(tǒng)和交換設(shè)備。fdisk 以及更多內(nèi)容關(guān)于 fdisk 的內(nèi)容還有很多,由于篇幅所限無(wú)法在這里全都討論,這其中還包括新分區(qū)的創(chuàng)建(用 n 命令)以及將更改寫(xiě)入磁盤(pán)(用 w 命令)。請(qǐng)記住您可以輸入 m 來(lái)獲得幫助。如果您初次接觸 fdisk,我建議您通過(guò)在沒(méi)有數(shù)據(jù)丟失危險(xiǎn)的空閑磁盤(pán)上創(chuàng)建一些分區(qū)來(lái)熟悉該程序的用法。一旦創(chuàng)建分區(qū)并將它們寫(xiě)入磁盤(pán),您的新分區(qū)塊設(shè)備就準(zhǔn)備好可以使用了。我們馬上將用這些新的塊設(shè)備來(lái)存儲(chǔ)新的 Linux 文件系統(tǒng)。有關(guān)分區(qū)的更多信息,請(qǐng)參見(jiàn)以下分區(qū)技巧:
創(chuàng)建文件系統(tǒng)
在新的塊設(shè)備可用來(lái)存儲(chǔ)文件以前,我們需要在上面創(chuàng)建新的文件系統(tǒng)。我們通過(guò)使用 mkfs 命令做到這一點(diǎn) ― 我們根據(jù)要?jiǎng)?chuàng)建的文件系統(tǒng)的類(lèi)型來(lái)使用特殊的 mkfs。在本示例中,我們使用 mke2fs 在 /dev/hda6(一個(gè)空的、未使用的分區(qū)塊設(shè)備)上創(chuàng)建 ext2 文件系統(tǒng):
# mke2fs /dev/hdc6
mke2fs 1.25 (20-Sep-2001)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1537088 inodes, 3072423 blocks
153621 blocks (5.00%) reserved for the super user
First data block=0
94 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Writing inode tables: done                           
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 22 mounts or 180 days,
whichever comes first.  Use tune2fs -c or -i to override.
通過(guò)上述命令,mke2fs 在 /dev/hda6 上創(chuàng)建了空白的 ext2 文件系統(tǒng)。
掛裝文件系統(tǒng)
創(chuàng)建文件系統(tǒng)之后,我們就可以使用 mount 命令掛裝它:
# mount /dev/hdc6 /mnt
要掛裝一個(gè)文件系統(tǒng),需要將分區(qū)塊設(shè)備指定為第一個(gè)參數(shù),將“掛裝點(diǎn)”指定為第二個(gè)參數(shù)。新的文件系統(tǒng)將在掛裝點(diǎn)處“嫁接”。這樣做的另一個(gè)效果是“隱藏”位于父文件系統(tǒng)上 /mnt 目錄中的任何文件。以后卸裝該文件系統(tǒng)時(shí),這些文件將重新出現(xiàn)。執(zhí)行掛裝命令后,所有添加到 /mnt 的文件將存儲(chǔ)在新的 ext2 文件系統(tǒng)上。
創(chuàng)建和使用交換分區(qū)
如果我們剛剛創(chuàng)建了一個(gè)分區(qū)作為交換設(shè)備使用,我們要使用 mkswap 命令初始化該分區(qū),并將這個(gè)分區(qū)塊設(shè)備作為參數(shù)指定:
# mkswap /dev/hdc6
不同于常規(guī)文件系統(tǒng),我們不掛裝交換分區(qū)。而是用 swapon 命令啟用交換分區(qū):
# swapon /dev/hdc6
通常,Linux 系統(tǒng)的啟動(dòng)腳本將負(fù)責(zé)自動(dòng)啟用交換分區(qū)。因此,swapon 命令通常只在您要立即添加剛創(chuàng)建的交換分區(qū)時(shí)才需要。要查看當(dāng)前啟用的交換設(shè)備,請(qǐng)輸入 cat /proc/swaps
查看掛裝的文件系統(tǒng)
要查看掛裝了什么文件系統(tǒng),只需輸入 mount 本身即可:
# mount
/dev/ide/host0/bus1/target0/lun0/part7 on / type xfs (rw,noatime,nodiratime)
proc on /proc type proc (rw)
none on /dev type devfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/hdc6 on /mnt type ext2 (rw)
您也可以通過(guò)輸入 cat /proc/mounts 查看類(lèi)似信息。因?yàn)槲业?Linux 系統(tǒng)使用 devfs,所以 mount 輸出的第一行列出了較長(zhǎng)的“根(root)”分區(qū)塊設(shè)備路徑。“根”文件系統(tǒng)將在引導(dǎo)期間由內(nèi)核自動(dòng)掛裝。對(duì) /dev 使用新的 devfs 設(shè)備管理文件系統(tǒng)的系統(tǒng)所用的正式的分區(qū)和磁盤(pán)塊設(shè)備名稱(chēng)比 Linux 過(guò)去一直使用的更長(zhǎng)。例如,/dev/ide/host0/bus1/target0/lun0/part7 是 /dev/hdc7 的正式名稱(chēng),而 /dev/hdc7 本身只是指向正式塊設(shè)備的符號(hào)鏈接。通過(guò)查看 /dev/.devfsd 文件是否存在,您可以確定文件系統(tǒng)是否在使用 devfs;如果該文件存在,則 devfs 是活動(dòng)的。
掛裝選項(xiàng)
可以通過(guò)指定掛裝選項(xiàng)來(lái)定制待掛裝文件系統(tǒng)的各種屬性。例如,您可以使用“ro”選項(xiàng)將文件系統(tǒng)掛裝為“只讀”:
# mount /dev/hdc6 /mnt -o ro
/dev/hdc6 掛裝為只讀后,就不能修改 /mnt 中的任何文件 ― 只能讀取。如果您的文件系統(tǒng)已經(jīng)掛裝為“讀/寫(xiě)”方式,而您想把它切換為只讀方式,您可以使用“remount”選項(xiàng)以避免再次卸裝和重新掛裝該文件系統(tǒng):
# mount /mnt -o remount,ro
請(qǐng)注意:不需要指定分區(qū)塊設(shè)備,因?yàn)橐呀?jīng)掛裝了文件系統(tǒng)而且 mount 知道 /mnt 與 /dev/hdc6 相關(guān)聯(lián)。要使文件系統(tǒng)再次為可寫(xiě),我們可以將它重新掛裝為讀/寫(xiě)方式:
# mount /mnt -o remount,rw
請(qǐng)注意:如果有任何進(jìn)程打開(kāi)了 /mnt 中的任何文件或目錄,那么這些重新掛裝命令將不會(huì)成功地完成。要熟悉 Linux 下所有可用的掛裝選項(xiàng),請(qǐng)輸入 man mount。
介紹 fstab
到目前為止,我們已經(jīng)了解了如何手工掛裝文件系統(tǒng)。一般而言,如果您要經(jīng)常掛裝一個(gè)文件系統(tǒng),那么手工掛裝往往有些麻煩。而且對(duì)于基本的文件系統(tǒng)(如一個(gè)單獨(dú)的 /var 文件系統(tǒng)),手工掛裝是不可能的。這些文件系統(tǒng)需要在引導(dǎo)期間自動(dòng)掛裝,只要向 /etc/fstab 文件添加合適的項(xiàng),我們就可以告訴系統(tǒng)做這些事情。即使您不希望在引導(dǎo)期間自動(dòng)掛裝該文件系統(tǒng),一個(gè) /etc/fstab 項(xiàng)也可以使掛裝變得比較容易,正如我們馬上會(huì)看到的那樣。
樣本 fstab
讓我們考察一個(gè)樣本 /etc/fstab 文件:
#                                                                        
/dev/hda1         /boot                ext2                noauto,noatime                        1 2
/dev/hdc7         /                xfs                noatime,osyncisdsync,nodiratime        0 1
/dev/hdc5         none              swap                sw                                0 0
/dev/cdrom        /mnt/cdrom        iso9660                noauto,ro,user                        0 0
# /proc should always be enabled
proc                /proc             proc                defaults                                0 0
如上所示,/etc/fstab 中的每個(gè)未注釋行指定一個(gè)分區(qū)塊設(shè)備、一個(gè)掛裝點(diǎn)、一個(gè)文件系統(tǒng)類(lèi)型、掛裝該文件系統(tǒng)時(shí)要用到的文件系統(tǒng)選項(xiàng)以及兩個(gè)數(shù)字字段。第一個(gè)數(shù)字字段用來(lái)向 dump 備份命令指明應(yīng)該備份的文件系統(tǒng)。當(dāng)然,如果您不打算在系統(tǒng)上使用 dump 命令,那么忽略這個(gè)字段不會(huì)有問(wèn)題。后一個(gè)字段由 fsck 文件系統(tǒng)完整性檢查程序使用,并告訴該程序在引導(dǎo)時(shí)檢查文件系統(tǒng)所應(yīng)采用的順序。我們將在下幾屏再次接觸 fsck。
觀察 /dev/hda1 行;您會(huì)發(fā)現(xiàn) /dev/hda1 是一個(gè)應(yīng)該掛裝在 /boot 掛裝點(diǎn)的 ext2 文件系統(tǒng),F(xiàn)在,觀察 列中 /dev/hda1 的掛裝選項(xiàng)。noauto 選項(xiàng)告訴系統(tǒng)在引導(dǎo)期間不要自動(dòng)掛裝 /dev/hda1;如果沒(méi)有這個(gè)選項(xiàng),系統(tǒng)引導(dǎo)時(shí)會(huì)自動(dòng)將 /dev/hda1 掛裝到 /boot。
還要注意 noatime 選項(xiàng),它關(guān)閉了磁盤(pán)上 atime (最近訪(fǎng)問(wèn)時(shí)間)信息的記錄。該信息通常是不需要的,關(guān)閉 atime 更新對(duì)文件系統(tǒng)性能有積極作用。您還可以使用 nodiratime 掛裝選項(xiàng)來(lái)關(guān)閉目錄 atime 更新。
現(xiàn)在,觀察 /proc 行并注意 defaults 選項(xiàng)。當(dāng)希望只用標(biāo)準(zhǔn)掛裝選項(xiàng)掛裝文件系統(tǒng)時(shí),請(qǐng)使用 defaults。因?yàn)?/etc/fstab 有多個(gè)字段,所以我們不能簡(jiǎn)單地讓這個(gè)選項(xiàng)字段留作空白。
還要注意 的 /etc/fstab 中的為 /dev/hdc5 定義的行。該行將 /dev/hdc5 定義為交換設(shè)備。因?yàn)榻粨Q設(shè)備不象文件系統(tǒng)那樣被掛裝,所以在掛裝點(diǎn)字段指定 none。由于這個(gè) /etc/fstab 項(xiàng),系統(tǒng)啟動(dòng)時(shí)將自動(dòng)啟用 /dev/hdc5 交換設(shè)備。
如果有如上所示用于 /dev/cdrom 的 /etc/fstab 項(xiàng),掛裝 CD-ROM 驅(qū)動(dòng)器會(huì)變得更加簡(jiǎn)單。我們不再輸入:
# mount -t iso9660 /dev/cdrom /mnt/cdrom -o ro
我們現(xiàn)在可以輸入:
# mount /dev/cdrom
事實(shí)上,使用 /etc/fstab 允許我們利用 user 選項(xiàng)。user 掛裝選項(xiàng)告訴系統(tǒng)允許任何用戶(hù)掛裝這個(gè)特殊的文件系統(tǒng)。這對(duì)于可移動(dòng)媒體設(shè)備(象 CD-ROM 驅(qū)動(dòng)器)很方便。如果沒(méi)有這個(gè) fstab 掛裝選項(xiàng),則只有 root 用戶(hù)能夠使用 CD-ROM 驅(qū)動(dòng)器。
卸裝文件系統(tǒng)
通常情況下,所有掛裝的文件系統(tǒng)在系統(tǒng)重新引導(dǎo)或關(guān)機(jī)時(shí)都會(huì)自動(dòng)卸裝。當(dāng)卸裝文件系統(tǒng)時(shí),內(nèi)存中所有位于高速緩存中的文件系統(tǒng)數(shù)據(jù)都被刷新到磁盤(pán)中。
然而,也可以手工卸裝文件系統(tǒng)。在可以卸裝文件系統(tǒng)以前,您首先必須確保正在運(yùn)行的進(jìn)程在當(dāng)前討論的文件系統(tǒng)上沒(méi)有打開(kāi)的文件。然后,使用 umount 命令,將設(shè)備名稱(chēng)或者掛裝點(diǎn)指定為參數(shù):
# umount /mnt
或# umount /dev/hdc6
卸裝之后,/mnt 中被以前掛裝的文件系統(tǒng)所“覆蓋”的所有文件將重新出現(xiàn)。
介紹 fsck
如果您的系統(tǒng)因某種原因崩潰或鎖定,那么系統(tǒng)將無(wú)法徹底卸裝您的文件系統(tǒng)。如果發(fā)生了這種情況,您的文件系統(tǒng)就處于不一致(不可預(yù)測(cè))狀態(tài)。當(dāng)系統(tǒng)重新引導(dǎo)時(shí),fsck 程序?qū)z測(cè)出文件系統(tǒng)沒(méi)有完全卸裝,并希望對(duì) /etc/fstab 中列出的文件系統(tǒng)進(jìn)行一致性檢查。
有一點(diǎn)很重要 ― 對(duì)于由 fsck 檢查的文件系統(tǒng),必須在 /etc/fstab 的“pass”字段(最后一個(gè)字段)中有非零數(shù)字。通常情況下,應(yīng)將根文件系統(tǒng)的 passno 設(shè)置為 1,這指定應(yīng)首先檢查它。所有其它應(yīng)在啟動(dòng)期間檢查的文件系統(tǒng)的 passno 應(yīng)為 2 或更高。
有時(shí)候,您會(huì)發(fā)現(xiàn) fsck 在重新引導(dǎo)后不能完全修復(fù)一個(gè)部分損壞的文件系統(tǒng)。在這些情況下,您所能做的就是將系統(tǒng)降為單用戶(hù)模式,然后手工運(yùn)行 fsck ,并將這個(gè)分區(qū)塊設(shè)備作為參數(shù)提供。在 fsck 進(jìn)行文件系統(tǒng)修復(fù)時(shí),它可能會(huì)問(wèn)您是否修復(fù)特殊的文件系統(tǒng)缺陷。通常情況下,您應(yīng)該對(duì)所有這些問(wèn)題回答 y(yes)并允許 fsck 執(zhí)行它的工作。
fsck 的問(wèn)題
fsck 掃描的問(wèn)題之一是需要花較長(zhǎng)的時(shí)間才能完成,因?yàn)樗獟呙枵麄(gè)文件系統(tǒng)的元數(shù)據(jù)(內(nèi)部數(shù)據(jù)結(jié)構(gòu))以確保其一致性。對(duì)于一些非常大的文件系統(tǒng),用超過(guò)一小時(shí)的時(shí)間進(jìn)行一次徹底的 fsck 并不罕見(jiàn)。
為了解決這個(gè)問(wèn)題,人們?cè)O(shè)計(jì)了一種新的文件系統(tǒng),名為日志記錄文件系統(tǒng)(journaling filesystem)。日志記錄文件系統(tǒng)記錄一個(gè)近期對(duì)文件系統(tǒng)元數(shù)據(jù)所做更改的磁盤(pán)日志。如果發(fā)生崩潰,該文件系統(tǒng)驅(qū)動(dòng)程序檢查日志。因?yàn)槿罩竞写疟P(pán)上近期更改的精確記錄,所以只需檢查這部分文件系統(tǒng)元數(shù)據(jù)來(lái)找出錯(cuò)誤。多虧這一重要的設(shè)計(jì)差異,對(duì)一個(gè)日志記錄系統(tǒng)進(jìn)行一致性檢查通常只需大約幾秒鐘(不管文件有多大)。出于這個(gè)原因,日志記錄文件系統(tǒng)正在 Linux 社區(qū)流行起來(lái)。有關(guān)日志記錄文件系統(tǒng)的更多信息,請(qǐng)參閱
高級(jí)文件系統(tǒng)實(shí)現(xiàn)者指南, 第一部分: 日志和 ReiserFS
。
現(xiàn)在,讓我們研究可用于 Linux 的各種文件系統(tǒng)。
ext2 文件系統(tǒng)
ext2 文件系統(tǒng)多年來(lái)已經(jīng)成為標(biāo)準(zhǔn)的 Linux 文件系統(tǒng)。對(duì)于大多數(shù)應(yīng)用程序,它通常都有很好的性能,但它沒(méi)有任何日志記錄能力。這使得它不適合非常大的文件系統(tǒng),因?yàn)閳?zhí)行 fscks 要花太多的時(shí)間。另外,由于每個(gè) ext2 文件系統(tǒng)只能擁有固定數(shù)目的索引節(jié)點(diǎn)(inode),所以 ext2 有些內(nèi)置的限制。可以這么說(shuō),通常認(rèn)為 ext2 是一個(gè)非常健壯和有效的非日志記錄文件系統(tǒng)。

ext3 文件系統(tǒng)
ext3 文件系統(tǒng)使用與 ext2 相同的磁盤(pán)格式,但增加了日志記錄能力。事實(shí)上,在所有的 Linux 文件系統(tǒng)中,ext3 具有最廣泛的日志記錄支持,它不僅支持元數(shù)據(jù)日志記錄,還支持有序日志記錄(缺。┖屯耆摹霸獢(shù)據(jù)+數(shù)據(jù)”日志記錄。這些“特殊”日志記錄方式有助于確保數(shù)據(jù)完整性,而不象其它日志記錄實(shí)現(xiàn)僅僅縮短 fsck 的運(yùn)行時(shí)間。出于這個(gè)原因,如果數(shù)據(jù)完整性是絕對(duì)最重要的,那么 ext3 是可用的最佳文件系統(tǒng)。然而,這些數(shù)據(jù)完整性功能確實(shí)會(huì)在某種程度上影響性能。另外,因?yàn)?ext3 使用與 ext2 相同的磁盤(pán)格式,所以和它的非日志記錄表親(ext2)一樣,它也受到同樣的可伸縮性限制。如果您在尋找一個(gè)出色的、通用的同時(shí)又非常健壯的日志記錄文件系統(tǒng),那么 ext3 是很好的選擇。

ReiserFS 文件系統(tǒng)
ReiserFS 是一個(gè)相對(duì)較新的文件系統(tǒng),它的設(shè)計(jì)目標(biāo)是提供非常好的小文件性能、非常好的通用性能以及是非?缮炜s的。ReiserFS 使用元數(shù)據(jù)日志以避免長(zhǎng)時(shí)間的 fsck,但日志實(shí)現(xiàn)可能使最近修改的數(shù)據(jù)在系統(tǒng)鎖定時(shí)被毀壞。通常情況下,ReiserFS 有非常好的性能,但在裝入特定種類(lèi)的文件系統(tǒng)時(shí)可能出現(xiàn)某種性能反常的情況。另外,ReiserFS 的 fsck 工具還不成熟,因此從毀壞的文件系統(tǒng)恢復(fù)數(shù)據(jù)可能會(huì)有困難。這些問(wèn)題中的很多是由于 ReiserFS 相對(duì)較新、仍在發(fā)展過(guò)程中。許多人因 ReiserFS 的速度和可伸縮性而喜愛(ài)它。

XFS 文件系統(tǒng)
XFS 文件系統(tǒng)是正在由
SGI
移植到 Linux 的企業(yè)級(jí)日志記錄文件系統(tǒng)。現(xiàn)成的內(nèi)核中還沒(méi)有 XFS,不過(guò)可以在
http://oss.sgi.com/projects/xfs
找到有關(guān) XFS 的更多信息。有關(guān) XFS 的簡(jiǎn)介,請(qǐng)參閱
高級(jí)文件系統(tǒng)實(shí)現(xiàn)者指南,第 9 部分: XFS 簡(jiǎn)介

JFS 文件系統(tǒng)
JFS 是一個(gè)由 IBM 移植到 Linux 的高性能日志記錄文件系統(tǒng)。JFS 由 IBM 企業(yè)服務(wù)器使用,并且是為高性能應(yīng)用程序而設(shè)計(jì)的,F(xiàn)成的內(nèi)核中還沒(méi)有 JFS。您可以在
JFS 項(xiàng)目網(wǎng)站
學(xué)習(xí)更多有關(guān) JFS 的知識(shí)。
VFAT
VFAT 文件系統(tǒng)實(shí)際不是那種您可以選擇用于存儲(chǔ) Linux 文件的文件系統(tǒng)。相反,它是一種與 DOS 兼容的文件系統(tǒng)驅(qū)動(dòng)程序,允許您掛裝基于 DOS 和 Windows FAT 的文件系統(tǒng)并與之交換數(shù)據(jù)。VFAT 文件系統(tǒng)驅(qū)動(dòng)程序在標(biāo)準(zhǔn) Linux 內(nèi)核中存在。
三。引導(dǎo)系統(tǒng)
關(guān)于本節(jié)
本節(jié)介紹 Linux 引導(dǎo)過(guò)程。我們將介紹引導(dǎo)裝入程序的概念、如何在引導(dǎo)時(shí)設(shè)置內(nèi)核選項(xiàng)以及如何檢查引導(dǎo)日志以找出錯(cuò)誤。
MBR
不管安裝的是哪個(gè)分發(fā)版(distribution),所有機(jī)器的引導(dǎo)過(guò)程都很相似。考慮下列硬盤(pán)示例:
                              +----------------+
                              |      MBR       |
                              +----------------+
                              |  Partition 1:  |
                              | Linux root (/) |
                              |   containing   |
                              |   kernel and   |
                              |     system.    |
                              +----------------+
                              |  Partition 2:  |
                              |   Linux swap   |
                              +----------------+
                              |  Partition 3:  |
                              |   Windows 3.0  |
                              |  (last booted  |
                              |    in 1992)    |
                              +----------------+
首先,計(jì)算機(jī)的 BIOS 讀取硬盤(pán)上的頭幾個(gè)扇區(qū)。這些扇區(qū)包含一個(gè)非常小的程序,名為“主引導(dǎo)記錄(Master Boot Record)”,或簡(jiǎn)稱(chēng)為“MBR”。MBR 已經(jīng)存儲(chǔ)了 Linux 內(nèi)核在硬盤(pán)上的位置(在上面的示例中是分區(qū) 1),因此它將內(nèi)核裝入內(nèi)存,然后啟動(dòng)它。
內(nèi)核引導(dǎo)過(guò)程
接下來(lái)您看到的東西(盡管它可能一閃而過(guò))是與下面類(lèi)似的一行:
Linux version 2.4.16 (root@time.flatmonk.org) (gcc version 2.95.3 20010315 (release)) #1 Sat Jan 12 19:23:04 EST 2002
這就是內(nèi)核開(kāi)始運(yùn)行時(shí)所打印的第一行信息。首先是內(nèi)核版本,接著是構(gòu)建該內(nèi)核的用戶(hù)標(biāo)識(shí)(通常是 root 用戶(hù)),然后是構(gòu)建它的編譯器,最后是構(gòu)建時(shí)的時(shí)間戳記。
那一行之后是來(lái)自?xún)?nèi)核的關(guān)于系統(tǒng)硬件的大量輸出:處理器、PCI 總線(xiàn)、磁盤(pán)控制器、磁盤(pán)、串口、軟驅(qū)、USB 設(shè)備、網(wǎng)絡(luò)適配器、聲卡和其它可能的設(shè)備將依次報(bào)告它們的狀態(tài)。
/sbin/init
當(dāng)內(nèi)核裝入結(jié)束時(shí),它啟動(dòng)一個(gè)名為 init 的程序。該程序直到系統(tǒng)關(guān)機(jī)才停止運(yùn)行。如您所見(jiàn),始終給它分配進(jìn)程標(biāo)識(shí) 1:
$ ps --pid 1
  PID TTY          TIME CMD
    1 ?        00:00:04 init.system
init 程序通過(guò)運(yùn)行一系列腳本來(lái)引導(dǎo)分發(fā)版的余下部分。這些腳本通常位于 /etc/rc.d/init.d 或 /etc/init.d 中,它們執(zhí)行的服務(wù)有設(shè)置系統(tǒng)主機(jī)名、檢查文件系統(tǒng)是否有錯(cuò)誤、掛裝附加的文件系統(tǒng)、啟用聯(lián)網(wǎng)以及啟動(dòng)打印服務(wù)等等。當(dāng)腳本運(yùn)行結(jié)束時(shí),init 啟動(dòng)名為 getty 的程序,該程序會(huì)顯示登錄提示符,然后您就可以開(kāi)始使用了!
深入研究:LILO
既然我們已經(jīng)快速了解了引導(dǎo)過(guò)程,現(xiàn)在讓我們更仔細(xì)地研究第一個(gè)部分:MBR 和裝入內(nèi)核。維護(hù) MBR 是“引導(dǎo)裝入程序”的職責(zé); x86 的 Linux 的兩個(gè)最流行的引導(dǎo)裝入程序是“LILO”(LInux LOader 的縮寫(xiě))和“GRUB”(GRand Unified Bootloader 的縮寫(xiě))。
LILO 是二者中出現(xiàn)得較早、較常用的引導(dǎo)裝入程序。引導(dǎo)時(shí)會(huì)出現(xiàn)簡(jiǎn)短的“LILO boot:”提示符,說(shuō)明 LILO 存在于您的系統(tǒng)上。請(qǐng)注意,您可能要在引導(dǎo)時(shí)按住 shift 鍵才能看到提示符,因?yàn)橄到y(tǒng)常常被配置為不間歇地快速運(yùn)行,從而會(huì)很快閃過(guò)這個(gè)畫(huà)面。
LILO 提示符沒(méi)有太多華而不實(shí)的東西,不過(guò)如果您按一下 鍵,您會(huì)看到一個(gè)可引導(dǎo)的可選內(nèi)核(或其它操作系統(tǒng))列表。通常列表中只有一項(xiàng)。您可以輸入其中一項(xiàng)的名稱(chēng)然后按 來(lái)引導(dǎo)它。或者您可以簡(jiǎn)單地按一下 ,在缺省情況下將引導(dǎo)列表中的第一項(xiàng)。
使用 LILO
有時(shí)候您希望在引導(dǎo)期間將一個(gè)選項(xiàng)傳遞到內(nèi)核。一些較常用的選項(xiàng)是:root= 用來(lái)指定替代的引導(dǎo)文件系統(tǒng),init= 用來(lái)指定替代的 init 程序(如指定 init=/bin/sh 來(lái)挽救被錯(cuò)誤配置的系統(tǒng)),mem= 指定系統(tǒng)中的內(nèi)存數(shù)量(例如,在 Linux 只自動(dòng)識(shí)別了 128 M 的情況下使用 mem=512M)。您可以在 LILO 引導(dǎo)提示符下向內(nèi)核傳遞下列選項(xiàng):
LILO boot: linux root=/dev/hdb2 init=/bin/sh mem=512M
如果您需要經(jīng)常指定命令行選項(xiàng),您應(yīng)該考慮把它們添加到 /etc/lilo.conf 文件。該文件的格式在 lilo.conf(5) 手冊(cè)頁(yè)中有描述。
一個(gè)重要的 LILO 問(wèn)題
在轉(zhuǎn)向討論 GRUB 以前,還要討論一個(gè)重要的 LILO 問(wèn)題。只要您對(duì) /etc/lilo.conf 做了更改,或安裝了新的內(nèi)核,您都必須運(yùn)行 lilolilo 程序會(huì)重寫(xiě) MBR 以反映您所做的更改,包括記錄內(nèi)核的絕對(duì)磁盤(pán)位置。這里的示例利用 -v 標(biāo)記進(jìn)行詳細(xì)信息描述。
# lilo -v
LILO version 21.4-4, Copyright (C) 1992-1998 Werner Almesberger
'lba32' extensions Copyright (C) 1999,2000 John Coffman
Reading boot sector from /dev/hda
Merging with /boot/boot.b
Mapping message file /boot/message
Boot image: /boot/vmlinuz-2.2.16-22
Added linux *
/boot/boot.0300 exists - no backup copy made.
Writing boot sector.
深入研究:GRUBGRUB 引導(dǎo)裝入程序被認(rèn)為是繼 LILO 之后的下一代引導(dǎo)裝入程序。對(duì)用戶(hù)而言,最顯而易見(jiàn)的是它用一個(gè)菜單界面取代了 LILO 的原始提示符。對(duì)于系統(tǒng)管理員而言,改變更為顯著。GRUB 比 LILO 支持更多的操作系統(tǒng),它在引導(dǎo)菜單中提供了基于密碼的安全性,并且更易于管理。通常用 grub-install 命令安裝 GRUB。安裝完畢后,可以編輯文件 /boot/grub/menu.lst 來(lái)管理 GRUB 菜單。這兩個(gè)任務(wù)都超出了本文的討論范圍;在試圖安裝或管理 GRUB 之前,您應(yīng)該閱讀 GRUB 信息頁(yè)。使用 GRUB要向內(nèi)核傳遞參數(shù),您可以在引導(dǎo)菜單上按 e。這使您有機(jī)會(huì)編輯(再次按 e)要裝入的內(nèi)核名稱(chēng)或傳遞給它的參數(shù)。當(dāng)您結(jié)束編輯后,按  鍵,然后按 b 鍵以用您所做的更改來(lái)引導(dǎo)。LILO 與 GRUB 之間值得一提的顯著區(qū)別是:GRUB 不需要在每次更改配置或安裝新內(nèi)核后重新安裝其引導(dǎo)裝入程序。這是因?yàn)?GRUB 理解 Linux 文件系統(tǒng),而 LILO 只是存儲(chǔ)要裝入內(nèi)核的絕對(duì)磁盤(pán)位置。當(dāng)系統(tǒng)管理員安裝新內(nèi)核后忘了輸入 lilo 時(shí),GRUB 的這一簡(jiǎn)單事實(shí)可以緩解他們的挫折感。dmesg來(lái)自?xún)?nèi)核和 init 腳本的引導(dǎo)消息通常在屏幕上停留的時(shí)間很短,您可能會(huì)注意到一個(gè)錯(cuò)誤消息,但在您能看清楚它以前,它已經(jīng)消失了。在這種情況下,您可以在系統(tǒng)引導(dǎo)之后到兩個(gè)地方去查看以找出錯(cuò)誤(并且有希望找到修復(fù)它的方法)。如果錯(cuò)誤出現(xiàn)在內(nèi)核正在裝入或檢測(cè)硬件設(shè)備的時(shí)候,您可以用 dmesg 命令獲得一個(gè)內(nèi)核日志的副本。
# dmesg | head -1
Linux version 2.4.16 (root@time.flatmonk.org) (gcc version 2.95.3 20010315 (release)) #1 Sat Jan 12 19:23:04 EST 2002
嘿,我們認(rèn)得那一行!這就是內(nèi)核在裝入時(shí)打印的第一行信息。的確,如果您將 dmesg 的輸出傳送到分頁(yè)程序上,您會(huì)看到內(nèi)核在引導(dǎo)時(shí)打印的所有消息以及內(nèi)核在那段時(shí)間已打印到控制臺(tái)的所有消息。/var/log/messages第二個(gè)查看信息的地方在 /var/log/messages 文件中。該文件由 syslog 守護(hù)程序記錄,syslog 守護(hù)程序接受來(lái)自庫(kù)、守護(hù)程序和內(nèi)核的輸入。消息文件中的每一行都被打上時(shí)間戳記。這個(gè)文件是查找引導(dǎo)期間的 init 腳本階段出現(xiàn)的錯(cuò)誤的好位置。例如,要查看來(lái)自名稱(chēng)服務(wù)器的最后幾條消息:
# grep named /var/log/messages | tail -3
Jan 12 20:17:41 time /usr/sbin/named[350]: listening on IPv4 interface lo, 127.0.0.1#53
Jan 12 20:17:41 time /usr/sbin/named[350]: listening on IPv4 interface eth0, 10.0.0.1#53
Jan 12 20:17:41 time /usr/sbin/named[350]: running單用戶(hù)方式我們知道,可以在內(nèi)核引導(dǎo)時(shí)向它傳遞參數(shù)。最常使用的參數(shù)之一是 s,它使系統(tǒng)以“單用戶(hù)”方式啟動(dòng)。這一方式通常只掛裝根文件系統(tǒng),啟動(dòng) init 腳本的最小子集,然后啟動(dòng) shell 而不是提供登錄提示符。另外,沒(méi)有配置聯(lián)網(wǎng),因此外部因素沒(méi)有機(jī)會(huì)影響您的工作。使用單用戶(hù)方式那么在這樣的狀態(tài)下我們能夠“做什么”呢?要回答這個(gè)問(wèn)題,我們必須認(rèn)識(shí)到 Linux 和 Windows 之間的巨大差異。Windows 被設(shè)計(jì)成通常在同一時(shí)間內(nèi)只能由坐在控制臺(tái)前的一個(gè)人使用。它實(shí)際上一直處于“單用戶(hù)”方式。相反,Linux 更多地用于為網(wǎng)絡(luò)應(yīng)用程序服務(wù),或?yàn)榫W(wǎng)絡(luò)上的遠(yuǎn)程用戶(hù)提供 shell 或 X 會(huì)話(huà)。當(dāng)您希望執(zhí)行維護(hù)操作(如:從備份中恢復(fù)、創(chuàng)建或修改文件系統(tǒng)、從 CD 升級(jí)系統(tǒng)等等)時(shí),您不希望有這些額外的變數(shù)。在這些情況下,您應(yīng)該使用單用戶(hù)方式。更改運(yùn)行級(jí)別 事實(shí)上,要進(jìn)入單用戶(hù)方式不必重新引導(dǎo)。init 程序管理系統(tǒng)的當(dāng)前方式(或稱(chēng)為“運(yùn)行級(jí)別(runlevel)”)。Linux 系統(tǒng)的標(biāo)準(zhǔn)運(yùn)行級(jí)別按如下分類(lèi)并定義:這些運(yùn)行級(jí)別因分發(fā)版而異,所以請(qǐng)確保參考您的分發(fā)版的文檔。要轉(zhuǎn)至單用戶(hù)方式,可以使用 telinit 命令,它指示 init 更改運(yùn)行級(jí)別:# telinit 1
從上表中您可以看到您還可以用這種方式關(guān)閉或重新引導(dǎo)系統(tǒng)。telinit 0 將停機(jī);telinit 6 將重新引導(dǎo)計(jì)算機(jī)。當(dāng)您發(fā)出 telinit 命令更改運(yùn)行級(jí)別時(shí),init 腳本的一個(gè)子集將運(yùn)行以關(guān)閉或啟動(dòng)系統(tǒng)服務(wù)。恰當(dāng)?shù)仃P(guān)機(jī) 然而,如果還有用戶(hù)在使用系統(tǒng),那么此時(shí)關(guān)機(jī)是相當(dāng)粗魯?shù)模ㄓ脩?hù)可能會(huì)非常生氣)。shutdown 命令提供了一種方法,以一種合理對(duì)待用戶(hù)的方式來(lái)更改運(yùn)行級(jí)別。類(lèi)似于 kill 命令那種可以向一個(gè)進(jìn)程發(fā)送多種信號(hào)的能力,shutdown 可以用來(lái)停機(jī)、重新引導(dǎo)或轉(zhuǎn)至單用戶(hù)方式。例如,要在 5 分鐘內(nèi)轉(zhuǎn)至單用戶(hù)方式:# shutdown 5
Broadcast message from root (pts/2) (Tue Jan 15 19:40:02 2002):
The system is going DOWN to maintenance mode in 5 minutes!
如果此時(shí)您按 control-c 組合鍵,您可以取消切換至單用戶(hù)方式前的延時(shí)等待。上面的消息將在系統(tǒng)的所有終端上出現(xiàn),因此用戶(hù)有合理數(shù)量的時(shí)間保存他們的工作并注銷(xiāo)。(有些人可能會(huì)爭(zhēng)論 5 分鐘是不是“合理”的)。立即關(guān)機(jī)如果您是唯一使用系統(tǒng)的人,您可以用“now”代替以分鐘為單位的參數(shù)。例如,要立即重新引導(dǎo)系統(tǒng):# shutdown -r now
在此情況下,您沒(méi)有機(jī)會(huì)按 control-c 組合鍵;因?yàn)橄到y(tǒng)已經(jīng)在進(jìn)行關(guān)機(jī)了。最后,-h 選項(xiàng)使系統(tǒng)停機(jī):# shutdown -h 1
Broadcast message from root (pts/2) (Tue Jan 15 19:50:58 2002):
The system is going DOWN for system halt in 1 minute!
缺省運(yùn)行級(jí)別此時(shí)您可能已得出結(jié)論:init 程序在 Linux 系統(tǒng)上是非常重要的。您可以編輯文件 /etc/initttab 來(lái)配置 init,這在 inittab(5) 手冊(cè)頁(yè)中有描述。我們只討論這個(gè)文件中的關(guān)鍵一行。# grep ^id: /etc/inittab
id:3:initdefault:
在我的系統(tǒng)上,運(yùn)行級(jí)別 3 是缺省運(yùn)行級(jí)別。如果您更喜歡您的系統(tǒng)立即引導(dǎo)至圖形登錄界面(通常為運(yùn)行級(jí)別 4 或 5),那么更改這個(gè)值會(huì)有用。要那樣做的話(huà),只需簡(jiǎn)單地編輯文件并更改那一行的值。但要小心!如果您將它改為某個(gè)無(wú)效值,您可能不得不使用我們?cè)谇懊嫣岬降?init=/bin/sh 技巧。其它信息 可以在下面找到與這一節(jié)有關(guān)的其它信息:
四。運(yùn)行級(jí)別
單用戶(hù)方式
還記得關(guān)于引導(dǎo)裝入程序一節(jié)所講的嗎?在引導(dǎo)內(nèi)核時(shí)向它傳遞參數(shù)是可能的。最常用的參數(shù)之一是 s,它使系統(tǒng)以“單用戶(hù)”方式啟動(dòng)。這一方式通常只掛裝根文件系統(tǒng),啟動(dòng) init 腳本的最小子集,然后啟動(dòng) shell 而不是提供登錄提示符。另外,它不配置聯(lián)網(wǎng),因此外部因素沒(méi)有機(jī)會(huì)影響您的工作。
那么在這樣的狀態(tài)下我們能夠“做什么”呢?要回答這個(gè)問(wèn)題,我們必須認(rèn)識(shí)到 Linux 和 Windows 之間的巨大差異。Windows 被設(shè)計(jì)成通常在同一時(shí)間內(nèi)只能由坐在控制臺(tái)前的一個(gè)人使用。它實(shí)際上一直處于“單用戶(hù)”方式。相反,Linux 更多地用于為網(wǎng)絡(luò)應(yīng)用程序服務(wù),或?yàn)榫W(wǎng)絡(luò)上的遠(yuǎn)程用戶(hù)提供 shell 或 X 會(huì)話(huà)。當(dāng)您希望執(zhí)行維護(hù)操作(如:從備份中恢復(fù)、創(chuàng)建或修改文件系統(tǒng)、從 CD 升級(jí)系統(tǒng)等等)時(shí),您不希望有這些額外的變數(shù)。在這些情況下,您應(yīng)該使用單用戶(hù)方式。
運(yùn)行級(jí)別
事實(shí)上,要進(jìn)入單用戶(hù)方式不必重新引導(dǎo)。init 程序管理系統(tǒng)的當(dāng)前方式(或稱(chēng)為“運(yùn)行級(jí)別”)。Linux 系統(tǒng)的標(biāo)準(zhǔn)運(yùn)行級(jí)別按如下分類(lèi)并定義:

這些運(yùn)行級(jí)別因分發(fā)版而異,所以請(qǐng)確保參考您的分發(fā)版的文檔。
telinit
要轉(zhuǎn)至單用戶(hù)方式,可以使用 telinit 命令,它指示 init 更改運(yùn)行級(jí)別:
# telinit 1
從上表中您可以看到您還可以用這種方式關(guān)機(jī)或重新引導(dǎo)系統(tǒng)。telinit 0 將停機(jī);telinit 6 將重新引導(dǎo)計(jì)算機(jī)。當(dāng)您使用 telinit 命令更改運(yùn)行級(jí)別時(shí),init 腳本的一個(gè)子集將運(yùn)行以關(guān)閉或啟動(dòng)系統(tǒng)服務(wù)。
運(yùn)行級(jí)別規(guī)則
然而,如果還有用戶(hù)在使用系統(tǒng),那么此時(shí)關(guān)機(jī)是相當(dāng)粗魯?shù)模ㄓ脩?hù)可能會(huì)非常生氣)。shutdown 命令提供了一種方法,以一種合理對(duì)待用戶(hù)的方式來(lái)更改運(yùn)行級(jí)別。類(lèi)似于 kill 命令那種可以向一個(gè)進(jìn)程發(fā)送多種信號(hào)的能力,shutdown 以用來(lái)停機(jī)、重新引導(dǎo)或轉(zhuǎn)至單用戶(hù)方式。例如,要在 5 分鐘內(nèi)轉(zhuǎn)至單用戶(hù)方式:
# shutdown 5
Broadcast message from root (pts/2) (Tue Jan 15 19:40:02 2002):
The system is going DOWN to maintenance mode in 5 minutes!
如果此時(shí)您按 control-c 組合鍵,您可以取消切換至單用戶(hù)方式前的延時(shí)等待。上面的消息將在系統(tǒng)的所有終端上出現(xiàn),因此用戶(hù)有合理數(shù)量的時(shí)間保存他們的工作并注銷(xiāo)。(有些人可能會(huì)爭(zhēng)論 5 分鐘是不是“合理”的)。
“now”和停機(jī)
如果您是唯一使用系統(tǒng)的人,您可以用 now 代替以分鐘為單位的參數(shù)。例如,要立即重新引導(dǎo)系統(tǒng):
# shutdown -r now
在此情況下,您沒(méi)有機(jī)會(huì)按 control-c 組合鍵;因?yàn)橄到y(tǒng)已經(jīng)在進(jìn)行關(guān)機(jī)了。最后,-h 選項(xiàng)使系統(tǒng)停機(jī):
# shutdown -h 1
Broadcast message from root (pts/2) (Tue Jan 15 19:50:58 2002):
The system is going DOWN for system halt in 1 minute!
配置 init
此時(shí)您可能已得出結(jié)論:init 程序在 Linux 系統(tǒng)上是非常重要的。您可以編輯文件 /etc/initttab 來(lái)配置 init,這在 inittab(5) 手冊(cè)頁(yè)中有描述。我們只討論這個(gè)文件中的關(guān)鍵一行。
# grep ^id: /etc/inittab
id:3:initdefault:
在我的系統(tǒng)上,運(yùn)行級(jí)別 3 是缺省運(yùn)行級(jí)別。如果您更喜歡您的系統(tǒng)立即引導(dǎo)至圖形登錄(通常為運(yùn)行級(jí)別 4 或 5),那么更改這個(gè)值會(huì)有用。要那樣做的話(huà),只需簡(jiǎn)單地編輯文件并在那一行更改那個(gè)值。但要小心!如果您將它改為某個(gè)無(wú)效值,您可能不得不使用我們?cè)谇懊嫣岬降?init=/bin/sh 技巧。
五。文件系統(tǒng)限額
介紹限額
限額(quota)是 Linux 的一個(gè)特性,它讓您跟蹤用戶(hù)或組的磁盤(pán)使用情況。它們可用于防止任何單個(gè)用戶(hù)或組不公平地使用文件系統(tǒng)的一部分或?qū)⑺顫M(mǎn)。限額只能由 root 用戶(hù)啟用和管理。在本節(jié)中,我將介紹如何在 Linux 系統(tǒng)上設(shè)置限額并有效地管理它們。
內(nèi)核支持
限額是文件系統(tǒng)的一個(gè)特性;因此,它們需要內(nèi)核支持。首先需要做的是驗(yàn)證您的內(nèi)核支持限額。您可以用 grep 做到這一點(diǎn):
# cd /usr/src/linux
# grep -i quota .config
CONFIG_QUOTA=y
CONFIG_XFS_QUOTA=y
如果難以用該命令返回的信息作出結(jié)論(如未設(shè)置 CONFIG_QUOTA),那么您應(yīng)該重新構(gòu)建內(nèi)核以包含限額支持。這一過(guò)程并不困難,但超出本教程這一節(jié)的討論范圍之外。如果您不熟悉構(gòu)建和安裝新內(nèi)核的步驟,您應(yīng)該考慮參考
這個(gè)教程
。
文件系統(tǒng)支持
在深入研究限額管理以前,請(qǐng)注意到 2.4.x 內(nèi)核為止的 Linux 系列上的限額支持尚不完整。限額目前在 ext2 和 ext3 文件系統(tǒng)中還存在問(wèn)題,而 ReiserFs 似乎根本不支持限額。本教程的示例使用的是 XFS,它
似乎可以較好地支持 quota
。
配置限額
要開(kāi)始在系統(tǒng)配置限額,您應(yīng)該編輯 /etc/fstab 文件以?huà)煅b受啟用限額影響的文件系統(tǒng)。在我們的示例中,我們使用掛裝時(shí)啟用用戶(hù)和組限額的 XFS 文件系統(tǒng)。
# grep quota /etc/fstab
/usr/users   /mnt/hdc1    xfs    usrquota,grpquota,noauto   0 0
# mount /usr/users
請(qǐng)注意:usrquota 和 grpquota 選項(xiàng)不一定在文件系統(tǒng)上啟用限額。要確保啟用了限額,您可以使用 quotaon 命令:
# quotaon /usr/users
如果您想以后禁用限額,則有一個(gè)相應(yīng)的 quotaoff 命令:
# quotaoff /usr/users
但在目前,如果您正在嘗試本教程中的幾個(gè)示例,請(qǐng)確保啟用了限額。
quota 命令
quota 命令顯示了當(dāng)前掛裝的所有文件系統(tǒng)的用戶(hù)磁盤(pán)使用情況和限制。-v 選項(xiàng)包括啟用了限額的文件系統(tǒng)列表,但當(dāng)前沒(méi)有給用戶(hù)分配存儲(chǔ)空間。
# quota -v
Disk quotas for user root (uid 0):
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/hdc1       0       0       0               3       0       0        
第一列 blocks 顯示 root 用戶(hù)當(dāng)前在每個(gè)列出的文件系統(tǒng)上正在使用多少磁盤(pán)空間。接下來(lái)的 quota 和 limit 列顯示當(dāng)前的磁盤(pán)空間限制。我們稍后將解釋 quota 和 limit 之間的區(qū)別以及 grace 列的含義。files 列顯示 root 用戶(hù)在特定文件系統(tǒng)上擁有多少文件。其后的 quota 和 limit 列則顯示對(duì)這些文件的限制。
查看限額
任何用戶(hù)都可以使用 quota 命令查看自己的限額報(bào)告,如前一個(gè)示例所示。但是只有 root 用戶(hù)可以查看其他用戶(hù)和組的限額。例如,假設(shè)我們?cè)?/usr/users 上掛裝了一個(gè)文件系統(tǒng) /dev/hdc1,并且有兩個(gè)用戶(hù):janejohn。首先,讓我們看看 jane 的磁盤(pán)使用情況和限制。
# quota -v jane
Disk quotas for user jane (uid 1003):
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/hdc1    4100       0       0               6       0       0
在這一示例中,我們看到 jane 的 quota 被設(shè)置為零,這表示沒(méi)有限制。edquota
現(xiàn)在假設(shè)我們希望給用戶(hù) jane 一個(gè)限額。我們用 edquota 命令實(shí)現(xiàn)。在我們開(kāi)始編輯限額之前,讓我們看看我們?cè)?/usr/users 上還有多少可用空間:
# df /usr/users
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hdc1               610048      4276    605772   1% /usr/users
這不是一個(gè)特別大的文件系統(tǒng),僅僅 600M 左右。給 jane 一個(gè)限額似乎是明智的,這樣她所用的空間就不會(huì)超過(guò)她應(yīng)得的空間。當(dāng)您運(yùn)行 edquota 時(shí),會(huì)為您在命令行指定的每個(gè)用戶(hù)或組創(chuàng)建一個(gè)臨時(shí)文件。

edquota 命令為您提供一個(gè)編輯器,它使您能通過(guò)這個(gè)臨時(shí)文件添加和/或修改 quota。
# edquota jane
Disk quotas for user jane (uid 1003):
Filesystem         blocks       soft       hard     inodes     soft     hard
/dev/hdc1           4100          0          0          6        0        0
與上面 quota 命令的輸出相似,這個(gè)臨時(shí)文件中的 blocks 和 inodes 列顯示 jane 當(dāng)前正在使用的磁盤(pán)空間和文件數(shù)目。您不能修改 blocks 或 inodes 的數(shù)量;任何這樣的嘗試都將立即被系統(tǒng)廢棄。soft 和 hard 列顯示 jane 的限額,我們可以看到當(dāng)前對(duì)它沒(méi)有限制(零表明沒(méi)有限額)。
理解 edquota
soft 限制是在文件系統(tǒng)上分配給 jane 的磁盤(pán)空間最大使用量(也就是她的限額)。如果 jane 使用的磁盤(pán)空間數(shù)量超過(guò)在 soft 限制中分配給她的空間數(shù)量,將通過(guò)電子郵件就她的違規(guī)行為提出警告。hard 限制表明對(duì)磁盤(pán)使用的絕對(duì)限制,用戶(hù)不能超過(guò)該限制。如果 jane 試圖使用的磁盤(pán)空間多于 hard 限制中指定的磁盤(pán)空間,她將得到“Disk quota exceeded”錯(cuò)誤信息并且不能完成該操作。
進(jìn)行更改
那么我們?cè)谶@里更改 jane 的 soft 和 hard 限制,然后保存該文件:
Disk quotas for user jane (uid 1003):
Filesystem         blocks       soft       hard     inodes     soft     hard
/dev/hdc1           4100      10000      11500          6     2000     2500
運(yùn)行 quota 命令,我們可以檢查我們所做的修改:
# quota jane
Disk quotas for user jane (uid 1003):
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/hdc1    4100   10000   11500               6    2000    2500
復(fù)制限額
您會(huì)記得在這個(gè)文件系統(tǒng)上我們還有另一個(gè)用戶(hù) john。如果我們希望給 john 的限額與 jane 的限額相同,我們可以在 edquota 命令中使用 -p 選項(xiàng),它會(huì)將 jane 的限額作為原型用于命令行上所有隨后的用戶(hù)。這是一個(gè)為用戶(hù)組設(shè)置限額的簡(jiǎn)便方法。
# edquota -p jane john
# quota john
Disk quotas for user john (uid 1003):
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/hdc1       0   10000   11500               1    2000    2500        組限制 使用 edquota,我們還可以根據(jù)文件的組所有權(quán)來(lái)限制磁盤(pán)空間分配。例如,要編輯 users 組的限額:# edquota -g users Disk quotas for group users (gid 100): Filesystem blocks soft hard inodes soft hard /dev/hdc1 4100 500000 510000 7 100000 125000 然后要查看修改的 users 組的限額:# quota -g users Disk quotas for group users (gid 100): Filesystem blocks quota limit grace files quota limit grace /dev/hdc1 4100 500000 510000 7 100000 125000 repquota 命令
如果您的文件系統(tǒng)有很多用戶(hù),那么使用限額命令查看每個(gè)用戶(hù)的限額會(huì)比較麻煩。repquota 命令將文件系統(tǒng)的限額以一個(gè)清楚易懂的報(bào)告進(jìn)行總結(jié)。例如,要查看 /usr/users 上所有用戶(hù)和組的限額:
# repquota -ug /usr/users
*** Report for user quotas on device /dev/hdc1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       0       0       0              3     0     0      
john      --       0   10000   11500              1  2000  2500      
jane      --    4100   10000   11500              6  2000  2500      
*** Report for group quotas on device /dev/hdc1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       0       0       0              3     0     0      
users     --    4100  500000  510000              7 100000 125000      
repquota 選項(xiàng)
repquota 有其它兩個(gè)選項(xiàng)值得一提。repquota -a 將報(bào)告所有啟用了限額并且當(dāng)前已掛裝的讀-寫(xiě)文件系統(tǒng)。repquota -n 將不把 uid 和 gid 解析為名稱(chēng)。這可以加快大型列表的輸出。
監(jiān)控限額
如果您是系統(tǒng)管理員,您會(huì)希望有一種方法可以監(jiān)控限額以確保沒(méi)有用戶(hù)超過(guò)它們。實(shí)現(xiàn)它的一個(gè)簡(jiǎn)單方法是使用 warnquota。warnquota 命令會(huì)向超過(guò) soft 限制的用戶(hù)發(fā)送電子郵件。通常將 warnquota 作為 cron 作業(yè)運(yùn)行。
當(dāng)用戶(hù)超過(guò) soft 限制時(shí),quota 命令輸出中的 grace 列將指出寬限時(shí)間 ― 在該文件系統(tǒng)強(qiáng)制執(zhí)行 soft 限制之前有多少時(shí)間。
Disk quotas for user jane (uid 1003):
    Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
    /dev/hdc1   10800*  10000   11500    7days      7     2000    2500
缺省情況下,blocks 和 inodes 的寬限時(shí)間是 7 天。
修改寬限時(shí)間
您可以用 equota 修改文件系統(tǒng)的寬限時(shí)間:
# edquota -t
這為您提供一個(gè)臨時(shí)文件編輯器,它看起來(lái)與下面相似:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem             Block grace period     Inode grace period
/dev/hdc1                     7days                  7days
該文件中的文本簡(jiǎn)單明了,無(wú)需解釋。請(qǐng)確保給您的用戶(hù)足夠的時(shí)間來(lái)接收警告電子郵件并找出一些要?jiǎng)h除的文件!
在引導(dǎo)時(shí)檢查限額
您可能還希望在引導(dǎo)時(shí)檢查限額。要實(shí)現(xiàn)這一點(diǎn),您可以使用一個(gè)腳本運(yùn)行 quotacheck 命令;在
Quota Mini HOWTO
有一個(gè)腳本示例。quotacheck 命令還具有修復(fù)損壞的限額文件的能力;請(qǐng)閱讀 quotacheck(8) 手冊(cè)頁(yè)來(lái)熟悉這一點(diǎn)。
還要記住我前面提到的關(guān)于 quotaonquotaoff 的內(nèi)容。您應(yīng)該將 quotaon 合并到引導(dǎo)腳本中以啟用限額。要在所有支持限額的文件系統(tǒng)上啟用 quota,請(qǐng)使用 -a 選項(xiàng):
# quotaon -a
六。系統(tǒng)日志介紹 syslogd
syslog 守護(hù)程序?yàn)橛涗泚?lái)自運(yùn)行于系統(tǒng)之上的程序的消息提供了一種成熟的客戶(hù)機(jī)-服務(wù)器機(jī)制。syslog 接收來(lái)自守護(hù)程序或程序的消息,根據(jù)優(yōu)先級(jí)和類(lèi)型將該消息分類(lèi),然后根據(jù)由管理員可配置的規(guī)則將它寫(xiě)入日志。結(jié)果是一個(gè)健壯而統(tǒng)一的管理日志的方法。
讀取日志
讓我們跳過(guò)一些內(nèi)容來(lái)直接研究一個(gè) syslog 記錄的日志文件的內(nèi)容。之后我們?cè)倩剡^(guò)頭研究 syslog 配置。FHS(請(qǐng)參閱本教程系列的
第 2 部分
)要求將日志文件放在 /var/log 中。我們?cè)谶@里使用 tail 命令來(lái)顯示“messages”文件中的最后 10 行:
# cd /var/log
# tail messages
Jan 12 20:17:39 bilbo init: Entering runlevel: 3
Jan 12 20:17:40 bilbo /usr/sbin/named[337]: starting BIND 9.1.3
Jan 12 20:17:40 bilbo /usr/sbin/named[337]: using 1 CPU
Jan 12 20:17:41 bilbo /usr/sbin/named[350]: loading configuration from '/etc/bind/named.conf'
Jan 12 20:17:41 bilbo /usr/sbin/named[350]: no IPv6 interfaces found
Jan 12 20:17:41 bilbo /usr/sbin/named[350]: listening on IPv4 interface lo, 127.0.0.1#53
Jan 12 20:17:41 bilbo /usr/sbin/named[350]: listening on IPv4 interface eth0, 10.0.0.1#53
Jan 12 20:17:41 bilbo /usr/sbin/named[350]: running
Jan 12 20:41:58 bilbo gnome-name-server[11288]: starting
Jan 12 20:41:58 bilbo gnome-name-server[11288]: name server starting
我們希望您能在文本處理的紛亂事件中記得 tail 命令顯示文件的最后幾行。在本示例中,我們可以看到最近在這個(gè)系統(tǒng)上啟動(dòng)了名為 bilbo 的名稱(chēng)服務(wù)器 named。如果我們?cè)诓渴?IPv6,我們可能會(huì)注意到 named 找不到 IPv6 接口,這表明可能出現(xiàn)了問(wèn)題。另外,我們可以看到最近可能有用戶(hù)已經(jīng)啟動(dòng)了
GNOME
,這可以由 gnome-name-server 的存在看出。
跟蹤日志文件
有經(jīng)驗(yàn)的系統(tǒng)管理員可能會(huì)使用 tail -f 以便當(dāng)日志文件的輸出出現(xiàn)時(shí)進(jìn)行跟蹤:
# tail -f /var/log/messages
例如,以調(diào)試?yán)碚撋系?IPv6 問(wèn)題為例,在停止和啟動(dòng) named 時(shí)在一個(gè)終端運(yùn)行上述命令會(huì)立即顯示來(lái)自該守護(hù)程序的消息。這在調(diào)試時(shí)是一個(gè)有用的技術(shù)。有些管理員甚至喜歡在終端上一直運(yùn)行 tail -f messages,這樣他們可以隨時(shí)關(guān)注系統(tǒng)事件。
查找日志
另一種有用的技術(shù)是使用 grep 實(shí)用程序搜索日志文件,這在本教程系列的
第 2 部分
有描述。在上述示例中,我們可以使用 grep 找到“named”行為發(fā)生改變的地方:
# grep named /var/log/messages
日志概述以下內(nèi)容概括了通常位于 /var/log 并由 syslog 維護(hù)的日志文件:syslog.conf
事實(shí)上,現(xiàn)在是研究 syslog 配置文件 /etc/syslog.conf 的時(shí)候了。(注:如果您沒(méi)有 syslog.conf,為了獲得信息請(qǐng)繼續(xù)閱讀,不過(guò)您可以使用另一個(gè) syslog 守護(hù)程序)。通過(guò)瀏覽那個(gè)文件,我們發(fā)現(xiàn)以上提到的每個(gè)常見(jiàn)日志文件都有項(xiàng),可能還有其它項(xiàng)。該文件的格式為 facility.priority action,這些字段的定義如下:
facility
指定產(chǎn)生消息的子系統(tǒng)。facility 有效的關(guān)鍵字有 auth、authpriv、cron、daemon、kern、lpr、mail、news、syslog、user、uucp 以及 local0 到 local7。
priority
指定消息的最低嚴(yán)重性,即此優(yōu)先級(jí)和高于此優(yōu)先級(jí)的消息將由這個(gè)規(guī)則匹配。priority 的有效關(guān)鍵字有 debug、info、notice、warning、err、crit、alert 和 emerg。
action
action 字段可以是文件名、tty(如 /dev/console)、以 @ 為前綴的遠(yuǎn)程機(jī)器、以逗號(hào)分隔的用戶(hù)列表,或是 * 以表明向所有登錄用戶(hù)發(fā)送消息。最常見(jiàn)的操作是一個(gè)簡(jiǎn)單的文件名。
重新裝入和附加信息
希望這個(gè)配置文件的概述有助于您體驗(yàn) syslog 系統(tǒng)的長(zhǎng)處。您應(yīng)該在進(jìn)行更改之前閱讀 syslog.conf(5) 手冊(cè)頁(yè)來(lái)獲得更多的信息。另外,syslogd(8) 手冊(cè)頁(yè)提供了更詳細(xì)的信息。
請(qǐng)注意:在對(duì)該配置文件的更改生效前,您需要向 syslog 守護(hù)程序通知所做的更改。向它發(fā)送 SIGHUP 是個(gè)正確的辦法,您可以用 killall 命令輕松地做到這一點(diǎn):
# killall -HUP syslogd
安全性注釋您應(yīng)該清楚如果 syslogd 寫(xiě)的日志文件還不存在的話(huà),程序?qū)?chuàng)建它們。無(wú)論您當(dāng)前的 umask 如何設(shè)置,該文件將被創(chuàng)建為可被所有用戶(hù)讀取。如果您關(guān)心安全性,那么您應(yīng)該用 chmod 命令將該文件設(shè)置為僅 root 用戶(hù)可讀寫(xiě)。此外,可以用適當(dāng)?shù)脑S可權(quán)配置 logrotate 程序(在下面描述)以創(chuàng)建新的日志文件。syslog 守護(hù)程序始終會(huì)保留現(xiàn)有日志文件的當(dāng)前屬性,因此一旦創(chuàng)建了文件,您就不需要擔(dān)心它。logrotate/var/log 中的日志文件將隨時(shí)間而變大,并有可能填滿(mǎn)文件系統(tǒng)。建議利用 logrotate 這樣的程序來(lái)管理日志的自動(dòng)歸檔。logrotate 程序通常作為日常 cron 作業(yè)運(yùn)行,并且可以配置為對(duì)日志文件執(zhí)行循環(huán)、壓縮、除去或發(fā)送電子郵件等操作。例如,logrotate 的缺省配置會(huì)每周循環(huán)日志,保留 4 周的備份日志(通過(guò)在文件名后附加序號(hào)),并且壓縮備份日志以節(jié)省空間。另外,還可以將該程序配置成將 SIGHUP 發(fā)送到 syslogd,這樣守護(hù)程序?qū)⒆⒁獾浆F(xiàn)在為空的日志文件,并會(huì)適當(dāng)?shù)亟o它們附加信息。有關(guān) logrotate 的更多信息,請(qǐng)參閱 logrotate(8) 手冊(cè)頁(yè),它包含該程序的描述以及配置文件的語(yǔ)法。高級(jí)主題 ― klogd在結(jié)束 syslog 的討論之前,我想為渴望了解更多知識(shí)的讀者提及幾個(gè)高級(jí)主題。在您嘗試?yán)斫馀c syslog 相關(guān)的主題時(shí),這些提示會(huì)使您免去一些麻煩。首先,syslog 守護(hù)程序?qū)嶋H上是 sysklogd 軟件包的一部分,這個(gè)軟件包有另一個(gè)守護(hù)程序,名為 klogd。klogd 的任務(wù)是接收來(lái)自?xún)?nèi)核的信息和錯(cuò)誤消息,然后將它們傳遞到 syslogd 進(jìn)行分類(lèi)和日志記錄。klogd 接收到的消息和您可以用 dmesg 命令獲得的消息完全相同。區(qū)別是 dmesg 打印內(nèi)核中環(huán)形緩沖區(qū)(ring buffer)的當(dāng)前內(nèi)容,而 klogd 將消息傳遞到 syslogd 使它們不會(huì)因環(huán)形緩沖區(qū)被覆蓋而丟失。高級(jí)主題 ― 替代日志記錄器其次,標(biāo)準(zhǔn) sysklogd 包有替代選項(xiàng)。這些替代選項(xiàng)試圖比 sysklogd 更有效、更易于配置,而且功能盡可能更豐富。
Syslog-ng

Metalog
似乎是較受歡迎的替代項(xiàng)中的幾個(gè);如果您覺(jué)得 syslogd 達(dá)不到您所需的功能級(jí)別,您可以研究它們。最后,您可以在腳本中使用 logger 命令記錄消息。請(qǐng)參閱 logger(1) 手冊(cè)頁(yè)以獲得更多信息。七。參考資料和反饋意見(jiàn)本教程結(jié)束了 ... 幾乎結(jié)束了! 恭喜,您到了本教程的結(jié)尾!哦,幾乎到了。因?yàn)槠,我們沒(méi)能在最初四篇教程中包含幾個(gè)主題。所幸我們有幾個(gè)好的參考資料可以幫您很快地掌握這些主題。如果您計(jì)劃獲得 LPIC level 1 認(rèn)證,請(qǐng)一定要學(xué)習(xí)這些特別的教程。關(guān)于系統(tǒng)備份的重要主題,我們向您推薦有關(guān)這一主題的 IBM developerWorks Linux 專(zhuān)區(qū)中的教程
Linux 機(jī)器備份
。在這一教程中,您將學(xué)習(xí)如何使用名為 startar 變體來(lái)備份 Linux 系統(tǒng)。您還將學(xué)習(xí)如何使用 mt 命令來(lái)控制磁帶功能。第二個(gè)我們沒(méi)能討論的主題是時(shí)間調(diào)度。幸好
thelinuxgurus.org 上的 cron 和 at 教程
不錯(cuò)。cronat 用來(lái)在特定時(shí)間執(zhí)行來(lái)調(diào)度作業(yè),這對(duì)任何系統(tǒng)管理員都是重要的知識(shí)。在下一屏中,您將找到許多參考資料,您將發(fā)現(xiàn)它們可以幫助您學(xué)習(xí)有關(guān)本教程中介紹的主題的更多內(nèi)容。參考資料要找到有關(guān) Linux 下限額支持的更多內(nèi)容,請(qǐng)務(wù)必查看
Linux Quota mini-HOWTO
。還請(qǐng)務(wù)必參考您的系統(tǒng)上的 quota(1)、edquota(8)、repquota(8)、quotacheck(8) 和 quotaon(8) 手冊(cè)頁(yè)。可以在下面找到有關(guān)系統(tǒng)引導(dǎo)過(guò)程和引導(dǎo)裝入程序的其它信息: 要學(xué)習(xí)有關(guān) Linux 文件系統(tǒng)的更多內(nèi)容,請(qǐng)?jiān)?IBM developerWorks Linux 專(zhuān)區(qū)閱讀包含多個(gè)部分的高級(jí)文件系統(tǒng)實(shí)現(xiàn)者指南,其中包括: 有關(guān)分區(qū)的更多信息,請(qǐng)?jiān)?IBM developerWorks Linux 專(zhuān)區(qū)中參考以下分區(qū)技巧文章:

本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/3984/showart_11769.html




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2