1. 程式人生 > >鳥哥的Linux私房菜基礎篇第三版 -- 目錄

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

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

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

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

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

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

一名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 主機將會變的很 【不舒服!@[email protected]】。另外,你如果首次接觸 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

相關推薦

Linux私房基礎 -- 目錄

伺服器端使用的OS,Linux是最最常用的,所以,日常的部署、排查問題,就不可避免的與Linux打交道,日積月累,對Linux就有了多多少少的瞭解。 反過來,再系統的從頭開始,讀一本關於Linux基礎的書籍,可以進行知識的串聯,把一些原先“知道其然”的東西,進化成“知其所

思維導圖之《Linux私房基礎-

原文連結:http://www.jianshu.com/p/ec06e1ace0bd 說明 使用思維導圖 Mindjet MindManager 製作的《鳥哥的Linux私房菜基礎篇-第三版》學習筆記。 整體結構 個人計算機架構 (adsbygoogle

Linux私房基礎 十一章 正則表示式與檔案格式化處理

1. 正則的概念 正則表示式就是處理字串的方法,他是以行為單位來進行字串的處理行為, 正則表示式通過一些特殊符號的輔助,可以讓使用者輕易的達到“搜尋/刪除/取代”某特定字串的處理程式! 2. 基礎

Linux私房(基礎)- 十一章、認識與學習 BASH

你是否會覺得奇怪,怎麼我們什麼動作都沒有進行,但是一進入 bash 就取得一堆有用的變量了?這是因為系統有一些環境配置檔案案的存在,讓 bash 在啟動時直接讀取這些配置檔案,以規劃好 bash 的操作環境啦!而這些配置檔案又可以分為全體系統的配置檔案以及使用者個人偏好配置檔案。要注意的是,我們前幾個小節

Linux私房(基礎)- 八章、Linux 磁碟與檔案系統管理

在第六章當中我們介紹過 Linux 的檔案除了原有的資料內容外,還含有非常多的許可權與屬性,這些許可權與屬性是為了保護每個使用者所擁有資料的隱密性。而前一小節我們知道 filesystem 裡面可能含有的 inode/block/superblock等。為什麼要談這個呢?因為標準的 Linux 檔案系

私房基礎讀書筆記

1、電腦or伺服器,是由一堆硬體組成,不同的硬體提供不同的功能,主要的有cpu、記憶體、硬碟、網絡卡、顯示卡、音效卡等,其中cpu是核心計算單元,記憶體是給cpu直接輸送資料的,硬碟是儲存資料的,網絡卡是提供網路服務的,顯示卡則提供圖形介面的顯示效果;cpu的控制單元來控制

Linux私房基礎七章、Linux 檔案與目錄管理

絕對路徑:『一定由根目弽 / 寫起』;相對路徑:『不是由 / 寫起』 特殊目錄有:., .., -, ~, ~account需要注意; 與目錄相關的指令有:cd, mkdir, rmdir, pwd 等重要指令; rmdir 僅能刪除空目錄,要刪除非空目錄需使用『 rm

Linux私房——Linux基本命令(二)

一、Linux命令格式 command   [-options]   parameter1  parameter2 1、command:指令名,相應功能的單詞縮寫。 2、[-options]:選項,可對命令進行控制,中括號[ ]並不存在於實際的命令中,而加入引數設定時,

叔的Linux私房基礎-學習筆記(一)

一行指令中第一個輸入的部分絕對是“指令(command)”或“可可執行檔案案(例如批次指令碼,script)” command 為指令的名稱,例如變換工作目錄的指令為 cd 等等; 中刮號[]並不存在於實際的指令中,而加入選項設定時,通常選項前會帶 - 號,例如 -h;有時候會使用選項的完整全名,則選 項前

叔的Linux私房基礎-學習筆記(二)

