## 23.2 X Server 配置文件解析與設置
從前面的說明來看,我們知道一個 X 窗口系統能不能成功啟動,其實與 X Server 有很大的關系的。因為 X Server 負責的是整個畫面的描繪,所以沒有成功啟動 X Server 的話,即使有啟動 X Client 也無法將圖樣顯示出來啊。所以,下面我們就針對 X Server 的配置文件來做個簡單的說明,好讓大家可以成功的啟動 X Window System 啊。
基本上, X Server 管理的是顯卡、屏幕分辨率、鼠標按鍵對應等等,尤其是顯卡芯片的認識,真是重要啊。 此外,還有顯示的字體也是 X Server 管理的一環。基本上,X server 的配置文件都是默認放置在 /etc/X11 目錄下,而相關的顯示模塊或上面提到的總總模塊,則主要放置在 /usr/lib64/xorg/modules 下面。比較重要的是字體文件與芯片組,她們主要放置在:
* 提供的屏幕字體: /usr/share/X11/fonts/
* 顯卡的芯片組: /usr/lib64/xorg/modules/drivers/
在 CentOS 下面,這些都要通過一個統一的配置文件來規范,那就是 X server 的配置文件啦。這個配置文件的文件名就是 /etc/X11/xorg.conf 喔!
### 23.2.1 解析 xorg.conf 設置
如同前幾個小節談到的,在 Xorg 基金會里面的 X11 版本為 X11R7.N ,那如果你想要知道到底你用的 X Server 版本是第幾版,可以使用 X 指令來檢查喔!(你必須以 root 的身分執行下列指令)
```
[root@study ~]# X -version
X.Org X Server 1.15.0
Release Date: 2013-12-27
X Protocol Version 11, Revision 0
Build Operating System: 2.6.32-220.17.1.el6.x86_64
Current Operating System: Linux study.centos.vbird 3.10.0-229.el7.x86_64 #1 SMP Fri Mar
6 11:36:42 UTC 2015 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/mapper/centos-
root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet
Build Date: 10 April 2015 11:44:42AM
Build ID: xorg-x11-server 1.15.0-33.el7_1
Current version of pixman: 0.32.4
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
```
由上面的幾個關鍵字我們可以知道,目前鳥哥的這部測試機使用的 X server 是 Xorg 計劃所提供的 X11 版, 不過看起來 Xorg 已經將所謂的 X11R7 那個 R7 的版次移除,使用的是 Xorg 自己的版次了!所以是 Xorg 1.15.0 版本! 此外,若有問題則可以到 http://wiki.x.org 去查詢~因為是 Xorg 這個 X server ,因此我們的配置文件文件名為 /etc/X11/xorg.conf 這一個哩。所以,理解這個文件的內容對于 X server 的功能來說,是很重要的。
比較需要留意的是,從 CentOS 6 以后 (當然包含 CentOS 7),X server 在每次啟動的時候都會自行偵測系統上面的顯示芯片、屏幕類型等等, 然后自行搭配最優化的驅動程序載入。因此,這個 /etc/X11/xorg.conf 已經不再被需要了。不過,如果你不喜歡 X 系統自行偵測的設置值, 那也可以自行創建 xorg.conf 就是了。
此外,如果你只想要加入或者是修改部份的設置,并不是每個元件都要自行設置的話,那么可以在 /etc/X11/xorg.conf.d/ 這個目錄下創建文件名為 .conf 的文件, 將你需要的額外項目加進去即可喔!那就不會每個設置都以你的 xorg.conf 為主了!了解乎?

