第2章
準備
本書定義了一種哲學,但它也旨在通過實驗來闡明此哲學的實踐方面。因為系統管理者是親自動手執行任務的人群,本書提供了許多簡單的實驗,可以執行這些實驗,以便更充分地欣賞和了解這種哲學。大多數實驗通常由單行bash shell指令或程式組成,但有些實驗使用了多行指令。
本章将講述關于這些實驗要求的更多内容。它會描述應用這些實驗的Linux計算機的最佳配置,還會提供準備U盤以用于某些實驗的方法。
2.1 實驗
作為一名動手操作的系統管理者,我喜歡嘗試使用指令行來學習新指令和執行任務的新方法。本書的大多數實驗都是我自己在探索中進行的實驗,可能會做一些微小的改動以便它們适合在這裡使用。
有些原則不适合進行實驗。是以,并非本書中的所有原則都通過實驗進行說明,但我盡可能多地安排了實驗。許多實驗都說明了更多的原則,而不僅僅是它們出現時所處的那個原則。
對于系統管理者來說,有必要通過實驗來親身體驗這些原則,以便充分想象和欣賞它們所展現的道理。實驗的目的就在于提供超越理論的機會,并以實際的方式應用這些原則。雖然為了說明特定的知識點,有些實驗有點人為,但是它們仍然有效。
這些啟發性的實驗并沒有隐藏在每一章或全書的末尾,它們都嵌入在正文中,是本書不可或缺的一部分。建議在深入閱讀本書時邊看書邊做實驗。
每個實驗的指令都将顯示在“實驗”部分中,有時結果也顯示在那裡,如下所示。許多實驗隻需要一個指令,是以隻有一個“實驗”部分。有些實驗可能更複雜,是以會把它們分成多個實驗部分。

2.2 系統要求
實驗需要一台安裝了Linux的計算機。這台計算機的規格相對不重要,因為即使最差的Linux計算機也提供終端仿真器或控制台會話來通路指令行。為獲得最佳效果,最低限度是Intel或AMD硬體,配備至少2GB的記憶體和i3處理器或同檔次産品。在緊急時,一台使用最新版本的Raspbian的Raspberry Pi 3B也可以使用。
進行本書中實驗的計算機應該有一個最新的主流發行版,如Fedora、Ubuntu、Mint、RHEL或CentOS。無論使用哪種發行版都應安裝GUI桌面并可供使用。某些實驗需要在桌面上打開多個終端仿真會話。
還需要一個U盤,可以在其上執行一些涉及在硬碟驅動器上讀取和寫入資料的更危險的實驗。U盤是包含旋轉磁盤和移動磁頭的硬碟驅動器的一個合适的替代品,并且其工作方式與硬碟完全相同。
我強烈建議你使用未用于其他任何任務的主機,例如指定用于教育訓練的系統,或運作在VirtualBox等免費開源軟體上的虛拟機,以安裝Linux并執行這些實驗。這将顯著降低損壞生産計算機的可能性。
你應該在用于這些實驗的計算機或虛拟機上具有root通路權限,否則無法執行某些實驗。書中會指明哪些實驗需要root通路權限。
你應該使用諸如“student”賬戶之類的賬戶來嘗試大多數實驗。這進一步降低了損壞自己檔案的危險。事實上,大多數實驗都假設你以非特權使用者,即student身份登入。
2.2.1 如何通路指令行
所有現代主流Linux發行版都至少提供三種通路指令行的方法。
如果你使用圖形桌面,大多數發行版都配有多個終端模拟器供你選擇。我更喜歡Krusader和Tilix,讀者可以自行選擇終端模拟器。
Linux還提供了多個虛拟控制台的功能,允許從單個鍵盤和螢幕進行多次登入。虛拟控制台可以在沒有GUI桌面的系統上使用,也可以在具有GUI桌面的系統上使用。
每個虛拟控制台都被配置設定了與控制台編号對應的功能鍵。是以vc1将被配置設定給功能鍵F1,依此類推。切換到這些會話很容易。在計算機上,你可以按住Ctrl和Alt鍵,然後按F2切換到vc2。然後按住Ctrl和Alt鍵并按F1切換到vc1和圖形界面。
在Linux計算機上通路指令行的最後一種方法是通過遠端登入。Secure Shell(SSH)是最常用的遠端通路方法。
如果無法用本地通路的計算機來運作這些實驗,但可以通路遠端計算機,則可以通過SSH連接配接到該計算機以運作實驗。某些實驗需要多次登入。
在第7章中我們将詳細介紹終端仿真器和控制台會話。
2.2.2 建立student使用者
作為root使用者,你應該在計算機上建立一個新使用者,這個使用者将使用使用者ID“student”(不含引号)進行這些實驗。将密碼設定為你可以記住的比較安全的密碼。
2.2.3 準備U盤
選擇沒有其他任何用途的U盤執行實驗。在其上重新建立分區和檔案系統,以便在完成後再次使用它。
我用的是舊的容量64MB的舊U盤。你可以使用手頭上的任何容量的小巧的U盤。
2.3 實驗不起作用怎麼辦
這些實驗都被獨立設計,并且不依賴于任何設定(除了U盤)或先前執行的實驗的結果。某些Linux實用程式和工具必須存在,但這些應該都可以在标準的Fedora Linux工作站安裝或任何其他主流通用發行版中使用。
是以,所有這些實驗都應該“正常工作”。當某些任務失敗時,按以下步驟查找問題。
1)驗證是否正确輸入了指令。這是我遇到的最常見的問題。
2)你可能會看到一條錯誤消息,指出未找到此指令。bash shell顯示錯誤的指令,在這裡,我編造了badcommand。然後簡要介紹問題。對于缺失和拼寫錯誤的指令,都将顯示此錯誤消息。多次檢查指令拼寫和文法以驗證它是否正确。
3)使用man指令檢視手冊頁(man頁)以驗證指令的正确文法和拼寫。
4)確定實際安裝了所需的指令。如果尚未安裝,安裝它們。
5)對于要求你以root使用者身份登入的實驗,要確定已執行此操作。這些實驗應該隻有少數,但以非root使用者身份執行它們将無法正常工作。
應該沒有其他問題會出錯—但如果你遇到無法利用這些技巧解決的問題,可通過[email protected]與我聯系,我會盡力幫助你解決問題。