超簡單文字編輯器:nano 比較重要的幾個組合按鍵 正確的關機方法 觀察系統的使用狀態 : 下達"who"指令檢視誰還在線上 下達"netstat -a’'指令檢視網路連線狀態 下達"ps -aux"指令,看背景執行的程式 正確的關機指令使用 :

Linux私房》——五章、首次登陸與線上求助 man page

linux命令(不支援簡寫): 1、init 3  DOS介面     init 5 圖形化介面  (root下操作)       startx  開啟圖形化介面 2、命令列輸入規則:命令  -選項...  引數    3、ls         列出目錄裡的內容(當前)

Linux私房》——零章、計算器概論

一、計算機 (接受使用者輸入指令與資料, 經由中央處理器的數學和邏輯單元運算處理後,以產生或儲存成有用資訊) 1、計算機硬體的五大單元。      輸入單元、輸出單元、cpu內部的控制單元、算數邏輯單元和主儲存器。        2、CPU的種類。     根據設

Linux私房》——八章、Linux磁碟與檔案系統管理

1、ls -i(inode) xxx      xxx在inode中的編號          filefrag -v xxx       xxx檔案分佈在哪些block中      dumpe2fs  /dev/sda3      檢視sda3分割槽資訊 2、VFS  

Linux私房知識點總結3到5章

centos 啟動 學會 運行 lin inux 格式 開機流程 十分鐘 感覺自己對Linux的理解一直不夠,所以近期翻看了一本《鳥哥的Linux私房菜》。這是一本基礎的書,萬丈高樓平地起,會的不多但能夠學。這是我整理的一些知識點,盡管非常基礎。希望和大家共同交流。

Linux私房-讀後感想

背景介紹     鄙人成為碼農已兩年有餘,非科班。第一份工作有接觸Linux,只是簡單的檢視日誌、備份檔案和啟停服務等,對Linux瞭解不多。 第二份工作剛開始的時候,專案經理丟了本鳥哥的Linux私房菜的pdf檔案給我,讓我看看,說專案中經常要用到。剛看了幾頁就被鳥哥幽默的

閱讀部分linux私房章節的讀後感

鳥哥讀後感 第一章關於計算機基礎知識 電腦的五大單元包括:輸入單元、輸出單元、控制單元、算術邏輯單元、記憶單元。 外頻指的是CPU與外部元件進行資料傳輸時的速度,倍頻則是CPU內部用來加速工作效能的一個倍速,兩者相乘為CPU的頻率速度。 CPU能夠處理的資料量稱為

Linux私房知識點總結0到2章

感覺自己對Linux的理解一直不夠,所以最近翻看了一本《鳥哥的Linux私房菜》。這是一本基礎的書,萬丈高樓平地起,會的不多但可以學。這是我整理的一些知識點,雖然很基礎。希望和大家共同交流。 第0章計算機概述 1、計算機主要有三大部分組成:a.輸入部分,包括鍵盤,滑鼠。

Linux私房知識點總結8到9章

最近翻看了一本《鳥哥的Linux私房菜》。這是一本基礎的書,萬丈高樓平地起,會的不多但可以學。這是我整理的一些知識點,雖然很基礎。希望和大家共同交流。第8章Linux磁碟與檔案系統管理 一、Linux磁碟管理 1、檔案系統通常會將兩部分資料分別放在不同的塊中,許可權與屬性放

Linux私房知識點總結6到7章

最近翻看了一本《鳥哥的Linux私房菜》。這是一本基礎的書,萬丈高樓平地起,會的不多但可以學。這是我整理的一些知識點,雖然很基礎。希望和大家共同交流。 第6章主機規劃與磁碟分割槽 1、在進行團隊開發資源時,使用者組是很有用的一個功能。 2、Linux檔案屬性, 如:-r

Linux私房》——第一章、Linux是什麼

1、Linux(一套作業系統)發展史            Unix誕生(大約1969年由Thompson引導核心程式,1973年Ritchie等人以C語言寫出第一個正式Unix核心) ——>1977年:重要的Unix分支--BSD癿誕生 ——>1979年:重要