**Tips** 那我怎么知道系統用的是哪一個設置呢?可以參考 /var/log/Xorg.0.log 的內容,該文件前幾行會告訴你使用的設置文件是來自于哪里的喔!
注意一下,在修改這個文件之前,務必將這個文件給它備份下來,免的改錯了什么東西導致連 X server 都無法啟動的問題啊。這個文件的內容是分成數個段落的,每個段落以 Section 開始,以 EndSection 結束, 里面含有該 Section (段落) 的相關設置值,例如:
```
Section "section name"
…… <== 與這個 section name 有關的設置項目
……
EndSection
```
至于常見的 section name 主要有:
1. Module: 被載入到 X Server 當中的模塊 (某些功能的驅動程序);
2. InputDevice: 包括輸入的 1\. 鍵盤的格式 2\. 鼠標的格式,以及其他相關輸入設備;
3. Files: 設置字體所在的目錄位置等;
4. Monitor: 監視器的格式, 主要是設置水平、垂直的更新頻率,與硬件有關;
5. Device: 這個重要,就是顯卡芯片組的相關設置了;
6. Screen: 這個是在屏幕上顯示的相關分辨率與色彩深度的設置項目,與顯示的行為有關;
7. ServerLayout: 上述的每個項目都可以重復設置,這里則是此一 X server 要取用的哪個項目值的設置啰。
前面說了,xorg.conf 這個文件已經不存在,那我們怎么學習呢?沒關系,Xorg 有提供一個簡單的方式可以讓我們來重建這個 xorg.conf 文件! 同時,這可能也是 X 自行偵測 GPU 所產生的最優化設置喔!怎么處理呢?假設你是在 multi-user.target 的環境下,那就可以這樣作來產生 xorg.conf 喔!
```
[root@study ~]# Xorg -configure
.....(前面省略).....
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Sep 16 10:13:57 2015
List of video drivers: # 這里在說明目前這個系統上面有的顯卡芯片組的驅動程序有哪些的意思
qxl
vmware
v4l
ati
radeon
intel
nouveau
dummy
modesetting
fbdev
vesa
(++) Using config file: "/root/xorg.conf.new" # 使用的配置文件
(==) Using config directory: "/etc/X11/xorg.conf.d" # 額外設置項目的位置
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
.....(中間省略).....
Your xorg.conf file is /root/xorg.conf.new # 最終新的文件出現了!
To test the server, run 'X -config /root/xorg.conf.new' # 測試手段!
```
這樣就在你的 root 主文件夾產生一個新的 xorg.conf.new 啰!好了,直接來看看這個文件的內容吧!這個文件默認的情況是取消很多設置值的, 所以你的配置文件可能不會看到這么多的設置項目。不要緊的,后續的章節會交代如何設置這些項目的喔!
```
[root@study ~]# vim xorg.conf.new
Section "ServerLayout" # 目前 X 決定使用的設置項目
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0 # 使用的屏幕為 Screen0 這一個 (后面會解釋)
InputDevice "Mouse0" "CorePointer" # 使用的鼠標設置為 Mouse0
InputDevice "Keyboard0" "CoreKeyboard" # 使用的鍵盤設置為 Keyboard0
EndSection
# 系統可能有多組的設置值,包括多種不同的鍵盤、鼠標、顯示芯片等等,而最終 X 使用的設置,
# 就是在這個 ServerLayout 項目中來處理的!因此,你還得要去下面找出 Screen0 是啥
Section "Files"
ModulePath "/usr/lib64/xorg/modules"
FontPath "catalogue:/etc/X11/fontpath.d"
FontPath "built-ins"
EndSection
# 我們的 X Server 很重要的一點就是必須要提供字體,這個 Files 的項目就是在設置字體,
# 當然啦,你的主機必須要有字體文件才行。一般字體文件在:/usr/share/X11/fonts/ 目錄中。
# 但是 Xorg 會去讀取的則是在 /etc/X11/fontpath.d 目錄下的設置喔!
Section "Module"
Load "glx"
EndSection
# 上面這些模塊是 X Server 啟動時,希望能夠額外獲得的相關支持的模塊。
# 關于更多模塊可以搜尋一下 /usr/lib64/xorg/modules/extensions/ 這個目錄
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
# 就是鍵盤,在 ServerLayout 項目中有出現這個 Keyboard0 吧!主要是設置驅動程序!
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7" # 支持磙輪功能!
EndSection
# 這個則主要在設置鼠標功能,重點在那個 Protocol 項目,
# 那個是可以指定鼠標接口的設置值,我這里使用的是自動偵測!不論是 USB/PS2。
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
# 屏幕監視器的設置僅有一個地方要注意,那就是垂直與水平的更新頻率,常見設置如下:
# HorizSync 30.0 - 80.0
# VertRefresh 50.0 - 100.0
# 在上面的 HorizSync 與 VerRefresh 的設置上,要注意,不要設置太高,
# 這個玩意兒與實際的監視器功能有關,請查詢你的監視器手冊說明來設置吧!
# 傳統 CRT 屏幕設置太高的話,據說會讓 monitor 燒毀呢,要很注意啊。
Section "Device" # 顯卡芯片 (GPU) 的驅動程序!很重要的設置!
Identifier "Card0"
Driver "qxl" # 實際使用的顯卡驅動程序!
BusID "PCI:0:2:0"
EndSection
# 這地方重要了,這就是顯卡的芯片模塊載入的設置區域。由于鳥哥使用 Linux KVM
# 仿真器仿真這個測試機,因此這個地方顯示的驅動程序為 qxl 模塊。
# 更多的顯示芯片模塊可以參考 /usr/lib64/xorg/modules/drivers/
Section "Screen" # 與顯示的畫面有關,分辨率與色彩深度
Identifier "Screen0" # 就是 ServerLayout 里面用到的那個屏幕設置
Device "Card0" # 使用哪一個顯卡的意思!
Monitor "Monitor0" # 使用哪一個屏幕的意思!
SubSection "Display" # 此階段的附屬設置項目
Viewport 0 0
Depth 1 # 就是色彩深度的意思!
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
# Monitor 與實際的顯示器有關,而 Screen 則是與顯示的畫面分辨率、色彩深度有關。
# 我們可以設置多個分辨率,實際應用時可以讓使用者自行選擇想要的分辨率來呈現,設置如下:
# Modes "1024x768" "800x600" "640x480" <==分辨率
# 上述的 Modes 是在 "Display" 下面的子設置。
# 不過,為了避免困擾,鳥哥通常只指定一到兩個分辨率而已。
```
上面設置完畢之后,就等于將整個 X Server 設置妥當了,很簡單吧。如果你想要更新其他的例如顯示芯片的模塊的話,就得要去硬件開發商的網站下載原始文件來編譯才行。 設置完畢之后,你就可以啟動 X Server 試看看啰。然后,請將 xorg.conf.new 更名成類似 00-vbird.conf 之類的文件名, 再將該文件移動到 /etc/X11/xorg.conf.d/ 里面去,這樣就 OK 了!
```
# 測試 X server 的配置文件是否正常:
[root@study ~]# startx <==直接在 multi-user.target 啟動 X 看看
[root@study ~]# Xorg :1 <==在 tty3 單獨啟動 X server 看看
```
當然,你也可以利用 systemctl isolate graphical.target 這個指令直接切換到圖形接口的登陸來試看看啰。

