鳥哥的Linux私房菜基礎篇第三版 -- 目錄


服務器端使用的OS,Linux是最最常用的,所以,日常的部署、排查問題,就不可避免的與Linux打交道,日積月累,對Linux就有了多多少少的瞭解。

反過來,再系統的從頭開始,讀一本關於Linux基礎的書籍,可以進行知識的串聯,把一些原先“知道其然”的東西,進化成“知其所以然”。

同時,由於有了相當多的Linux操作基礎,對於書籍的閱讀很快速,對照實操,事半功倍。


鳥哥,是個臺灣人,其“私房菜”系列,本來是其Linux的學習過程,記錄成Blog(就像學習筆記、心路歷程),然後慢慢的深化、系統,就形成了這個系列的書。

可見學習筆記真是太重要了^_^,如果沒有學習筆記,學了,忘了,很難回憶溫習,學習的結果會大打折扣...... 更不會有如此經典的書籍,來引導、來教授,教授別人,何嘗不是自己總結學習提高的過程呢!


鳥哥專訪:http://www.jianshu.com/p/a1efe4873da1        豆瓣書評:http://book.douban.com/subject/1400361/


一名RD如何讀這本書


作爲一名RD,或多或少都有對Linux的瞭解,對Linux學習的目的偏應用,所以從這個絕度總結一下對全書26個章節的學習側重點。

最重要的,必須很好掌握的章節:

第6章(Linux的檔案權限與目錄配置)、第7章(Linux檔案與目錄管理)、第9章(檔案與文件系統的壓縮與打包)、第11章(認識與學習BASH)、第12章(正則表達式與文件格式化處理)、第13章(學習Shell Scripts)、第16章(例行性工作排程)、第17章(程序管理與SELinux初探)

次之,作爲思想指引的章節

第1章(Linux是什麼)、第2章(linux如何學習)、第5章(首次登入與在線求助man page)、第14章(Linux賬號管理與ACL權限設定)

再次之,某些方向比較關注的章節:

第18章(認識系統服務daemons)、第19章(認識與分析登錄檔)、第22章(軟件安裝:原始碼與Tarball)、第23章(軟件安裝:RPM,SRPM與YUM功能)

再次之,當做知識重溫一下的章節:

第0章(計算器概論)、第8章(Linux磁盤與文件系統管理)

再次之,過去應該玩過的章節:

第3章(主機規劃與磁盤分區)、第4章(安裝CentOS 5.x與多重引導小技巧)、第10章(vim程序編輯器)

再次之,不常用的章節:

