## 20.2 服務器硬件數據的收集
“工欲善其事,必先利其器”,這是一句大家耳熟能詳的古人名言,在我們的信息設備上面也是一樣的啊! 在現在 (2015) 正好是 DDR3 切換到 DDR4 的時間點,假設你的服務器硬件剛剛好內存不太夠,想要加內存, 那請教一下,你的主板插槽還夠嗎?你的內存需要 DDR3 還是 DDR4 呢?你的主機能不能吃到 8G 以上的單條內存? 這就需要檢查一下系統啰!不想拆機箱吧?那怎辦?用軟件去查啦!此外,磁盤會不會出問題?你怎么知道哪一顆磁盤出問題了?這就重要啦!
### 20.2.1 以系統內置 dmidecode 解析硬件配備
系統有個名為 dmidecode 的軟件,這個軟件挺有趣的,它可以解析 CPU 型號、主板型號與內存相關的型號等等~ 相當的有幫助!尤其是在升級配備上面!現在讓我們來查一查鳥哥的虛擬機里頭有啥東西吧!
```
[root@study ~]# dmidecode -t type
選項與參數:
詳細的 type 項目請 man dmidecode 查詢更多的數據,這里僅列出比較常用的項目:
1 :詳細的系統數據,含主板的型號與硬件的基礎數據等
4 :CPU 的相關數據,包括倍頻、外頻、核心數、核心緒數等
9 :系統的相關插槽格式,包括 PCI, PCI-E 等等的插槽規格說明
17:每一個內存插槽的規格,若內有內存,則列出該內存的容量與型號
范例一:秀出整個系統的硬件信息,例如主板型號等等
[root@study ~]# dmidecode -t 1
# dmidecode 2.12
SMBIOS 2.4 present.
Handle 0x0100, DMI type 1, 27 Bytes
System Information
Manufacturer: Red Hat
Product Name: KVM
Version: RHEL 6.6.0 PC
Serial Number: Not Specified
UUID: AA3CB5D1-4F42-45F7-8DBF-575445D3887F
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Red Hat Enterprise Linux
范例二:那內存相關的數據呢?
[root@study ~]# dmidecode -t 17
# dmidecode 2.12
SMBIOS 2.4 present.
Handle 0x1100, DMI type 17, 21 Bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: 0x0000
Total Width: 64 bits
Data Width: 64 bits
Size: 3072 MB
Form Factor: DIMM
Set: None
Locator: DIMM 0
Bank Locator: Not Specified
Type: RAM
Type Detail: None
```
因為我們的系統是虛擬機,否則的話,你的主板型號、每一只安插的內存容量等等,都會被列出來在上述的畫面中喔! 這樣可以讓你了解系統的所有主要硬件配備為何!