**Tips** 經由討論區網友的說明,如果你發現明明有捉到顯卡驅動程序卻老是無法順利啟動 X 的話,可以嘗試去官網取得驅動程序來安裝, 也能夠將“Device”階段的“Driver”修改成默認的“Driver "vesa"”,使用該驅動程序來暫時啟動 X 內的顯卡喔!
### 23.2.2 字體管理
我們 Xorg 所使用的字體大部分都是放置于下面的目錄中:
* /usr/share/X11/fonts/
* /usr/share/fonts/
不過 Xorg 默認會載入的字體則是記錄于 /etc/X11/fontpath.d/ 目錄中,使用鏈接文件的模式來進行鏈接的動作而已。 你應該還記得 xorg.conf 里面有個“ Flies ”的設置項目吧?該項目里面就有指定到“ FontPath "catalogue:/etc/X11/fontpath.d" ” 對吧!也就是說,我們默認的 Xorg 使用的字體就是取自于 /etc/X11/fontpath.d 啰!
鳥哥查了一下 CentOS 7 針對中文字體 (chinese) 來說,有楷書與明體,明體默認安裝了,不過楷書卻沒有安裝耶~ 那我們能不能安裝了楷書之后,將楷書也列為默認的字體之一呢?來瞧一瞧我們怎么作的好了:
```
# 1\. 檢查中文字體,并且安裝中文字體與檢驗有沒有放置到 fontpath.d 目錄中!
[root@study ~]# ll -d /usr/share/fonts/cjk*
drwxr-xr-x. 2 root root 22 May 4 17:54 /usr/share/fonts/cjkuni-uming
[root@study ~]# yum install cjkuni-ukai-fonts
[root@study ~]# ll -d /usr/share/fonts/cjk*
drwxr-xr-x. 2 root root 21 Sep 16 11:48 /usr/share/fonts/cjkuni-ukai # 這就是楷書!
drwxr-xr-x. 2 root root 22 May 4 17:54 /usr/share/fonts/cjkuni-uming
[root@study ~]# ll /etc/X11/fontpath.d/ lrwxrwxrwx. 1 root root 29 Sep 16 11:48 cjkuni-ukai-fonts -> /usr/share/fonts/cjkuni-ukai/
lrwxrwxrwx. 1 root root 30 May 4 17:54 cjkuni-uming-fonts -> /usr/share/fonts/cjkuni-uming/
lrwxrwxrwx. 1 root root 36 May 4 17:52 default-ghostscript -> /usr/share/fonts/default/ghostscript
lrwxrwxrwx. 1 root root 30 May 4 17:52 fonts-default -> /usr/share/fonts/default/Type1
lrwxrwxrwx. 1 root root 27 May 4 17:51 liberation-fonts -> /usr/share/fonts/liberation
lrwxrwxrwx. 1 root root 27 Sep 15 17:10 xorg-x11-fonts-100dpi:unscaled:pri=30 -> /usr/share/X11/fonts/100dpi
lrwxrwxrwx. 1 root root 26 Sep 15 17:10 xorg-x11-fonts-75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi
lrwxrwxrwx. 1 root root 26 May 4 17:52 xorg-x11-fonts-Type1 -> /usr/share/X11/fonts/Type1
# 竟然會自動的將該字體加入到 fontpath.d 當中!太好了! ^_^
# 2\. 創建該字體的字體高速緩存數據,并檢查是否真的取用了?
[root@study ~]# fc-cache -v | grep ukai
/usr/share/fonts/cjkuni-ukai: skipping, existing cache is valid: 4 fonts, 0 dirs
[root@study ~]# fc-list | grep ukai
/usr/share/fonts/cjkuni-ukai/ukai.ttc: AR PL UKai TW:style=Book
/usr/share/fonts/cjkuni-ukai/ukai.ttc: AR PL UKai HK:style=Book
/usr/share/fonts/cjkuni-ukai/ukai.ttc: AR PL UKai CN:style=Book
/usr/share/fonts/cjkuni-ukai/ukai.ttc: AR PL UKai TW MBE:style=Book
# 3\. 重新啟動 Xorg,或者是強制重新進入 graphical.target
[root@study ~]# systemctl isolate multi-user.target; systemctl isolate graphical.target
```
如果上述的動作沒有問題的話,現在你可以在圖形界面下面,通過“應用程序” --> “公用程序” --> “字體檢視程序”當中找到一個名為 “AR PL UKai CN, Book”字樣的字體,點下去就會看到如下的圖示,那就代表該字體已經可以被使用了。不過某些程序可能還得要額外的加工就是了~[[4]](#ps4)
圖23.2.1、安裝楷書字體的結果
鳥哥比較好奇的是,這個字體的開發者怎么這么有趣!列出來的示意字體竟然是吃了玻璃會身體頭好壯壯~這...會不會教壞小孩啊?呵呵呵呵~
* 讓窗口管理員可以使用額外的字體
如果想要使用額外的字體的話,你可以自行取得某些字體來處理的。鳥哥這邊從 Windows 微軟正黑體、Times new Romans 兩種字體加上粗、斜體等共六個文件來處理字體的安裝~ 這邊得注明一下是純粹的測試,測試完畢后文件就給它拿掉了,并沒有持續使用喔!并沒有想要違法的意思啦~大家參考看看就好了。 那就來看看如何增加字體吧!(假設上述的字體文件是放置在 /root/font 中)
```
# 1\. 將字體文件放置到系統設置目錄,亦即下面的目錄中:
[root@study ~]# cd /usr/share/fonts/
[root@study ~]# mkdir windows
[root@study ~]# cp /root/font/*.ttf /usr/share/fonts/windows/
# 2\. 使用 fc-cache 將上述的文件加入字體的支持中:
[root@study ~]# fc-cache -f -v
....(前面省略)....
/usr/share/fonts/windows: caching, new cache contents: 6 fonts, 0 dirs
....(后面省略)....
# -v 僅是列出目前的字體數據, -f 則是強制重新創建字體高速緩存!
# 3\. 通過 fc-list 列出已經被使用的文件看看:
[root@study ~]# fc-list : file | grep window <==找出被高速緩存住的文件名
/usr/share/fonts/windows/timesbi.ttf:
/usr/share/fonts/windows/timesi.ttf:
/usr/share/fonts/windows/msjh.ttf:
/usr/share/fonts/windows/times.ttf:
/usr/share/fonts/windows/msjhbd.ttf:
/usr/share/fonts/windows/timesbd.ttf:
```
之后在字體檢視器里面就會發現有多了“Microsoft JhengHei, Times New Roman”等等的字體可以用啰!
### 23.2.3 顯示器參數微調
有些朋友偶而會這樣問:“我的顯示器明明還不錯,但是屏幕分辨率卻永遠只能達到 800x600 而已, 這該如何處理?”,屏幕的分辨率應該與顯卡相關性不高,而是與顯示器的更新頻率有關!
所謂的更新頻率,指的是在一段時間內屏幕重新繪制畫面的速度。舉例來說, 60Hz 的更新頻率, 指的是每秒鐘畫面更新 60 次的意思。那么關于顯示器的更新頻率該如何調整呢? 你得先去找到你的顯示器的使用說明書 (或者是網站會有規格介紹),取得最高的更新率后,接下來選擇你想要的分辨率, 然后通過這個 gtf 的指令功能來調整:

**Tips** 基本上,現在新的 Linux distribution 的 X server 大多使用自行偵測方式來處理所有的設置了,因此, 除非你的屏幕特別新或者是特別怪,否則應該不太需要使用到 gtf 的功能啰!
```
# 1\. 先來測試一下你目前的屏幕搭配顯卡所能夠處理的分辨率與更新頻率 (須在 X 環境下)
[root@study ~]# xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
Virtual-0 connected primary 1440x900+0+0 0mm x 0mm
1024x768 59.9 +
1920x1200 59.9
1920x1080 60.0
1600x1200 59.9
1680x1050 60.0
1400x1050 60.0
1280x1024 59.9
1440x900 59.9*
1280x960 59.9
1280x854 59.9
1280x800 59.8
1280x720 59.9
1152x768 59.8
800x600 59.9
848x480 59.7
720x480 59.7
640x480 59.4
# 上面顯示現在的環境中,測試過最高分辨率大概是 1920x1200 ,但目前是 1440x900 (*)
# 若需要調整成 1280*800 的話,可以使用下面的方式來調整喔!
[root@study ~]# xrandr -s 1280x800
# 2\. 若想強迫 X server 更改屏幕的分辨率與更新頻率,則需要修訂 xorg.conf 的設置。先來偵測:
[root@study ~]# gtf 水平像素 垂直像素 更新頻率 [-xv]
選項與參數:
水平像素:就是分辨率的 X 軸
垂直像素:就是分辨率的 Y 軸
更新頻率:與顯示器有關,一般可以選擇 60, 75, 80, 85 等頻率
-x :使用 Xorg 配置文件的模式輸出,這是默認值
-v :顯示偵測的過程
# 1\. 使用 1024x768 的分辨率,75 Hz 的更新頻率來取得顯示器內容
[root@study ~]# gtf 1024 768 75 -x
# 1024x768 @ 75.00 Hz (GTF) hsync: 60.15 kHz; pclk: 81.80 MHz
Modeline "1024x768_75.00" 81.80 1024 1080 1192 1360 768 769 772 802 -HSync +Vsync
# 重點是 Modeline 那一行!那行給他抄下來
# 2\. 將上述的數據輸入 xorg.conf.d/*.conf 內的 Monitor 項目中:
[root@study ~]# vim /etc/X11/xorg.conf.d/00-vbird.conf
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Modeline "1024x768_75.00" 81.80 1024 1080 1192 1360 768 769 772 802 -HSync +Vsync
EndSection
# 就是新增上述的那行特殊字體部分到 Monitor 的項目中即可。
```
然后重新啟動你的 X ,這樣就能夠選擇新的分辨率啰!那如何重新啟動 X 呢?兩個方法, 一個是“ systemctl isolate multi-user.target; systemctl isolate graphical.target ”從文字模式與圖形模式的執行等級去切換,另一個比較簡單, 如果原本就是 graphical.target 的話,那么在 X 的畫面中按下“ [alt] + [crtl] + [backspace] ”三個組合按鍵, 就能夠重新啟動 X 窗口啰!
- 鳥哥的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 參考資料與延伸閱讀