第15章(磁盤配額與進階文件系統管理)、第20章(開機流程、模塊管理與loader)、第21章(系統設定工具(網絡與打印機)和硬件偵測、第24章(X Window 設定介紹)、第25章(Linux備份策略)、第26章(Linux核心編譯與管理)


第0章、計算器概論


這幾年鳥哥開始在大學任教了,在教學的經驗中發現到,由於對 Linux 有興趣的朋友很多可能並非信息相關科系出身, 因此對於計算機硬件及計算器方面的概念不熟。然而操作系統這種咚咚跟硬件有相當程度相關連性, 所以,如果不瞭解一下計算器概論,要很快的瞭解 Linux 的概念是有點難度的。因此,鳥哥就自作聰明的新增一個小章節來談談計概囉! 因爲鳥哥也不是信息相關學門出身,所以,寫的不好的地方請大家多多指教啊!^_^


1.計算機:輔助人腦的好工具

1.1 計算機硬件的五大單元

1.2 CPU 的種類

1.3 接口設備

1.4 運作流程

1.5 計算機分類

1.6 計算機上面常用的計算單位(容量、速度等)


2.個人計算機架構與接口設備

2.1 CPU:CPU 的外頻與倍頻,32 位與 64 位,CPU 等級

2.2 內存

2.3 顯示適配器

2.4 硬盤與儲存設備

2.5 PCI 適配卡

2.6 主板

2.7 電源供應器

2.8 選購須知


3.數據表示方式

3.1 數字系統

3.2 文字編碼系統


4.軟件程序運作

4.1 機器程序與編譯程序

4.2 操作系統

4.3 應用程序


5.重點回顧

6.本章習題

7.參考數據與延伸閱讀

8.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=31574


第1章、Linux是什麼 


衆所周知,Linux 的核心原型是1991年由託瓦茲(Linus Torvalds)寫出來的,但是託瓦茲爲何可以寫出 Linux 這個操作系統?爲什麼他要選擇 386 的計算機來開發?爲什麼 Linux 是免費的?以及目前爲何有這麼多的 Linux 版本(distributions)呢?瞭解這些東西后,才能夠知道爲何 Linux 可以免除專利軟件之爭,並且瞭解到 Linux 爲何可以同時在個人計算機與大型主機上面大放異彩!所以,在實際進入 Linux 的世界前,就讓我們來談一談這些有趣的歷史故事吧!^_^


1.Linux 是什麼

1.1 Linux 是什麼

1.2 Linux 之前,Unix 的歷史

1.3 關於 GNU 計劃


2.Torvalds 的 Linux 發展

2.1 與 Minix 之間

2.2 對 386 硬件的多任務測試

2.3 初次釋出 Linux 0.02

2.4 Linux 的發展:虛擬團隊的產生

2.5 Linux 的核心版本

2.6 Linux distributions


3.Linux 的特色

3.1 Linux 的特色

3.2 Linux 的優缺點

3.3 關於授權


4.重點回顧

5.本章習題

6.參考數據與延伸閱讀

7.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23871


第2章、Linux 如何學習


目前 Linux 上頭有兩種主要的操作模式,分別是圖形接口與文字接口,那麼學習 Linux 要用 X-Window(圖形接口)好還是Command Line(文字接口)好?這兩種學習心態有什麼優缺點呢?此外,有沒有良好的入門文件可供參考?Linux 學習有困擾的時候應該要如何發問?要到哪裏去搜尋網絡資源?還有,怎樣進行有智慧的提問?恩!在這一章裏面,就讓我們好好談一談!


1.Linux 當前的應用角色

1.1 企業環境的利用

1.2 個人環境的利用


2.鳥哥的 Linux 苦難經驗全都錄

2.1 鳥哥的 Linux 學習之路

2.2 學習心態的分別

2.3 X Window 的學習


3.有心朝 Linux 操作系統學習者的學習態度

3.1 從頭學習 Linux基礎

3.2 選擇一本易讀的工具書

3.3 實作再實作

3.4 發生問題怎麼處理啊?建議流程是這樣...


4.鳥哥的建議(重點在 solution 的學習)


5.重點回顧

6.本章習題

7.參考數據與延伸閱讀

8.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23872


第3章、主機規劃與磁盤分區


事實上,要安裝好一部 Linux 主機並不是那麼簡單的事情,你必須要針對 distributions 的特性、服務器軟件的能力、未來的升級需求、硬件擴充性需求等等來考慮,還得要知道磁盤分區、文件系統、Linux 操作較頻繁的目錄等等,都的要有一定程度的瞭解才行,所以,安裝 Linux 並不是那麼簡單的工作喔!不過,要學習 Linux 總得要有 Linux 系統存在吧?所以鳥哥在這裏還是得要提前說明如何安裝一部 Linux 練習機。在這一章裏面,鳥哥會介紹一下,在開始安裝 Linux 之前,您應該要先思考哪些工作?好讓您後續的主機維護輕鬆愉快啊!此外,要了解這個章節的重要性,您至少需要瞭解到 Linux 文件系統的基本概念,所以,在您完成了後面的相關章節後,記得要再回來這裏看看如何規劃主機喔!^_^


1.Linux 與硬件的搭配

1.1 認識計算機的硬件配備

1.2 選擇與 Linux 搭配的主機配備:硬件支持相關網站

1.3 各硬件裝置在 Linux 中的文件名


2.磁盤分區

2.1 磁盤連接的方式與裝置文件名的關係

2.2 磁盤的組成複習

2.3 磁盤分區表(partition table)

2.4 開機流程與主要啓動記錄區(MBR)

2.5 Linux 安裝模式下,磁盤分區的選擇(極重要)


3.安裝 Linux 前的規劃

3.1 選擇適當的 distribution

3.2 主機的服務規劃與硬件的關係

3.3 主機硬盤的主要規劃(partition)

3.4 鳥哥說:關於練習機的安裝建議

3.5 鳥哥的兩個世紀案例

3.6 大硬盤配合舊主機造成的無法開機問題


4.重點回顧

5.本章習題

6.參考數據與延伸閱讀

7.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23872


第4章、安裝 CentOS 5.X 與多重引導小技巧


Linux distributions 越做越成熟,所以在安裝方面也越來越簡單!雖然安裝非常的簡單,但是剛剛前一章所談到的基礎認知還是需要了解的,包括 MBR,partition,boot loader,mount,software 的選擇等等的數據。這一章鳥哥的安裝定義爲“一部練習機”,所以安裝的方式都是以最簡單的方式來處理的。另外,鳥哥選擇的是 CentOS 5.x 的版本來安裝的啦!在內文中,只要標題內含有(Option)的,代表是鳥哥額外的說明,你應該看看就好,不需要實作喔!^_^


1.本練習機的規劃--尤其是分割參數


2.開始安裝 CentOS 5

2.1 調整開機媒體(BIOS)

2.2 選擇安裝模式與開機,測試內存穩定度

2.3 選擇語系數據

2.4 磁盤分區,進階軟件數組建置

2.5 開機管理程序、網絡、時區設定與 root 密碼

2.6 軟件選擇

2.7 其他功能:RAM testing,安裝筆記本電腦的核心參數(Option)


3.安裝後的首次設定


4.多重引導安裝流程與技巧

4.1 新主機僅有一顆硬盤

4.2 舊主機有兩顆以上硬盤

4.3 舊主機只有一顆硬盤


5.關於大硬盤導致無法開機的問題


6.重點回顧

7.本章習題

8.參考數據與延伸閱讀

9.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=135157


第5章、首次登入與在線求助 man page


終於可以開始使用 Linux 這個有趣的系統了!由於 Linux 系統使用了異步的磁盤/內存數據傳輸模式,同時又是個多人多任務的環境,所以你不能隨便的不正常關機,關機有一定的程序喔!錯誤的關機方法可能會造成磁盤數據的損毀呢!此外,Linux 有多種不同的操作方式,圖形接口與文字接口的操作有何不同?我們能否在文字接口取得大量的指令說明,而不需要硬背某些指令的選項與參數等等。這都是這一章要來介紹的呢!


1.首次登入系統

1.1 首次登入 CentOS 5.x 圖形接口

1.2 GNOME 的操作與註銷

1.3 KDE 的操作與註銷

1.4 X Window 與文本模式的切換

1.5 在終端界面登入 Linux


2. 文本模式下指令的下達

2.1 開始下達指令,語系的支援

2.2 基礎指令的操作,date,cal,bc

2.3 重要的幾個熱鍵 【Tab】,【ctrl】-c,【ctrl】-d

2.4 錯誤訊息的查看


3.Linux 系統的在線求助 man page 與 info page

3.1 man page

3.2 info page

3.3 其他有用的文件(documents)


4.超簡單文書編輯器:nano


5.正確的關機方法:sync,shutdown,reboot,halt,poweroff,init


6.開機過程的問題排解


7.重點回顧

8.本章習題

9.參考數據與延伸閱讀

10.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23877


第6章、Linux 的檔案權限與目錄配置


Linux 最優秀的地方之一,就在於他的多人多任務環境。而爲了讓各個使用者具有較保密的檔案數據,因此檔案的權限管理就變得很重要了。Linux 一般將檔案可存取的身份分爲三個類別,分別是 owner/group/others,且三種身份各有 read/write/execute 等權限。若管理不當,你的 Linux 主機將會變的很 【不舒服!@_@】。另外,你如果首次接觸 Linux 的話,那麼,在 Linux 底下這麼多的目錄/檔案,到底每個目錄/檔案代表什麼意義呢?底下我們就來一一介紹呢!


1.使用者與羣組


2.Linux 檔案權限概念

2.1 Linux 文件屬性

2.2 如何改變文件屬性與權限:chgrp,chown,chmod

2.3 目錄與檔案之權限意義

2.4 Linux 檔案種類與擴展名


3.Linux 目錄配置

3.1 Linux 目錄配置的依據--FHS:/,/usr,/var

3.2 目錄樹(directory tree)

3.3 絕對路徑與相對路徑

3.4 CentOS 的觀察:lsb_release


4.重點回顧

5.本章習題

6.參考數據與延伸閱讀

7.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23878


第7章、Linux 檔案與目錄管理


在第六章我們認識了 Linux 系統下的檔案權限概念以及目錄的配置說明。在這個章節當中,我們就直接來進一步的操作與管理檔案與目錄吧!包括在不同的目錄間變換、建立與刪除目錄、建立與刪除檔案,還有尋找檔案、查閱檔案內容等等,都會在這個章節做個簡單的介紹啊!


1.目錄與路徑

1.1 相對路徑與絕對路徑

1.2 目錄的相關操作:cd,pwd,mkdir,rmdir

1.3 關於執行文件路徑的變量:$PATH


2.檔案與目錄管理

2.1 檔案與目錄的檢視:ls

2.2 複製、刪除與移動:cp,rm,mv

2.3 取得路徑的文件名與目錄名稱


3.檔案內容查閱

3.1 直接檢視檔案內容:cat,tac,nl

3.2 可翻頁檢視:more,less

3.3 資料攫取:head,tail

3.4 非純文本檔:od

3.5 修改檔案時間與建置新檔:touch


4.檔案與目錄的默認權限與隱藏權限

4.1 檔案預設權限:umask

4.2 檔案隱藏屬性:chattr,lsattr

4.3 檔案特殊權限:SUID,SGID,SBIT,權限設定

4.4 觀察文件類型:file


5.指令與檔案的搜尋

5.1 腳本文件名的搜尋:which

5.2 檔案檔名的搜尋:whereis,locate,find


6.極重要!權限與指令間的關係

7.重點回顧

8.本章習題

9.參考數據與延伸閱讀

10.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23879


第8章、Linux 磁盤與文件系統管理


系統管理員很重要的任務之一就是管理好自己的磁盤文件系統,每個分割槽不可太大也不能太小,太大會造成磁盤容量的浪費,太小則會產生檔案無法儲存的困擾。此外,我們在前面幾章談到的檔案權限與屬性中,這些權限與屬性分別記錄在文件系統的哪個區塊內?這就得要談到 filesystem 中的 inode 與 block 了。在本章我們的重點在於如何製作文件系統,包括分割、格式化與掛載等,是很重要的一個章節喔!


1.認識 EXT2 文件系統

1.1 硬盤組成與分割的聯繫

1.2 文件系統特性:索引式文件系統

1.3 Linux 的 EXT2 文件系統(inode):data block,inode table,superblock,dumpe2fs

1.4 與目錄樹的關係

1.5 EXT2/EXT3 檔案的存取與日誌式文件系統的功能

1.6 Linux 文件系統的運作

1.7 掛載點的意義(mount point)

1.8 其他 Linux 支持的文件系統與 VFS


2.文件系統的簡單操作

2.1 磁盤與目錄的容量:df,du

2.2 實體鏈接與符號鏈接:ln


3.磁盤的分割、格式化、檢驗與掛載

3.1 磁盤分區:fdisk,partprobe

3.2 磁盤格式化:mkfs,mke2fs

3.3 磁盤檢驗:fsck,badblocks

3.4 磁盤掛載與卸載:mount,unmount

3.5 磁盤參數修訂:mknod,e2label,tune2fs,hdparm


4.設定開機掛載

4.1 開機掛載 /etc/fstab 及 /etc/mtab

4.2 特殊裝置 loop 掛載(映像檔不刻錄就掛載使用)


5.內存置換空間(swap)之建置

5.1 使用實體分割槽建置 swap

5.2 使用檔案建置 swap

5.3 swap 使用上的限制


6.文件系統的特殊觀察與操作

6.1 boot sector 與 superblock 的關係

6.2 磁盤空間之浪費問題

6.3 利用 GNU 的 parted 進行分割行爲

7.重點回顧

8.本章習題

9.參考數據與延伸閱讀

10.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23881


第9章、檔案與文件系統的壓縮與打包


在 Linux 底下有相當多的壓縮指令可以運作喔!這些壓縮指令可以讓我們更方便從網絡上面下載大型的檔案呢!此外,我們知道在 Linux 底下的擴展名是沒有什麼很特殊的意義的,不過,針對這些壓縮指令所做出來的壓縮文件,問了方便記憶,還是會有一些特殊的命名方式啦!就讓我們來看看吧!


1.壓縮文件檔的用途與技術


2.Linux 系統常見的壓縮指令

2.1 compress

2.2 gzip,zcat

2.3 bzip2,bzcat


3.打包指令:tar


4.完整備份工具:dump,restore


5.光盤寫入工具

5.1 mkisofs:建立映像檔

5.2 cdrecord:光盤刻錄工具


6.其他常見的壓縮與備份工具

6.1 dd

6.2 cpio

7.重點回顧

8.本章習題

9.參考數據與延伸閱讀

10.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23882


第10章、vim 程序編輯器


系統管理員的重要工作就是得要修改與設定某些重要軟件的配置文件,因此至少得要學會一種以上的文字接口的文書編輯器。在所有的 Linux distributions 上頭都會有的一套文書編輯器就是 vi ,而且很多軟件默認也是使用 vi 作爲他們編輯的接口,因此鳥哥建議您務必要學會使用 vi 這個正規的文書編輯器。此外, vim 是進階版 vi ,vim 不但可以用不同顏色顯示文字內容,還能進行諸如 shell script,C program 等程序編輯功能,你可以將 vim 視爲一種程序編輯器!鳥哥也是用 vim 編輯鳥哥的網頁文章呢!^_^


1.vi 與 vim

1.1 爲何要學 vim


2.vi 的使用

2.1 簡易執行範例

2.2 按鍵說明

2.3 一個案例的練習

2.4 vim 的暫存檔、救援回覆與開啓時的警告訊息


3.vim 的額外功能

3.1 區塊選擇(Visual Block)

3.2 多檔案編輯

3.3 多窗口功能

3.4 vim 環境設定與記錄:~/.vimrc,~/.viminfo

3.5 vim 常用指令示意圖


4.其他 vim 使用注意事項

4.1 中文編碼的問題

4.2 DOS 與 Linux 的斷行字符:dos2unix,unix2dos

4.3 語系編碼轉換:iconv


5.重點回顧

6.本章習題

7.參考數據與延伸閱讀

8.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23883


第11章、認識與學習 BASH


在 Linux 的環境下,如果你不懂 bash 是什麼,那麼其他的東西就不用學了!因爲前面幾章我們使用終端機下達指令的方式,就是透過 bash 的環境來處理的喔!所以說,他很重要吧!bash 的東西非常的多,包括變量的設定與使用、bash 操作環境的建置、數據流重導向的功能,還有那好用的管線命令!好好清一清腦門,準備用功去囉~^_^ 這個章節幾乎是所有指令列模式(command line)與未來主機維護與管理的重要基礎,一定要好好仔細的閱讀喔!


1.認識 BASH 這個 Shell

1.1 硬件、核心與 Shell

1.2 爲何要學文字接口的 Shell

1.3 系統的合法 shell 與 /etc/shells 功能

1.4 Bash shell 的功能

1.5 Bash shell 的內建命令:type

1.6 指令的下達


2.Shell 的變量功能

2.1 什麼是變量?

2.2 變量的取用與設定:echo,變量設定規則,unset

2.3 環境變量的功能:env 與常見環境變量說明,set,export

2.4 影響顯示結果的語系變量(locale)

2.5 變量的有效範圍

2.6 變量鍵盤讀取、數據與宣告:read,declare,array

2.7 與文件系統及程序的限制關係:ulimit

2.8 變量內容的刪除、取代與替換:刪除與取代,測試與替換


3. 命令別名與歷史命令

3.1 命令別名設定:alias,unalias

3.2 歷史命令:history,HISTSIZE


4.Bash shell 的操作環境

4.1 路徑與指令搜尋順序

4.2 bash 的進站與歡迎訊息:/etc/issue,/etc/motd

4.3 環境配置文件:login,non-login shell,/etc/profile,~/.bash_profile,source,~/.bashrc

4.4 終端機的環境設定:stty,set

4.5 通配符與特殊符號


5.數據流重導向(Redirection)

5.1 何謂數據流重導向

5.2 命令執行的判斷依據:;,&&,||


6.管線命令(pipe)

6.1 攫取命令:cut,grep

6.2 排序命令:sort,uniq,wc

6.3 雙向重導向:tee

6.4 字符轉換命令:tr,col,join,paste,expand

6.5 分割命令:split

6.6 參數代換:xargs

6.7 關於減號 - 的用途


7.重點回顧

8.本章習題

9.參考數據與延伸閱讀

10.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23884


第12章、正則表達式與文件格式化處理


正則表達式(Regular Expression,RE),是透過一些特殊字符的排列,用以“搜尋/取代/刪除”一列或多列文字字符串,簡單的說,正則表達式就是用在字符串的處理上面的一項表示法,正則表達式並不是一個工具程序,而是一個字符串處理的標準依據,如果您想要以正則表達式的方式處理字符串,就得要使用支持正則表達式的工具程序才行,這類的工具程序很多,例如 vi,sed,awk 等等。


1.前言:什麼是正則表達式

1.1 什麼是正則表達式

1.2 正則表達式對於系統管理員的用途

1.3 正則表達式的廣泛用途

1.4 正則表達式與 Shell 在 Linux 當中的角色定位

1.5 延伸的正則表單時


2.基礎正則表達式

2.1 語系對正則表達式的影響

2.2 grep 的一些進階選項

2.3 基礎正則表達式聯繫

2.4 基礎正則表達式字符彙整(characters)

2.5 sed 工具:行的新增/刪除,行的取代/顯示,搜尋並取代,直接修改


3.延伸正則表達式


4.文件的格式化與相關處理

4.1 printf:格式化打印

4.2 awk:好用的數據處理工具

4.3 檔案比對工具:diff,cmp,patch

4.4 檔案打印準備工具:pr


5.重點回顧

6.本章習題

7.參考數據與延伸閱讀

8.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23885


第13章、學習 Shell Scripts


如果你真的很想要走信息這條路,並且想要管理好屬於你的主機,那麼,別說鳥哥不告訴你,可以自動關了系統的好工具:Shell Scripts!這傢伙真的是要好好學習學習的!基本上,shell script 有點像是早期的批處理文件,亦即是將一些指令彙整起來一次執行,但是 Shell Scripts 擁有更強大的功能,拿就是他可以進行類似程序(program)的撰寫,並且不需要經過編譯(compile)就能夠執行,真的很方便。加上我們可通過 shell script 來簡化我們日常的工作管理,而且,整個 Linux 環境中,一些服務(services)的啓動都是透過 shell script 的,如果你對於 script 不瞭解,嘿嘿!發生問題時,可真是會求助無門哦!所以,好好的學一學他吧!


1.什麼是 Shell Script

1.1 幹嘛學習 shell scripts

1.2 第一支 script 的撰寫與執行

1.3 撰寫 shell script 的良好習慣建立


2.簡單的 shell script 練習

2.1 簡單範例:對談式腳本,隨日期變化,數值運算

2.2 script 的執行方式差異(source,sh script,./script)


3.善用判斷式

3.1 利用 test 指令的測試功能

3.2 利用判斷符號 []

3.3 Shell script 的默認變數($0,$1...):shift


4.條件判斷式

4.1 利用 if...then:單層簡單條件,多重複雜條件,檢驗$1內容,網絡狀態,退伍

4.2 利用 case... esac 判斷

4.3 利用 function 功能


5.循環(loop)

5.1 while...do...done,until...do...done(不定循環)

5.2 for...do...done(固定循環):賬號檢查,網絡狀態$(seq)

5.3 for...do...done 的數值處理


6.shell script 的追追蹤與 debug

7.重點回顧

8.本章習題

9.參考數據與延伸閱讀

10.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23886


第14章、Linux 賬號管理與 ACL 權限設定


要登入 Linux 系統一定要有賬號與密碼才行,否則怎麼登入?不過,不同的使用者應該要擁有不同的權限才行吧?我們還可以透過 user/group 的特殊權限設定,來規範出不同的羣組開發項目呢~在 Linux 的環境下,我們可以透過很多方式來限制用戶能夠使用的系統資源,包括 第11章、bash 提到的 ulimit 限制、還有特殊權限限制,如 umask 等等。透過這些舉動,我們可以規範出不同使用者的使用資源。另外,還記得系統管理員賬號嗎?對!可就是 root 。請問一下,除了 root 之外,是否可以有其他的系統管理員賬號?爲什麼大家都要儘量避免使用數字形態的賬號?如何修改用戶相關的信息呢?這些我們都得要了解了解的。


1.Linux 的賬號與羣組

1.1 使用者標識符:UID 與 GID

1.2 使用者賬號:/etc/passwd 檔案結構,/etc/shadow 檔案結構

1.3 關於羣組:/etc/group 檔案結構,有效與初始羣組,groups,newgrp,/etc/gshadow


2.賬號管理

2.1 新增與移除使用者:useradd,useradd參考檔,passwd,chage,usermod,userdel

2.2 用戶功能:finger,chfn,chsh,id

2.3 新增與移除羣組:groupadd,groupmod,groupdel,gpasswd 羣組管理員

2.4 賬號管理實例


3.主機的細部權限規劃:ACL的使用

3.1 什麼是 ACL

3.2 如何啓動 ACL

3.3 ACL 的設定技巧:setfacl,getfacl,ACL 的設定(user,group mask,default)


4.使用者身份切換

4.1 su

4.2 sudo:速凍指令,visudo(/etc/sudoers)(賬號,羣組,限制指令,別名,時間間隔,配合 su)


5.用戶的特殊 shell 與 PAM 模塊

5.1 特殊的 shell:/sbin/nologin,nologin.txt

5.2 PAM 模塊簡介

5.3 PAM 模塊設定語法:驗證類別(type)、控制標準(flag)、模塊與參數

5.4 其他相關檔案:limits,conf


6.Linux 主機上的用戶訊息傳遞

6.1 查詢使用者:w,who,last,lastlog

6.2 使用者對談:write,mesg,wall

6.3 使用者郵件信箱:mail


7.手動新增使用者

7.1 一些檢查工具:pwck,pwconv,pwunconv,chpasswd

7.2 特殊賬號,如純數字賬號的手工建立

7.3 大量建置賬號模板(適用 passwd --stdin 選項)

7.4 大量建置賬號的範例(適用於連續數字,如學號)


8.重點回顧

9.本章習題

10.參考數據與延伸閱讀

11.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23887


第15章、磁盤配額(Quota)與進階文件系統管理


如果您的 Linux 服務器有多個用戶經常存取數據時,爲了維護所有用戶在硬盤容量的公平適用,磁盤配額(Quota)就是一項非常有用的工具!另外,如果你的用戶常常抱怨磁盤容量不夠用,那麼更進階的文件系統就得要學習學習。本章我們會介紹磁盤陣列(RAID)及邏輯滾動條文件系統(LVM),這些工具都可以幫助你管理與維護用戶可用的磁盤容量喔!


1. 磁盤配額(Quota)的應用與實作

1.1 什麼是 Quota:一般用途,限制,規範(inode/block,soft/hard,grace time)

1.2 一個 Quota 的實作範例

1.3 實作 Quota 流程-1:文件系統支援(/etc/fstab,/etc/mtab)

1.4 實作 Quota 流程-2:建立 Quota 記錄文件(quotacheck)

1.5 實作 Quota 流程-3:啓動、關閉與限制值設定(quotaon,quotaoff,edquota)

1.6 實作 Quota 流程-4:Quota 限制值的報表(quota,repquota)

1.7 實作 Quota 流程-5:測試與管理(測試,warnquota,setquota)

1.8 不更動既有系統的 Quota 實例


2.軟件磁盤陣列(Software RAID)

2.1 什麼是 RAID:RAID-0,RAID-1,RAID0+1,RAID5,Spare disk

2.2 software,hardware RAID

2.3 軟件磁盤陣列的設定:mdadm --create

2.4 仿真 RAID 錯誤的救援模式:mdadm --manage

2.5 開機自動啓動 RAID 並自動掛載

2.6 關閉軟件 RAID(重要!)


3.邏輯滾動條管理員(Logical Volume Manager)

3.1 什麼是 LVM:PV,PE,VG,LV 的意義

3.2 LVM 實作流程:PV 階段,VG 階段,LV 就斷,文件系統階段

3.3 放大 LV 容量:resize2fs

3.4 縮小 LV 容量

3.5 LVM 的系統快照:建立,還原,用於測試環境

3.6 LVM 相關指令彙整與 LVM 的關閉


4.重點回顧

5.本章習題

6.參考數據與延伸閱讀

7.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23888


第16章、例行性工作排程(crontab)


學習了基礎篇也一陣子了,你會發現到爲什麼系統常常會主動的進行一些任務?這些任務到底是誰在設定工作的?如果你想要讓自己設計的備份程序可以自動的在系統底下執行,而不需要手動來啓動他,又該如何處置?這些例行的工作可能又分爲“單一”工作與“循環”工作,在系統內又是哪些服務在負責?還有還有,如果你想要每年在老婆的生日前一天就發出一封郵件提醒自己不要忘記,可以辦的到嗎?嘿嘿!這些種種要如何處理,就看看這一章先。


1.什麼是例行性工作排程

1.1 Linux 工作排程的種類:at,crontab

1.2 Linux 上常見的例行性工作


2.僅執行一次的工作排程

2.1 atd 的啓動與 at 運作的方式:/etc/at.deny

2.2 實際運作單一工作排程:at,atq & atrm,batch


3.循環執行的例行性工作排程

3.1 使用者的設定:/etc/cron.deny,crontab

3.2 系統的配置文件:/etc/crontab

3.3 一些注意事項


4.可喚醒停機期間的工作任務

4.1 什麼是 anacron

4.2 anacron 與 /etc/anacrontab

5.重點回顧

6.本章習題

7.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23889


第17章、程序管理與 SELinux 初探


一個程序被加載到內存當中運作,那麼在內存內的那個數據就被成爲程序(process)。程序是操作系統上非常重要的概念,所有系統上面跑的數據都會以程序的形態存在。那麼系統的程序有哪些狀態?不同的狀態會如何影響系統的運作?程序之間是否可以互相控管等等的,這些都是我們所必須要知道的項目。另外與程序有關的還有 SELinux 這個加強檔案存取安全性的咚咚,也必須要做個瞭解呢!


1.什麼是程序(Process)

1.1 程序與程序(process & program):子程序與程序,fork-end-exec,系統服務


2.工作管理(job control)

2.1 什麼是工作管理

2.2 job control 的管理:&,[ctrl]-z,jobs,fg,bg,kill


3.程序管理

3.1 程序的觀察:ps(ps -l,ps aux,zombie),top,pstree

3.2 程序的管理:signal,kill,killall

3.3 關於程序的執行順序:priority,nice,renice

3.4 系統資源的觀察:free,uname,uptime,netstat,dmesg,vmstat


4.特殊檔案與程序

4.1 具有 SUID/SGID 權限的指令執行狀態

4.2 /proc/* 代表的意義

4.3 查詢已開啓檔案或已執行程序開啓之檔案:fuser,lsof,pidof


5.SELinux 初探

5.1 什麼是 SELinux:目標,DAC,MAC

5.2 SELinux 的運作模式:組件,安全性本文,domain/type

5.3 SELinux 的啓動、關閉與觀察:getenforce,setstatus,啓動與關閉,setenforce

5.4 SELinux 網絡服務運作範例:啓動(ps -Z),錯誤情況,解決(chcon,restorecon)

5.5 SELinux 所需的服務:setroubleshoot,sealert,auditd,audit2why

5.6 SELinux 的政策與規則管理:seinfo,sesearch,getsebool,setsebool,semanage

6.重點回顧

7.本章習題

8.參考數據與延伸閱讀

9.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23890


第18章、認識系統服務(daemons)


在 Unix-like 的系統中,你常常聽到 daemon 這個字眼!那麼什麼是傳說中的 daemon 呢?這些 daemon 放在什麼地方?他的功能是什麼?該如何啓動這些 daemon ? 又如何有效的將這些 daemon 管理妥當?此外,要如何視察這些 daemon 開了多少個 ports ?又這些 ports 要如何關閉?還有還有,曉得你係統的這些 port 各代表的是什麼服務嗎?這些都是最基礎需要注意的呢!尤其是在架設網站之前,這裏的觀念就顯的更重要了。


1.什麼是 daemon 與服務(service)

1.1 daemon 的主要分類:stand alone,super daemon,工作形態,命名規則

1.2 服務與埠口的對應:/etc/services

1.3 daemon 的啓動腳本與啓動方式:配置文件,stand alone,service,super daemon


2.解析 super daemon 的配置文件

2.1 默認值配置文件:xinetd.conf:重要參數說明

2.2 一個簡單的 srync 範例設定


3.服務的防火牆管理 xinetd,TCP Wrappers

3.1 /etc/hosts.allow,/etc/hosts.deny 管理:ldd,配置文件語法

3.2 TCP Wrappers 特殊功能


4.系統開啓的服務

4.1 觀察系統啓動的服務

4.2 設定開機後立即啓動服務的方法:chkconfig,ntsysv

4.3 CentOS 5.x 預設啓動的服務簡易說明


5.重點回顧

6.本章習題

7.參考數據與延伸閱讀

8.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23894


第19章、認識與分析登錄檔


當你的 Linux 系統出現不明原因的問題時,很多人都告訴你,你要查閱一下登錄文件才能夠知道系統出了什麼問題了,所以說,瞭解登錄檔是很重要的事情呢。登錄文件可以記錄系統在什麼時間、哪個主機、哪個服務、出現了什麼訊息等信息,這些信息也包括用戶識別數據、系統故障排除須知等信息。如果你能夠善用這些登錄文件信息的話,你的系統出現錯誤時,你將可以在第一時間發現,而且也能夠從中找到解決的方案,而不是昏頭轉向的亂問人呢。此外,登錄文件所記錄的信息量是非常大的,要人眼分析實在很困難。此時利用 shell script 或者 是其他軟件提供的分析工具來處理複雜的登錄檔,可以幫助你很多很多喔!


1.什麼是登錄檔:登錄檔的重要性,常見檔名,服務與程序


2.syslogd:記錄登錄文件的服務

2.1 登錄檔內容的一般格式

2.2 syslog 的配置文件:/etc/syslog.conf,預設的 syslog.conf 內容

2.3 登錄檔的安全性設置

2.4 登錄檔服務器的設定


3.登錄檔的輪替(logrotate)

3.1 logrotate 的配置文件

3.2 實際測試 logrotate 的動作

3.3 自定義登錄文件的輪替功能


4.分析登錄檔

4.1 CentOS 預設提供的 logwatch

4.2 鳥哥自己寫的登錄檔分析工具


5.本章習題

6.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23895


第20章、開機流程、模塊管理與 Loader


系統開機其實是一項非常複雜的程序,因爲核心得要偵測硬件並加載適當的驅動程序後,接下來則必須要呼叫程序來準備好系統運作的環境,以讓使用者能夠順利的操作整部主機系統。如果你能夠理解開機的原理,那麼將有助於你在系統出問題時能夠很快速的修復系統喔!而且還能夠順利的配置多重操作系統的多重引導問題。爲了多重引導的問題,你就不能不學學 grub 這個 Linux 底下優秀的開機管理程序(boot loader)。而在系統運作期間,你也得要學會管理核心模塊呢!


1.Linux 的開機流程分析

1.1 開機流程一覽

1.2 BIOS,boot loader 與 kernel 載入

1.3 第一支程序 init 及配置文件 /etc/inittab 與 runlevel

1.4 init 處理系統初始化流程(/etc/rc.d/rc.sysinit)

1.5 啓動系統服務與相關啓動配置文件(/et/rc.d/rc N & /et/sysconfig)

1.6 用戶自定義開機啓動程序(/etc/rc.d/rc.local)

1.7 根據 /etc/inittab 之設定,加載終端機或 X-Window 接口

1.8 開機過程會用到的主要配置文件:/etc/modprobe.conf,/etc/sysconfig/*

1.9 Run level 的切換:runlevel,init


2.核心與核心模塊

2.1 核心模塊與相關性:depmod

2.2 核心模塊的觀察:lsmod,modinfo

2.3 核心模塊的加載與移除:insmod,modprobe,rmmod

2.4 核心模塊的額外參數設定:/etc/modprobe.conf


3.Boot loader:Grub

3.1 boot loader 的兩個 stage

3.2 grub 的配置文件 /boot/grub/menu.lst 與選單類型:磁盤代號,menu.lst

3.3 initrd 的重要性與建立新 initrd 檔案:mkinitrd

3.4 測試與安裝 grub:grub-install,grub shell

3.5 開啓前的額外功能修改

3.6 關於核心功能當中的 vga 設定

3.7 BIOS 無法讀取大硬盤的問題

3.8 爲個別選單加上密碼:grub-md5-crypt


4.開機過程中的問題解決

4.1 忘記 root 密碼的解決之道

4.2 init 配置文件錯誤

4.3 BIOS 磁盤對應的問題(device.map)

4.4 因文件系統錯誤而無法開機

4.5 利用 chroot 切換到另一顆硬盤工作


5.重點回顧

6.本章習題

7.參考數據與延伸閱讀

8.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23891


第21章、系統設定工具(網絡與打印機)與硬件偵測


除了手動設定之外,其實系統提供了一個名爲 setup 的指令給系統管理員使用喔!這個指令還能夠設定網絡呢。此外,我們也應該要之道如何在 Linux 底下連接打印機吧!否則一些數據怎麼印出來?另外,如果你的主板支持 CPU 溫度偵測的話,我們還能夠利用 lm_sensors 這個軟件功能來偵測硬件的電壓、風扇轉速、CPU 溫度等信息呢!


1.CentOS 系統設定工具:setup

1.1 使用者身份驗證設定

1.2 網絡設定項目(手動設定 IP 與自動取得)

1.3 防火牆設定

1.4 鍵盤形式設定

1.5 系統服務的啓動與否設定

1.6 系統時鐘的失去設定

1.7 X窗口接口分辨率設定


2.利用 CUPS 設定 Linux 打印機

2.1 Linux 的打印組件(打印作業、隊列、服務與打印機)

2.2 CUPS 支持的聯機模式

2.3 以 Web 接口控管網絡打印機

2.4 以 Web 接口控管 USB  本機打印機

2.5 將 Linux 本機打印機開放成爲網絡打印機

2.6 手動設定打印機:lpadmin,lpstat,lpr,lp,lpq,lprm


3.硬件數據收集與驅動,及 lm_sensors

3.1 硬件信息的收集與分析:lspci,lsusb,iostat

3.2 驅動 USB裝置

3.3 使用 lm_sensors 取得溫度、電壓等信息:sensors-detect,sensors

3.4 udev 與 hal 簡介


4.重點回顧

5.本章習題

6.參考數據與延伸閱讀

7.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23898


第22章、軟件安裝:原始碼與 Tarball


我們在第1章、Linux是什麼當中提到了 GNU 計劃與 GPL 授權所產生的自由軟件與開放源碼等咚咚。不過,前面的章節都還沒有提到真正的開發源碼是什麼訊息!在這一章當中,我們將藉由 Linux 操作系統裏面的執行文件,來理解什麼是可執行程序,以及瞭解什麼是編譯程序。另外,與程序信息相關的函數庫(library)的信息也需要了解一番!不過,在這個章節當中,鳥哥並不是要你成爲一個開發源碼的程序設計師,而是希望你可以瞭解如何將開發源碼的程序設計、加入函式庫的原理、通過編譯而成爲可以執行的 binary program,最後該執行檔可被我們所使用的一連串過程!

瞭解上面的咚咚有什麼好處呢?因爲在 Linux 的世界裏面,由於客製化的關係,有時候我們需要自行安裝軟件在自己的 Linux 系統上面,所以如果你有簡單的程序編譯概念,那麼將很容易進行軟件的安裝。甚至在發生軟件編譯過程中的錯誤時,你也可以自行作一些簡易的修訂呢!而最傳統的軟件安裝過程,自然就是由原始碼編譯而來的囉!所以,在這裏我們將介紹最原始的軟件管理方式:使用 Tarball 來安裝與升級管理我們的軟件喔!


1.開發源碼的軟件安裝與升級簡介

1.1 什麼是開放源碼、編譯程序與可執行文件

1.2 什麼是函式庫

1.3 什麼是 make 與 configure

1.4 什麼是 Tarball 的軟件

1.5 如何安裝與升級軟件


2.使用傳統程序語言進行編譯的簡單範例

2.1 單一程序:印出 Hello World

2.2 主、子程序鏈接:子程序的編譯

2.3 呼叫外部函式庫:加入連結的函式庫

2.4 gcc 的簡易用法(編譯、參數與鏈結)


3.用 make 進行宏編譯

3.1 爲什麼要用 make

3.2 makefile 的基本語法與變量


4.Tarball 的管理與建議

4.1 使用原始碼管理軟件所需要的基礎軟件

4.2 Tarball 安裝的基本步驟

4.3 一般 Tarball 軟件安裝的建議事項(如何移除?升級?)

4.4 一個簡單的範例、利用 ntp 來示範

4.5 使用 patch 更新原始碼


5.函式庫管理

5.1 動態與靜態函式庫

5.2 ldconfig 與 /etc/ld.so.conf

5.3 程序的動態函式庫解析:ldd


6.檢驗軟件的正確性

6.1 md5sum/sha1sum

7.重點回顧

8.本章習題

9.參考數據與延伸閱讀

10.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23892


第23章、軟件安裝:RPM、SRPM與YUM 功能


雖然使用原始碼迚行軟件編譯可以具有客製化的設定,但對亍 Linux distribution 的發佈商來說,則有軟件管理丌易的問題, 畢竟丌是每個人都會迚行原始 碼編譯的。如果能夠將軟件預先在相同的硬件不操作系統上面編譯好才發佈的話, 丌就能夠讓相同的 distribution 具有完全一致的軟件版本嗎?如果再加 上簡易的安裝/移除/管理等機制的話, 對亍軟件控管就會簡易的多。有這種東西嗎?有的,那就是 RPM 不 YUM 這兩個好用的咚咚。 既然這舉好用,我們 當然丌能錯過學習機會囉!趕緊來參詳參詳!


1. 軟件管理員簡介

1.1 Linux 界的兩大主流: RPM 不 DPKG

1.2 什舉是 RPM 不 SRPM

1.3 什舉是 i386, i586, i686, noarch, x86_64 

1.4 RPM 的優點

1.5 RPM 屬性相依的兊朋方式: YUM 在線升級


2. RPM 軟件管理程序: rpm

2.1 RPM 默訃安裝的路徑

2.2 RPM 安裝 (install)

2.3 RPM 升級不更新 (upgrade/freshen) 

2.4 RPM 查詢 (query)

2.5 RPM 驗證不數字簽名 (Verify/signature)

2.6 RPM 反安裝不重建數據庫 (erase/rebuilddb) 


3. SRPM 的使用: rpmbuild

3.1 利用默訃值安裝 SRPM 檔案 (--rebuid/--recompile) 

3.2 SRPM 使用的路徑不需要的軟件

3.3 配置文件的主要內容 (*.spec)

3.4 SRPM 的編譯挃令 (-ba/-bb)

3.5 一個打包自己軟件的範例 


4. YUM 在線升級機制

4.1 利用 yum 迚行查詢、安裝、升級不移除功能 

4.2 yum 的配置文件

4.3 yum 的軟件羣組功能

4.4 全系統自勱升級


5. 管理的抉擇:RPM 還是 Tarball

6.重點回顧

7.本章習題

8.參考數據與延伸閱讀

9.針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23893


第24章、X Window 設定介紹


在 Linux 上頭的圖形接口我們稱之爲 X Window System,簡稱爲 X 或 X11 囉! 爲何稱之爲系統呢?這是因爲 X 窗 口系統又分爲 X server 與 X client ,既然是 Server/Client (主從架構) 這就表示其實 X 窗口系統是可以跨網絡且跨平臺的!X 窗口系統對於 Linux 來說僅是一個軟件, 只是這個軟件日趨重要喔!因爲 Linux 是否能夠在桌面計算機上面流行,與這個 X 窗口系統有關啦! 好在,目前的 X 窗口系統整合到 Linux 已經非常優秀了,而且也能夠具有 3D 加速的功能, 只是,我們還是得要了解一下 X 窗口系統纔好,這樣如果出問題,我們纔有辦法處理啊!


1. 什麼是 X Window System

1.1 X Window 的發展簡史

1.2 主要組件: X Server/X Client/Window Manager/Display Manager 

1.3 X Window 的啓動流程:startx, xinit

1.4 X 啓動流程測試

1.5 我是否需要啓用 X Window System


2. X Server 配置文件覽析不設定

2.1 解析 xorg.conf 設定

2.2 X Font Server (XFS) 不加入額外中文字形:chkfontpath, fc-cache 

2.3 配置文件重建不顯示器參數微調:透過 gtf 調整分辨率


3. 顯示適配器驅勱程序安裝範例 

3.1 NVidia

3.2 ATI (AMd)

3.3 Intel 


4. 重點回顧

5. 本章習題

6. 參考數據不延伸閱讀

7. 針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23897


第25章、Linux 備份策略


萬一不行你的 Linux 被黑客入侵了、戒是你的 Linux 系統由於硬件關係 (不論是天災還是人禍) 而掛掉了!這個時候,請問如何快速的恢復你的系統呢?呵呵!當然囉,如果有備份數據的話, 那麼恢復系統所花費的時間與成本將降低相當的多!平時最好就養成備份的習 慣, 以克突然間的系統損毀造成手足無措!此外,哪些檔案最需要備份呢?又,備份是需要完整的備份還是僅備份重要數據即可? 嗯! 確實需要考慮看看呦!


1. 備份要點

1.1 備份資料的考慮

1.2 哪些 Linux 數據具有備份的意義

1.3 備份用儲存媒體的選擇


2. 備份種類、頻率與工具的選擇

2.1 完整備份之累積備份 (Incremental backup), 使用軟件 

2.2 完整備份之差異備份 (Differential backup)

2.3 關鍵數據備份


3. VBird 的備份策略與 scripts 

3.1 每週系統備份的 script 

3.2 每日備份資料的 script 

3.3 進程備援的 script


4. 災難復原的考慮

5. 重點回顧

6. 本章習題

7. 參考數據與延伸閱讀

8. 針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23896


第26章、Linux 核心編譯與管理


我們說的 Linux 其實挃的就是核心 (kernel) 而已。這個核心控制你主機的所有硬件幵提供系統所有的功能, 所以說,他重丌重要啊!我們開機的時候其實就是利 用開機管理程序加載這個核心檔案來偵測硬件, 在覈心加載適當的驅勱程序後,你的系統才能夠順利的運作。現今的系統由亍強調在線升級機制,因此非常丌建 訌自定丿核心編譯! 但是,如果你想要將你的 Linux 安裝到 USB 隨身碟、想要將你的 Eee PC 小筆電安裝自己的 Linux , 想譏你的 Linux 可以驅勱你的小家 電,此時,核心編譯就是相當重要的一個任務了! 這一篇比較迚階,如果你對系統移植沒有興趣的話,這一篇可以先略過喔! ^_^


1. 編譯前的任務:認識核心與取得核心原始碼 

1.1 什麼是核心 (Kernel)

1.2 更新核心的目的

1.3 核心的版本

1.4 核心原始碼的取得方式:distributions 預訓、最新、patch

1.5 核心原始碼的解壓縮/安裝/觀察 


2. 核心編譯的前處理與核心功能選擇

2.1 硬件環境檢規與核心功能要求

2.2 保持乾淨原始碼: make mrproper 

2.3 開始挅選核心功能: make XXconfig 

2.4 核心功能紳項選擇

a. 一般訓定(General setup):附加版本名稱、IPC 通討、程序相關等 

b. 核心模塊與 block layer 支持

c. CPU 的類型不功能選擇(噸虛擬化技術)

d. 電源管理功能

e. 一些總線 (bus) 的選項 

f. 編譯後執行檔的格式

g. 核心的網絡功能

h. 各項裝置的驅勱程序

i. 文件系統的支援

j. 核心黑客、信息安全、密碼應用 k. 虛擬化不凼式庫


3. 核心的編譯與安裝

3.1 編譯核心與核心模塊

3.2 實際安裝模塊

3.3 開始安裝新核心與多重核心選單 (grub)


4. 額外(單一)核心模塊編譯 

4.1 編譯前注意事項 

4.2 單一模塊編譯

4.3 核心模塊管理


5. 重點回顧

6. 本章習題

7. 參考數據與延伸閱讀

8. 針對本文的建議:http://phorum.vbird.org/viewtopic.php?t=23899

發佈了119 篇原創文章 · 獲贊 69 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章