**Tips** 因為某些緣故,鳥哥獲得了一部機架式的服務器,不過該服務器就是內存不夠。又因為某些緣故有朋友要送 ECC 的低電壓內存給鳥哥!太開心了! 不過為了擔心內存與主板不相容,所以就使用了 dmidecode 去查主板型號,再到原廠網站查詢相關主板規格,這才確認可以使用!感謝各位親愛的朋友啊!!
### 20.2.2 硬件資源的收集與分析
現在我們知道系統硬件是由操作系統核心所管理的,由[第十九章](../Text/index.html)的開機流程分析中,我們也知道 Linux kernel 在開機時就能夠偵測主機硬件并載入適當的模塊來驅動硬件了。 而核心所偵測到的各項硬件設備,后來就會被記錄在 /proc 與 /sys 當中了。 包括 /proc/cpuinfo, /proc/partitions, /proc/interrupts 等等。 更多的 /proc 內容介紹,先回到[第十六章的程序管理](../Text/index.html#proc)瞧一瞧先!

**Tips** 其實核心所偵測到的硬件可能并非完全正確喔!因為他僅是“使用最適當的模塊來驅動這個硬件”而已, 所以有時候難免會誤判啦 (雖然概率非常之低)!那你可能想要以最新最正確的模塊來驅動你的硬件, 此時,重新編譯核心是一條可以達成的道路。不過,現在的 Linux 系統并沒有很建議你一定要重新編譯核心就是了。
那除了直接調用出 /proc 下面的文件內容之外,其實 Linux 有提供幾個簡單的指令來將核心所偵測到的硬件叫出來的~ 常見的指令有下面這些:
* [gdisk](../Text/index.html#gdisk):第七章曾經談過,可以使用 gdisk -l 將分區表列出;
* [dmesg](../Text/index.html#dmesg):第十六章談過, 觀察核心運行過程當中所顯示的各項訊息記錄;
* [vmstat](../Text/index.html#vmstat):第十六章談過,可分析系統 (CPU/RAM/IO) 目前的狀態;
* lspci:列出整個 PC 系統的 PCI 接口設備!很有用的指令;
* lsusb:列出目前系統上面各個 USB 端口的狀態,與連接的 USB 設備;
* iostat:與 vmstat 類似,可實時列出整個 CPU 與周邊設備的 Input/Output 狀態。
lspci, lsusb, iostat 是本章新談到的指令,尤其如果你想要知道主板與各周邊相關設備時,那個 lspci 真是不可多得的好工具!而如果你想要知道目前 USB 插槽的使用情況以及偵測到的 USB 設備, 那個 lsusb 則好用到爆!至于 iostat 則是一個實時分析軟件,與 vmstat 有異曲同工之妙!
基本上,想要知道你 Linux 主機的硬件配備,最好的方法還是直接拆開機箱去察看上面的信息 (這也是為何[第零章會談計概](../Text/index.html)啊)! 如果環境因素導致您無法直接拆開主機的話,那么直接 lspci 是很棒的一的方法:
* lspci
```
[root@study ~]# lspci [-vvn]
選項與參數:
-v :顯示更多的 PCI 接口設備的詳細信息;
-vv :比 -v 還要更詳細的細部信息;
-n :直接觀察 PCI 的 ID 而不是廠商名稱
范例一:查閱您系統內的 PCI 總線相關設備:
[root@study ~]# lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Red Hat, Inc. QXL paravirtual graphic card (rev 04)
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
00:05.0 RAM memory: Red Hat, Inc Virtio memory balloon
00:06.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio
Controller (rev 01)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
# 不必加任何的參數,就能夠顯示出目前主機上面的各個 PCI 接口的設備呢!
```
不必加上任何選項,就能夠顯示出目前的硬件配備為何。上面就是鳥哥的測試機所使用的主機配備。 包括使用 Intel 芯片的仿真主板、南橋使用 ICH9 的控制芯片、附掛 QXL 的顯卡、使用虛擬化的 Virtio 網卡等等。 您瞧瞧!很清楚,不是嘛。
如果你還想要了解某個設備的詳細信息時,可以加上 -v 或 -vv 來顯示更多的信息喔! 舉例來說,鳥哥想要知道那個以太網卡更詳細的信息時,可以使用如下的選項來處理:
```
[root@study ~]# lspci -s 00:03.0 -vv
```
-s 后面接的那個怪東西每個設備的總線、插槽與相關函數功能啦!那個是我們硬件偵測所得到的數據啰! 你可以對照下面這個文件來了解該串數據的意義:
* /usr/share/hwdata/pci.ids
其實那個就是 PCI 的標準 ID 與廠牌名稱的對應表啦!此外,剛剛我們使用 lspci 時,其實所有的數據都是由 /proc/bus/pci/ 目錄下的數據所取出的呢!了解了吧! ^_^!不過,由于硬件的發展太過迅速,所以你的 pci.ids 文件可能會落伍了~那怎辦? 沒關系~可以使用下面的方式來線上更新你的對應檔:
```
[root@study ~]# update-pciids
```
* lsusb
剛剛談到的是 PCI 接口設備,如果是想要知道系統接了多少個 USB 設備呢?那就使用 lsusb 吧!這個指令也是很簡單的!
```
[root@study ~]# lsusb [-t]
選項與參數:
-t :使用類似樹狀目錄來顯示各個 USB 端口的相關性
范例一:列出目前鳥哥的測試用主機 USB 各端口狀態
[root@study ~]# lsusb
Bus 002 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
# 如上所示,鳥哥的主機在 Bus 002 有接了一個設備,
# 該設備的 ID 是 0627:0001,對應的廠商與產品為 Adomax 的設備。
```
確實非常清楚吧!其中比較有趣的就屬那個 ID 號碼與廠商型號對照了!那也是寫入在 /usr/share/hwdata/pci.ids 的東西,你也可以自行去查詢一下喔!
* iostat
剛剛那個 lspci 找到的是目前主機上面的硬件配備,那么整部機器的儲存設備, 主要是磁盤對吧!請問,您磁盤由開機到現在,已經存取多少數據呢?這個時候就得要 iostat 這個指令的幫忙了!

**Tips** 默認 CentOS 并沒有安裝這個軟件,因此你必須要先安裝他才行!如果你已經有網絡了, 那么使用“ yum install sysstat ”先來安裝此軟件吧!否則無法進行如下的測試喔!
```
[root@study ~]# iostat [-c|-d] [-k|-m] [-t] [間隔秒數] [偵測次數]
選項與參數:
-c :僅顯示 CPU 的狀態;
-d :僅顯示儲存設備的狀態,不可與 -c 一起用;
-k :默認顯示的是 block ,這里可以改成 K Bytes 的大小來顯示;
-m :與 -k 類似,只是以 MB 的單位來顯示結果。
-t :顯示日期出來;
范例一:顯示一下目前整個系統的 CPU 與儲存設備的狀態
[root@study ~]# iostat
Linux 3.10.0-229.el7.x86_64 (study.centos.vbird) 09/02/2015 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.08 0.01 0.02 0.00 0.01 99.88
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.46 5.42 3.16 973670 568007
scd0 0.00 0.00 0.00 154 0
sda 0.01 0.03 0.00 4826 0
dm-0 0.23 4.59 3.09 825092 555621
# 瞧!上面數據總共分為上下兩部分,上半部顯示的是 CPU 的當下信息;
# 下面數據則是顯示儲存設備包括 /dev/vda 的相關數據,他的數據意義:
# tps :平均每秒鐘的傳送次數!與數據傳輸“次數”有關,非容量!
# kB_read/s :開機到現在平均的讀取單位;
# kB_wrtn/s :開機到現在平均的寫入單位;
# kB_read :開機到現在,總共讀出來的文件單位;
# kB_wrtn :開機到現在,總共寫入的文件單位;
范例二:僅針對 vda ,每兩秒鐘偵測一次,并且共偵測三次儲存設備
[root@study ~]# iostat -d 2 3 vda
Linux 3.10.0-229.el7.x86_64 (study.centos.vbird) 09/02/2015 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.46 5.41 3.16 973682 568148
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 1.00 0.00 0.50 0 1
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.00 0.00 0.00 0 0
# 仔細看一下,如果是有偵測次數的情況,那么第一次顯示的是“從開機到現在的數據”,
# 第二次以后所顯示的數據則代表兩次偵測之間的系統傳輸值!舉例來說,上面的信息中,
# 第二次顯示的數據,則是兩秒鐘內(本案例)系統的總傳輸量與平均值。
```
通過 lspci 及 iostat 可以約略的了解到目前系統的狀態還有目前的主機硬件數據呢!
### 20.2.3 了解磁盤的健康狀態
其實 Linux server 最重要的就是“數據安全”了!而數據都是放在磁盤當中的,所以啰,無時無刻了解一下你的磁盤健康狀況,應該是個好習慣吧! 問題是,你怎么知道你的磁盤是好是壞啊?這時就得要來談一個 smartd 的服務了!
SMART 其實是“ Self-Monitoring, Analysis and Reporting Technology System ”的縮寫,主要用來監測目前常見的 ATA 與 SCSI 界面的磁盤, 只是,要被監測的磁盤也必須要支持 SMART 的協定才行!否則 smartd 就無法去下達指令,讓磁盤進行自我健康檢查~ 比較可惜的是,我們虛擬機的磁盤格式并不支持 smartd,所以無法用來作為測試!不過剛剛好鳥哥還有另外一顆用作 IDE 界面的 2G 磁盤, 這個就能夠用來作為測試了! (/dev/sda)!
smartd 提供一只指令名為 smartctl,這個指令功能非常多!不過我們下面只想要介紹數個基本的操作,讓各位了解一下如何確認你的磁盤是好是壞!
```
# 1\. 用 smartctl 來顯示完整的 /dev/sda 的信息
[root@study ~]# smartctl -a /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-229.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
# 首先來輸出一下這部磁盤的整體信息狀況!包括制造商、序號、格式、SMART 支持度等等!
=== START OF INFORMATION SECTION ===
Device Model: QEMU HARDDISK
Serial Number: QM00002
Firmware Version: 0.12.1
User Capacity: 2,148,073,472 Bytes [2.14 GB]
Sector Size: 512 Bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA/ATAPI-7, ATA/ATAPI-5 published, ANSI NCITS 340-2000
Local Time is: Wed Sep 2 18:10:38 2015 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
# 接下來則是一堆基礎說明!鳥哥這里先略過這段數據喔!
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
.....(中間省略).....
# 再來則是有沒有曾經發生過磁盤錯亂的問題登錄!
SMART Error Log Version: 1
No Errors Logged
# 當你下達過磁盤自我檢測的過程,就會被記錄在這里了!
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4660 -
# 2 Short offline Completed without error 00% 4660 -
# 2\. 命令磁盤進行一次自我檢測的動作,然后再次觀察磁盤狀態!
[root@study ~]# smartctl -t short /dev/sda
[root@study ~]# smartctl -a /dev/sda
.....(前面省略).....
# 下面會多出一個第三筆的測試信息!看一下 Status 的狀態,沒有問題就是好消息!
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4660 -
# 2 Short offline Completed without error 00% 4660 -
# 3 Short offline Completed without error 00% 4660 -
```
不過要特別強調的是,因為進行磁盤自我檢查時,可能磁盤的 I/O 狀態會比較頻繁,因此不建議在系統忙碌的時候進行喔! 否則系統的性能是可能會被影響的哩!要注意!要注意!
- 鳥哥的Linux私房菜:基礎學習篇 第四版
- 目錄及概述
- 第零章、計算機概論
- 0.1 電腦:輔助人腦的好工具
- 0.2 個人電腦架構與相關設備元件
- 0.3 數據表示方式
- 0.4 軟件程序運行
- 0.5 重點回顧
- 0.6 本章習題
- 0.7 參考資料與延伸閱讀
- 第一章、Linux是什么與如何學習
- 1.1 Linux是什么
- 1.2 Torvalds的Linux發展
- 1.3 Linux當前應用的角色
- 1.4 Linux 該如何學習
- 1.5 重點回顧
- 1.6 本章習題
- 1.7 參考資料與延伸閱讀
- 第二章、主機規劃與磁盤分區
- 2.1 Linux與硬件的搭配
- 2.2 磁盤分區
- 2.3 安裝Linux前的規劃
- 2.4 重點回顧
- 2.5 本章習題
- 2.6 參考資料與延伸閱讀
- 第三章、安裝 CentOS7.x
- 3.1 本練習機的規劃--尤其是分區參數
- 3.2 開始安裝CentOS 7
- 3.3 多重開機安裝流程與管理(Option)
- 3.4 重點回顧
- 3.5 本章習題
- 3.6 參考資料與延伸閱讀
- 第四章、首次登陸與線上求助
- 4.1 首次登陸系統
- 4.2 文字模式下指令的下達
- 4.3 Linux系統的線上求助man page與info page
- 4.4 超簡單文書編輯器: nano
- 4.5 正確的關機方法
- 4.6 重點回顧
- 4.7 本章習題
- 4.8 參考資料與延伸閱讀
- 第五章、Linux 的文件權限與目錄配置
- 5.1 使用者與群組
- 5.2 Linux 文件權限概念
- 5.3 Linux目錄配置
- 5.4 重點回顧
- 5.5 本章練習
- 5.6 參考資料與延伸閱讀
- 第六章、Linux 文件與目錄管理
- 6.1 目錄與路徑
- 6.2 文件與目錄管理
- 6.3 文件內容查閱
- 6.4 文件與目錄的默認權限與隱藏權限
- 6.5 指令與文件的搜尋
- 6.6 極重要的復習!權限與指令間的關系
- 6.7 重點回顧
- 6.8 本章習題:
- 6.9 參考資料與延伸閱讀
- 第七章、Linux 磁盤與文件系統管理
- 7.1 認識 Linux 文件系統
- 7.2 文件系統的簡單操作
- 7.3 磁盤的分區、格式化、檢驗與掛載
- 7.4 設置開機掛載
- 7.5 內存交換空間(swap)之創建
- 7.6 文件系統的特殊觀察與操作
- 7.7 重點回顧
- 7.8 本章習題 - 第一題一定要做
- 7.9 參考資料與延伸閱讀
- 第八章、文件與文件系統的壓縮,打包與備份
- 8.1 壓縮文件的用途與技術
- 8.2 Linux 系統常見的壓縮指令
- 8.3 打包指令: tar
- 8.4 XFS 文件系統的備份與還原
- 8.5 光盤寫入工具
- 8.6 其他常見的壓縮與備份工具
- 8.7 重點回顧
- 8.8 本章習題
- 8.9 參考資料與延伸閱讀
- 第九章、vim 程序編輯器
- 9.1 vi 與 vim
- 9.2 vi 的使用
- 9.3 vim 的額外功能
- 9.4 其他 vim 使用注意事項
- 9.5 重點回顧
- 9.6 本章練習
- 9.7 參考資料與延伸閱讀
- 第十章、認識與學習BASH
- 10.1 認識 BASH 這個 Shell
- 10.2 Shell 的變量功能
- 10.3 命令別名與歷史命令
- 10.4 Bash Shell 的操作環境:
- 10.5 數據流重導向
- 10.6 管線命令 (pipe)
- 10.7 重點回顧
- 10.8 本章習題
- 10.9 參考資料與延伸閱讀
- 第十一章、正則表達式與文件格式化處理
- 11.1 開始之前:什么是正則表達式
- 11.2 基礎正則表達式
- 11.3 延伸正則表達式
- 11.4 文件的格式化與相關處理
- 11.5 重點回顧
- 11.6 本章習題
- 11.7 參考資料與延伸閱讀
- 第十二章、學習 Shell Scripts
- 12.1 什么是 Shell scripts
- 12.2 簡單的 shell script 練習
- 12.3 善用判斷式
- 12.4 條件判斷式
- 12.5 循環 (loop)
- 12.6 shell script 的追蹤與 debug
- 12.7 重點回顧
- 12.8 本章習題
- 第十三章、Linux 帳號管理與 ACL 權限設置
- 13.1 Linux 的帳號與群組
- 13.2 帳號管理
- 13.3 主機的細部權限規劃:ACL 的使用
- 13.4 使用者身份切換
- 13.5 使用者的特殊 shell 與 PAM 模塊
- 13.6 Linux 主機上的使用者訊息傳遞
- 13.7 CentOS 7 環境下大量創建帳號的方法
- 13.8 重點回顧
- 13.9 本章習題
- 13.10 參考資料與延伸閱讀
- 第十四章、磁盤配額(Quota)與進階文件系統管理
- 14.1 磁盤配額 (Quota) 的應用與實作
- 14.2 軟件磁盤陣列 (Software RAID)
- 14.3 邏輯卷軸管理員 (Logical Volume Manager)
- 14.4 重點回顧
- 14.5 本章習題
- 14.6 參考資料與延伸閱讀
- 第十五章、例行性工作調度(crontab)
- 15.1 什么是例行性工作調度
- 15.2 僅執行一次的工作調度
- 15.3 循環執行的例行性工作調度
- 15.4 可喚醒停機期間的工作任務
- 15.5 重點回顧
- 15.6 本章習題
- 第十六章、程序管理與 SELinux 初探
- 16.1 什么是程序 (process)
- 16.2 工作管理 (job control)
- 16.3 程序管理
- 16.4 特殊文件與程序
- 16.5 SELinux 初探
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考資料與延伸閱讀
- 第十七章、認識系統服務 (daemons)
- 17.1 什么是 daemon 與服務 (service)
- 17.2 通過 systemctl 管理服務
- 17.3 systemctl 針對 service 類型的配置文件
- 17.4 systemctl 針對 timer 的配置文件
- 17.5 CentOS 7.x 默認啟動的服務簡易說明
- 17.6 重點回顧
- 17.7 本章習題
- 17.8 參考資料與延伸閱讀
- 第十八章、認識與分析登錄文件
- 18.1 什么是登錄文件
- 18.2 rsyslog.service :記錄登錄文件的服務
- 18.3 登錄文件的輪替(logrotate)
- 18.4 systemd-journald.service 簡介
- 18.5 分析登錄文件
- 18.6 重點回顧
- 18.7 本章習題
- 18.8 參考資料與延伸閱讀
- 第十九章、開機流程、模塊管理與 Loader
- 19.1 Linux 的開機流程分析
- 19.2 核心與核心模塊
- 19.3 Boot Loader: Grub2
- 19.4 開機過程的問題解決
- 19.5 重點回顧
- 19.6 本章習題
- 19.7 參考資料與延伸閱讀
- 第二十章、基礎系統設置與備份策略
- 20.1 系統基本設置
- 20.2 服務器硬件數據的收集
- 20.3 備份要點
- 20.4 備份的種類、頻率與工具的選擇
- 20.5 鳥哥的備份策略
- 20.6 災難復原的考慮
- 20.7 重點回顧
- 20.8 本章習題
- 20.9 參考資料與延伸閱讀
- 第二十一章、軟件安裝:源代碼與 Tarball
- 20.1 開放源碼的軟件安裝與升級簡介
- 21.2 使用傳統程序語言進行編譯的簡單范例
- 21.3 用 make 進行宏編譯
- 21.4 Tarball 的管理與建議
- 21.5 函數庫管理
- 21.6 檢驗軟件正確性
- 21.7 重點回顧
- 21.8 本章習題
- 21.9 參考資料與延伸閱讀
- 第二十二章、軟件安裝 RPM, SRPM 與 YUM
- 22.1 軟件管理員簡介
- 22.2 RPM 軟件管理程序: rpm
- 22.3 YUM 線上升級機制
- 22.4 SRPM 的使用 : rpmbuild (Optional)
- 22.5 重點回顧
- 22.6 本章習題
- 22.7 參考資料與延伸閱讀
- 第二十三章、X Window 設置介紹
- 23.1 什么是 X Window System
- 23.2 X Server 配置文件解析與設置
- 23.3 顯卡驅動程序安裝范例
- 23.4 重點回顧
- 23.5 本章習題
- 23.6 參考資料與延伸閱讀
- 第二十四章、Linux 核心編譯與管理
- 24.1 編譯前的任務:認識核心與取得核心源代碼
- 24.2 核心編譯的前處理與核心功能選擇
- 24.3 核心的編譯與安裝
- 24.4 額外(單一)核心模塊編譯
- 24.5 以最新核心版本編譯 CentOS 7.x 的核心
- 24.6 重點回顧
- 24.7 本章習題
- 24.8 參考資料與延伸閱讀