說明:閱讀
由於對於 Arch Linux(或 GNU/Linux)的新用戶來說,絕大多數 ArchWiki 包含的指示可能需要澄清,因此本文通過解釋一些基本操作,以避免理解文章時的困惑,並阻止內容本身的重複。
組織結構[編輯 | 編輯原始碼]
ArchWiki 上的頁面大多不是要對某個話題進行面面俱到的描述;它們遵守 DRY 的原則,假定用戶會查閱相關資料以便把不懂的部分弄懂。頁面中會儘可能地以特殊格式指出相關資料,請參閱#格式。
由於這樣的組織結構,要看懂一個頁面,可能需要查閱數個相關資料。特別需要注意的是,Arch(或 GNU/Linux)的新用戶為了解決一個簡單的問題很可能會閱讀許多頁面。在向其他用戶尋求幫助之前,一定要閱讀相關資料。
格式[編輯 | 編輯原始碼]
- 鏈接到當前文章中的某一部分:#組織結構
- 鏈接到另一篇 ArchWiki 文章
- 鏈接到外部網頁
- 鏈接到手冊頁:intro(1)
- 只能離線閱讀的手冊頁:foo(1)
- 鏈接到官方軟件倉庫中的包:foobar包
- 鏈接到 AUR 中的包:foobarAUR
一般用戶還是 root 用戶[編輯 | 編輯原始碼]
有些命令是這樣的:
# mkinitcpio -p linux
另外一些命令是這樣的:
$ makepkg -s
井號(#
)表示命令要以 root 權限執行,而美元符號($
)表示命令用一般用戶權限執行。
注意有時候 # 表示文件中的注釋:
# This alias makes ls colorize the listing alias ls='ls --color=auto'
在這個例子中,上下文表明這不是命令,而是需要加入到文件的一部分。在這種情況下,井號表示一個「注釋」。注釋是解釋性的文字,它不會被執行。Bash 腳本的注釋符號和 root 的命令提示符相同。
此外,通常包含大寫字母的文字都是注釋,而 Unix 命令通常是簡短的縮寫(例如,「Copy」被縮寫成「cp」)。
當然,大部分文章都會指明這一點:
向 ~/path/to/file
添加:
# This alias makes ls colorize the listing alias ls='ls --color=auto'
添加、創建、編輯文件[編輯 | 編輯原始碼]
當提到「添加」(append to、add to)、「創建」(create)、「編輯」(edit)一個或幾個文件,這就表示你應該用以下的某種方法。
推薦使用文本編輯器來創建或修改多行的文件,例如用 nano 命令來編輯文件 /etc/bash.bashrc
:
# nano /etc/bash.bashrc
要創建包含簡短文本的文件或者覆蓋已有的文件,輸出重定向是最簡單的。下面的命令演示了如何用文本 myhostname
創建或覆蓋 /etc/hostname
。
# echo myhostname > /etc/hostname
輸出重定向也可以用來向一個文件追加(append)文本。下面的命令演示了如何向 /etc/pacman.conf
追加文本 [custom-repo]
。
# echo "[custom-repo]" >> /etc/pacman.conf
# mkdir /mnt/boot
添加可執行權限[編輯 | 編輯原始碼]
在創建文件之後,如果這是一個要運行的腳本(手動運行或被其他程序調用),就需要把他設為「可執行」:
$ chmod +x script
參閱 chmod。文件管理器等應用程序可能會提供一個圖形界面完成相同的事情。
Source[編輯 | 編輯原始碼]
有些程序,特別是命令行 shell,使用腳本來進行配置:修改配置文件之後,需要使用「source」命令來應用這些修改。以 bash 為例,執行以下命令(也可以把 source
換成 .
):
$ source ~/.bashrc
當 ArchWiki 建議修改某些配置文件時,它一般不會明確提醒你「source」這個文件,只有某些情況下會給出到本節的鏈接。
安裝軟件包[編輯 | 編輯原始碼]
絕大部分文章僅是給出軟件包的名字,不會列出詳細的軟件包安裝命令。
下面介紹一下通用的軟件包安裝方式。
官方軟件包[編輯 | 編輯原始碼]
如果軟件包位於官方軟件倉庫,在 Wiki 內一般會這麼表述要求安裝軟件包:
這意味着需要執行:
# pacman -S foobar
pacman 包含了 Arch 軟件包管理的詳細內容。
Arch 用戶倉庫(AUR)[編輯 | 編輯原始碼]
如果軟件包來自 AUR,你會看到下面內容:
這意味這您需要打開foobarAUR 鏈接,下載 PKGBUILD,解壓,驗證內容,然後在文件目錄執行:
$ makepkg -sri
Arch 用戶軟件倉庫 (AUR) 包含了 AUR 軟件包的詳細信息。
[archlinuxcn] 倉庫[編輯 | 編輯原始碼]
如果軟件包來自 [archlinuxcn] 倉庫,你會看到下面的樣子:
- 安裝archlinuxcn-keyringCNRepo軟件包。
這意味着你需要添加 [archlinuxcn] 倉庫之後再使用 pacman 進行安裝。
控制 systemd 單元[編輯 | 編輯原始碼]
絕大部分文章僅僅要求你「啟動」(start)、「啟用」(enable)、「停止」(stop)、「重啟」(restart)systemd 單元(例如:服務),不會列出詳細的命令。你會看見類似這樣的說明:
- 啟動
example.service
.
這意味着你需要執行
# systemctl start example.service
注意daemon-reload命令並不完全遵循這種模式,它的調用不帶參數(參見systemd#使用單元)。
systemd 頁面包含了如何管理 systemd 單元的詳細介紹。
全局配置和用戶配置[編輯 | 編輯原始碼]
請記住,GNU/Linux 有兩種類型的配置。「全局」配置影響所有用戶。全局配置文件一般位於 /etc
目錄,修改它們需要 root 權限。例如,要修改所有用戶的 Bash 設置,修改 /etc/bash.bashrc
文件。
「用戶」配置僅影響一個用戶。文件名以 .
開頭的文件(dotfiles,例如 ~/.bashrc
)是用戶配置文件。每個用戶都可以定義他們自己的設置(別名、函數、命令提示符等)而不影響其他用戶。
~/
和 $HOME
是用戶主目錄的簡寫,一般是 /home/用戶名/
。Shell 通用配置文件[編輯 | 編輯原始碼]
Bash 和其他與 Bourne shell 兼容的 shell(如 Zsh (簡體中文)),會根據是 「login shell」 還是 「interactive shell」 來執行相應的配置文件。參閱 Bash (簡體中文)#配置文件和 Zsh (簡體中文)#配置文件介紹。
示例代碼中的偽變量[編輯 | 編輯原始碼]
一些代碼塊包含「偽變量」,顧名思義,這不是代碼中使用的真正的變量。它們只是代碼中的占位符,需要在執行或解釋之前根據特定的系統配置進行手動替換。Bash (簡體中文) 和 Zsh (簡體中文) 這類終端提供 Tab 補全功能以補全 systemctl
之類的命令。
根據 Help:Style/Formatting and punctuation,偽變量使用斜體。例如:
- 對
ip link
命令輸出的網卡名稱,啟動dhcpcd@interface_name.service
。
在這裡,偽變量 interface_name
是一個 systemd 模板單元的占位符。所有的 systemd 模板單元(帶有 @
標記)都需要特定系統的名稱作為參數。參閱 Systemd (簡體中文)#使用單元。
- 以 root 運行命令
dd if=data_source of=/dev/sdX bs=sector_size count=sector_number seek=partitions_start_sector
用特定參數來清空一個分區。
在這裡,偽變量表示該參數需要被替換。具體怎麼替換在安全擦除磁盤#通過計算塊數手動擦除有詳細描述。
dd
命令,這個命令會清除硬盤上的相應扇區。——譯者注在配置文件中,如果直接將帶偽變量的代碼粘貼進去,可能會導致程序出錯。
省略[編輯 | 編輯原始碼]
省略號(...
)一般不是文件內容或命令輸出的一部分,它們代表和主題關係不大的文字。
例如,HOOKS="... encrypt ... filesystems ..."
或者:
/etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass" ... Option "CircularScrolling" "on" Option "CircScrollTrigger" "0" ... EndSection
請注意,在少數情況下,省略號可能是代碼的一部分。細心的用戶很容易根據上下文來辨別。