Difference between revisions of "Beginners' guide (正體中文)"
Line 496: | Line 496: | ||
* 之後每當您更改了鏡像站的清單,別忘了使用 {{ic|pacman -Syy}} 讓 pacman 強制重整套件清單。這是可避免無端困擾的好惜關。更多資訊請參閱[[Mirrors|鏡像站點]]。 | * 之後每當您更改了鏡像站的清單,別忘了使用 {{ic|pacman -Syy}} 讓 pacman 強制重整套件清單。這是可避免無端困擾的好惜關。更多資訊請參閱[[Mirrors|鏡像站點]]。 | ||
* 若您使用的安裝媒介已釋出許久,其鏡像站清單可能已經過期,更新 Arch Linux 時可能會導致問題 (詳見 {{Bug|22510}})。建議如上面所述,趕快取得最新的鏡像站資訊。 | * 若您使用的安裝媒介已釋出許久,其鏡像站清單可能已經過期,更新 Arch Linux 時可能會導致問題 (詳見 {{Bug|22510}})。建議如上面所述,趕快取得最新的鏡像站資訊。 | ||
− | * [https://bbs.archlinux.org/ Arch Linux 論壇]上出現了阻擋 pacman 更新/ | + | * [https://bbs.archlinux.org/ Arch Linux 論壇]上出現了阻擋 pacman 更新/與軟體倉庫同步的網路問題回報 (詳見 [https://bbs.archlinux.org/viewtopic.php?id=68944] 以及 [https://bbs.archlinux.org/viewtopic.php?id=65728])。若您是原生安裝 Arch Linux,用其他代替品取代 pacman 預設的檔案下載器可以解決問題 (更多資訊請參閱[[Improve Pacman Performance|增進 Pacman 表現]])。若您在 [[VirtualBox]] 安裝 Arch Linux,在機器屬性內使用 "Host interface" 取代 "NAT" 也可以解決問題。}} |
=== 安裝基本系統 === | === 安裝基本系統 === | ||
Line 767: | Line 767: | ||
Pacman 是 Arch Linux 下的套件管理系統 ('''pac'''kage '''man'''ager)。我們強烈建議 Arch 使用者學習、研究如何使用 pacman。您可以閱讀 {{ic|man pacman}}、看看 [[pacman]] 與 [[Pacman - An Introduction|Pacman 簡介]]。若要了解 pacman 與其他知名套件管理程式的比較,請參閱 [[Pacman Rosetta]] 這篇文章。 | Pacman 是 Arch Linux 下的套件管理系統 ('''pac'''kage '''man'''ager)。我們強烈建議 Arch 使用者學習、研究如何使用 pacman。您可以閱讀 {{ic|man pacman}}、看看 [[pacman]] 與 [[Pacman - An Introduction|Pacman 簡介]]。若要了解 pacman 與其他知名套件管理程式的比較,請參閱 [[Pacman Rosetta]] 這篇文章。 | ||
− | 在 {{ic|pacman.conf}} | + | 在 {{ic|pacman.conf}} 編輯需要的軟體倉庫與 pacman 選項: |
# nano /etc/pacman.conf | # nano /etc/pacman.conf | ||
對大多數人來說,選擇 {{ic|[core]}}、{{ic|[extra]}} 和 {{ic|[community]}} 就夠了。 | 對大多數人來說,選擇 {{ic|[core]}}、{{ic|[extra]}} 和 {{ic|[community]}} 就夠了。 | ||
− | 若您安裝的是 Arch Linux x86_64 版,建議您再啟用 {{ic|[multilib]}} | + | 若您安裝的是 Arch Linux x86_64 版,建議您再啟用 {{ic|[multilib]}} 倉庫 (以便執行 32 與 64 位元的程式): |
− | {{註記| | + | {{註記|在選擇軟體倉庫時,確定將 {{ic|[''倉庫名稱'']}} 標題欄和底下的 URL 欄給取消註解。不合法的倉庫選擇將會被略過!這是一個很常見的錯誤。以下是一個選取 multilib 倉庫的正確範例。}} |
[multilib] | [multilib] | ||
Line 782: | Line 782: | ||
接下來您必須更新套件清單。執行 {{ic|pacman}} 並加上 {{ic|-Sy}} 選項。若沒有這麼作,下次執行 pacman 時將會出現以下錯誤:"warning: database file for 'multilib' does not exist" (警告:'multilib' 資料庫檔案不存在)。 | 接下來您必須更新套件清單。執行 {{ic|pacman}} 並加上 {{ic|-Sy}} 選項。若沒有這麼作,下次執行 pacman 時將會出現以下錯誤:"warning: database file for 'multilib' does not exist" (警告:'multilib' 資料庫檔案不存在)。 | ||
− | 更多資訊請參閱[[Official Repositories| | + | 更多資訊請參閱[[Official Repositories|官方倉庫]],裡頭包含了各種軟體倉庫的詳細資訊。 |
− | 若您需要的軟體無法直接由 pacman 取得,請參閱 [[Arch User Repository|Arch | + | 若您需要的軟體無法直接由 pacman 取得,請參閱 [[Arch User Repository|Arch 使用者倉庫 (AUR)]]。 |
=== 建立初始 ramdisk 環境 === | === 建立初始 ramdisk 環境 === |
Revision as of 03:38, 7 March 2013
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end
本文件將指導您使用 Arch 安裝腳本完成 Arch Linux 的安裝。開始之前建議您大略瀏覽一下 FAQ。
由社群維護的 Arch Wiki 是很棒的資料來源,若您碰到任何安裝和使用上的問題,可以先到 wiki 找尋解決方案。用 Google 等搜尋引擎搜尋問題關鍵字也是個好主意。如果真的沒辦法自行解決,也歡迎到 IRC 頻道 (irc://irc.freenode.net/#archlinux) 和論壇問問。若您碰到不熟悉的指令,可以呼叫 man [指令名]
查看該指令的 man
說明文件。
Contents
準備
燒錄/寫入最新的安裝媒介
本指南適用於目前最新的釋出版本 (2013.02.01),您可以從官網的下載頁面取得。目前的 ISO 安裝映像檔可同時支援 32 和 64 位元的硬體架構。
- 用燒錄軟體將 ISO 映像燒入 CD 或 DVD。
- 也可以將 ISO 映像寫入 USB 隨身碟。詳細的步驟指示請參閱 USB 安裝媒介。
透過網路安裝
除了光碟或隨身碟等方式之外,若您有一台可運作的伺服器,也可以選擇透過網路啟動 .iso 映像。更多資訊請參閱這篇文章,並接續至啟動安裝媒介。
在虛擬機器上安裝
將 Arch Linux 安裝在虛擬機器是熟悉 Arch Linux 的好方法:安裝時不必離開您現在的作業系統,也不會動到硬碟原本的分割區。此外,在安裝過程中也能夠開著瀏覽器查閱這份「新手教學」。對某些使用者而言,有一份獨立在虛擬機器上跑的 Arch Linux 作測試,好處多多。
常見的虛擬機器軟體有 VirtualBox、VMware、QEMU、Xen、Varch、Parallels。
準備虛擬機器的步驟因軟體而異,但一般跟以下的步驟相距不遠:
- 建立虛擬硬碟映像檔,用來存放作業系統。
- 正確設置虛擬機器的參數。
- 使用虛擬光碟機,啟動下載的 ISO 映像。
- 繼續按照啟動安裝媒介的步驟安裝。
下面的文章可能對您有幫助:
- Arch Linux VirtualBox Guest
- Installing Arch Linux from VirtualBox
- VirtualBox Arch Linux Guest On Physical Drive
- Installing Arch Linux in VMware
- Moving an existing install into (or out of) a virtual machine
啟動安裝媒介
首先您必須更改電腦 BIOS 的開機順序。
按下電腦的開機鍵以後,電腦會先進入 POST(開機自我測試) 階段。當螢幕出現第一個畫面時,按下對應的按鍵 (通常為 Template:Keypress, Template:Keypress, Template:Keypress, Template:Keypress 或 Template:Keypress,請以畫面所指定的按鍵為主) 進入 BIOS 設定頁面。請將存放 Arch 安裝媒介的光碟機、隨身碟調到開機順序的第一順位,離開 BIOS 時記得儲存變更。
重新開機之後,應該就會出現 Arch 安裝媒介的選單。選擇 "Boot Arch Linux"(啟動 Arch Linux),按下 Template:Keypress,即進入安裝程序。
在 live 環境下使用的 shell 為 Zsh,提供了進階的 Tab 補齊,和其他 grml config 的部份功能。
測試是否以 UEFI 模式開機
若您使用的是 UEFI 主機板,且啟用 UEFI 啟動模式 (優先於 BIOS/Legacy 模式),CD/USB 將自動啟動 Arch Linux 核心 (EFISTUB 透過 Gummiboot 開機管理)。
若要檢查是否以 UEFI 模式開機,(在 chroot 之前)載入 efivars
核心模組,並檢查 /sys/firmware/efi/vars/
裏面是否有檔案:
# modprobe efivars # 在 chroot 之前 # ls -1 /sys/firmware/efi/vars/
開機疑難排解
- 若您使用 Intel 顯示晶片組,螢幕在開機過程中變成一片空白,那問題可能跟「核心模式設定」(KMS) 有關。請重新開機,在您要嘗試開機的項目 (i686 或 x86_64) 下按 Template:Keypress 進入編輯。在字串尾端加入
nomodeset
後按 Template:Keypress。另外一種方式是加上video=SVIDEO-1:d
,這樣就不必停用 KMS。更多資訊請參閱 Intel 這篇文章。
- 若螢幕並非呈現一片空白,而是在嘗試載入核心的過程中卡住的話,則在選單項目上按 Template:Keypress,在字串尾端輸入
acpi=off
後按 Template:Keypress。
安裝
到這裡,您已自動以 root 的身份登入 live 環境。現在應該可以看到 shell 的提示輸入畫面。
更改語言
預設的鍵盤布局為 us
(美式鍵盤)。(譯註:台灣使用的鍵盤布局多為美式,採用預設值即可)
如果您使用的是非美式的鍵盤布局,請執行:
# loadkeys [布局]
...[布局]可以是 fr
, uk
, be-latin1
等鍵盤布局。
完整的鍵盤布局清單請參閱這裡。
由於多數語言使用的字母跟英文字母有所不同,因此字型也需要更改, 否則某些非英文字母會顯示為白框或其他無法辨識的符號。注意,字型名稱有分大小寫,請確實照名稱鍵入:
# setfont Lat2-Terminus16
預設的語系為「英文(美國)」。若您想要更改安裝程序語系,例如中文(台灣),
在 /etc/locale.gen
移除您需要語系
前面的井字號 #
,也請保留「英文(美國)」以備不時之需。語系請盡可能選擇 UTF-8
。
使用 Template:Keypress 離開編輯,當提示需儲存變更時按 Template:Keypress 和 Template:Keypress,以相同的設定檔名儲存。
# nano /etc/locale.gen
en_US.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
# locale-gen # export LANG=zh_TW.UTF-8
另外,Template:Keypress 可啟用/停用鍵盤布局。
啟用網路連線
拋棄以往介面名稱單純遞增的作法 (wlan0, wlan1, ...), 從 systemd-197 釋出起,udev 將以可預期、穩定為前提分配介面名稱。 這些介面名稱保證不受重新開機的影響,解決了之前網路介面名稱不可靠的問題。 更多資訊請參閱 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames 。
安裝程序在開機時會自動啟動 dhcpcd
並嘗試建立有線網路連接。
試著 ping 向任何一個網站看有沒有連上網路,就用第一個想到的 Google 當目標吧!
# ping -c 3 www.google.com
PING www.l.google.com (74.125.132.105) 56(84) bytes of data. 64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms 64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms 64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms --- www.l.google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms
若出現 ping: unknown host
錯誤,表示尚未連上網路,請依照以下的步驟來手動設定網路。
成功上線的話就跳至準備儲存裝置。
有線網路
如果您使用固定 IP 位址的有線網路連線,請依照以下的步驟。
首先確認網路卡的介面名稱。
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff 3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000 link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff
本範例中,網路卡的介面為 enp2s0f0。 有線網路卡的介面名稱通常會以字母 "e" 當開頭,不應該是 "lo" 或其他以 "w" 開頭的名稱。 您也可以用 iwconfig 檢查哪些介面不是無線網路介面:
# iwconfig
enp2s0f0 no wireless extensions. wlp3s0 IEEE 802.11bgn ESSID:"NETGEAR97" Mode:Managed Frequency:2.427 GHz Access Point: 2C:B0:5D:9C:72:BF Bit Rate=65 Mb/s Tx-Power=16 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=61/70 Signal level=-49 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:430 Missed beacon:0 lo no wireless extensions.
enp2s0f0 和 lo (虛擬迴路裝置) 的結果都是 "no wireless extensions",代表它們都不是無線網路設備。 顯然 enp2s0f0 就是我們要的有線網路介面。
您也必須了解以下的設定資料:
- 固定 IP 位址。
- 子網路遮罩。
- 通信閘的 IP 位址。
- 名稱伺服器 (DNS) 的 IP 位址。
- 網域名稱(單一區域網路就隨意)。
啟用有線網路介面 (例如 enp2s0f0
):
# ip link set enp2s0f0 up
加入位址:
# ip addr add <ip 位址>/<子網路遮罩> dev <介面>
例如:
# ip addr add 192.168.1.2/24 dev enp2s0f0
更多選項可由 man ip
查詢。
加入您的網路通訊閘 IP 位址:
# ip route add default via <ip 位址>
例如:
# ip route add default via 192.168.1.1
編輯 resolv.conf
,更改成您喜好的 DNS IP 位置,以及本機域名:
# nano /etc/resolv.conf
nameserver 168.95.192.1 # Hinet DNS nameserver 8.8.8.8 # Google DNS search example.com
到這裡,您的網路連線應該可以使用了。若還是不行,請參閱更詳細的網路設定。
無線網路
在安裝過程中,若您需要無線網路連線 (Wi-Fi) 的話,請依照以下的步驟進行。
若您是從其他發行版本轉來的使用者,或是最近重新安裝 Arch Linux 的玩家,可能對「第一個無線網路裝置不叫 "wlan0"」感到驚訝。事實上,由於命名規定的改變,已經沒有任何裝置會自動冠上 "wlan" 加次序後綴了。請別著急,只要執行 iwconfig
就能知道您的無線裝置名稱。
目前安裝媒介的 Live 環境內已經可以使用無線網路的驅動與程式。對無線網路硬體的充分知識,將會是設定成功的關鍵之一。注意以下在安裝過程中執行的速成步驟,只會在安裝媒介的 Live 環境初始化並使用您的無線硬體。這些步驟 (或其他無線網路管理的部份) 等到啟動安裝好的系統之後,必須重新進行一遍。
另外也請注意,若安裝過程中並不需要連至無線網路,這裡的步驟可以省略;安裝結束之後,您隨時都能啟用無線網路功能。
基本步驟如下:
- 偵測無線網路介面:
# lspci | grep -i net
若使用 USB 配接器:
# lsusb
- 確認 udev 已經將驅動程式載入,且已在
iwconfig
建立可用的無線網路核心介面:
# iwconfig
enp2s0f0 no wireless extensions. wlp3s0 IEEE 802.11bgn ESSID:"NETGEAR97" Mode:Managed Frequency:2.427 GHz Access Point: 2C:B0:5D:9C:72:BF Bit Rate=65 Mb/s Tx-Power=16 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=61/70 Signal level=-49 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:430 Missed beacon:0 lo no wireless extensions.
本範例中,wlp3s0
為可用的無線網路介面。
- 啟用介面:
# ip link set wlp3s0 up
有一小部分的無線網路晶片組除了相對應的驅動以外還需要韌體。若您的無線網路晶片組需要韌體。在啟用介面時您可能會接受到以下錯誤:
# ip link set wlp3s0 up
SIOCSIFFLAGS: No such file or directory
若不確定的話,呼叫 dmesg
察看核心的日誌,看有沒有無線網路晶片組提出的韌體請求。
本範例為 Intel 晶片組的相關輸出,在系統啟動時向核心請求韌體:
# dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode
若沒有任何類似的輸出,可能代表系統的無線網路晶片組不需要韌體。
接下來使用 netcfg 的 wifi-menu
連接網路:
# wifi-menu wlp3s0
到這裡,您的網路連線應該可以使用了。沒有的話,請參閱更詳細的無線網路設定頁面。
xDSL (PPPoE)、類比式數據機或 ISDN
如果您有一台橋接式的路由器,執行:
# pppoe-setup
- 輸入 ISP 提供的使用者名稱。
- 按下 Template:Keypress ("eth0")。
- 按下 Template:Keypress ("no"),永遠保持連線。
- 輸入
server
(大部分的情況)。 - 按下 Template:Keypress 設定防火牆。
- 輸入 ISP 提供的密碼。
- 最後按 Template:Keypress 結束。
使用以上設定值連線到您的 ISP:
# pppoe-start
您可能也需要調整 resolv.conf
:
# echo nameserver 8.8.8.8 > /etc/resolv.conf
撥號和 ISDN 連線的使用者請參閱以數據機直接連線
使用代理伺服器
若您使用代理伺服器上網,必須匯出 http_proxy
和 ftp_proxy
這兩個環境變數。
更多資訊請參閱 Proxy settings。
準備儲存裝置
對磁區分割不完全熟悉的新手可以使用圖形化的分割工具。例如以 "Live" CD 提供的 GParted。GParted 也包含在大多數 Linux 發行版本的 Live CD 內,例如 Ubuntu 跟 Linux Mint。在重新啟動以前,磁碟必須先進行分割,並格式化為檔案系統。
安裝後可隨時建立一份 swap 檔案,因此現在並不需要建立 swap 分割區。若您希望現在設定一個 swap 分割區,請參閱 Swap (不過,調整檔案大小遠比調整分割區大小容易)。
若您已經完成,請接續至掛載分割區。
否則請看以下的範例。
範例
Arch Linux 安裝媒介包含了以下的磁區分割工具:fdisk
, gdisk
, cfdisk
, cgdisk
, parted
。
以下的範例系統將包含 15 GB 的根目錄區,以及占用其他空間的家目錄區。請從 MBR 或 GPT 任選一項進行,不要同時選擇它們!
再次提醒,使用者可自行任意決定如何分割磁碟。本範例僅為讀者提供示範而已。也請參閱分割磁區。
MBR | cfdisk /dev/sda
|
根目錄區 (/ ):
|
家目錄區 (
| ||
GPT | cgdisk /dev/sda
|
根目錄區 (/ ):
|
家目錄區 (/home ):
|
以下為選擇 MBR 的分割範例:
Name Flags Part Type FS Type [Label] Size (MB) ----------------------------------------------------------------------- sda1 Boot Primary Linux 15360 sda2 Primary Linux 133000*
以下為選擇 GPT 的分割範例:
Part. # Size Partition Type Partition Name ---------------------------------------------------------------- 1007.0 KiB free space 1 15.0 GiB Linux filesystem 2 123.45 GiB Linux filesystem
繼續之前請再次檢查,確認分割區的配置和大小無誤。
若打算從頭做起,直接選擇 Quit (或按 Template:Keypress) 離開,所有變更都不會儲存。接著重新啟動 cfdisk (或 cgdisk)。
一切都打理好以後,選擇 Write (或按 Template:Keypress) 收尾,將分割區表寫入磁碟裡面。輸入 "yes" 並選擇 Quit (或按 Template:Keypress) 離開。
只有分割磁區是不夠的;它們還需要一個檔案系統。將分割區格式化為 ext4 檔案系統:
# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2
若您已經準備一個 swap 分割區 (代碼 82),別忘了將它格式化後啟用:
# mkswap /dev/sdaX # swapon /dev/sdaX
掛載分割區
每個分割區都有一個分別用的數字後綴。舉例來說,sda1
代表磁碟的第一個分割區,至於 sda
則代表整台硬碟。
顯示目前的分割區配置:
# lsblk /dev/sda
首先,在 /mnt
掛載根目錄的分割區。這裡將沿用上面 cfdisk
的範例 (您的配置可能會不一樣):
# mount /dev/sda1 /mnt
接著將 home 以及其他的分割區 (/boot
, /var
等等) 一起掛載上來:
# mkdir /mnt/home # mount /dev/sda2 /mnt/home
UEFI 主機版的使用者,請掛載 UEFI 分割區:
# mkdir -p /mnt/boot/efi # mount /dev/sdaX /mnt/boot/efi
選擇鏡像站
安裝之前先編輯 mirrorlist
,把最想使用的鏡像站擺在最前面。這份 mirrorlist 文件,pacstrap
會複製一份並安裝到新系統內,所以最好現在就設定完成。
# nano /etc/pacman.d/mirrorlist
## ## Arch Linux repository mirrorlist ## Sorted by mirror score from mirror status page ## Generated on 2012-MM-DD ## Server = http://mirror.example.xyz/archlinux/$repo/os/$arch ...
- Template:Keypress 複製
Server
行。 - Template:Keypress 鍵向上捲動。
- Template:Keypress 貼在清單最頂端。
- Template:Keypress 離開,當提示儲存變更時按 Template:Keypress 和 Template:Keypress,以相同的檔名儲存。
您可以將選擇的鏡像站設定為唯一可用的鏡像站,把其他鏡像站去除 (使用 Template:Keypress),但建議保留其他兩、三個站點,以防第一個站點突然離線無法使用。
安裝基本系統
我們將使用 pacstrap 腳本安裝基本系統。
若您想直接安裝 base 和 base-devel 組合內所有套件,可將 -i
省略以跳過提示。
# pacstrap -i /mnt base base-devel
# pacman-key --init && pacman-key --populate archlinux
- base:[core] 來源的軟體套件,提供最小限度的基本環境。
- base-devel:[core] 來源的額外工具,如
make
、automake
。大部分新手都應該要安裝它,之後若要擴充新系統時就可以派上用場。若之後要從 AUR 安裝軟體,base-devel 套件組也是必須的。
這樣就完成一個基本的 Arch 系統了。其他套件之後可以使用 pacman 安裝。
產生 fstab
用以下指令產生 fstab 檔案。我們將使用 UUID,因為它有一定的優點 (請參閱 fstab#偵測檔案系統)。若您想改用磁碟標籤,將 -U
選項改為 -L
。
# genfstab -U -p /mnt | sed 's/rw,relatime,data=ordered/defaults,relatime/' >> /mnt/etc/fstab # nano /mnt/etc/fstab
另外一些考量如下:
- 只有根目錄 (
/
) 分割區的最後一欄需要填1
。其他分割區則應該為2
或0
(參閱fstab#欄位定義)。
Chroot 與設定基本系統
接下來,我們用 chroot 進入全新安裝的系統:
# arch-chroot /mnt
這個階段將為您的 Arch Linux 基本系統設定主要的設置檔。若您想要改變預設值,可以編輯或建立 (若檔案不存在) 這些檔案。
為了確保系統設置正確,請遵循以下步驟,並盡可能了解其中用處。
本地化
glibc 與其他支援本地化的程式/函式庫會使用本地化設定,來渲染文字、顯示正確的地區貨幣、時間與日期格式、字母順序以及其他本地標準。
在這裡需要編輯兩個檔案:locale.gen
和 locale.conf
。
- 預設
locale.gen
檔案為空 (所有選項皆被註解),請將想要的語系取消註解 (移除最前面的#
)。除了英文(美國),您也可以將需要的語系取消註解,只要選擇UTF-8
編碼即可:
# nano /etc/locale.gen
en_US.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
# locale-gen
這個指令在每次 glibc 升級時都會執行,產生所有 /etc/locale.gen
內指定的任何語系。
-
locale.conf
檔案預設並不存在。只要設定LANG
就夠了。其他變數將會以此當作預設值使用。
# echo LANG=en_US.UTF-8 > /etc/locale.conf # export LANG=en_US.UTF-8
要使用其他 LC_*
變數,請先執行 locale
檢查可用選項。更進階的範例請參閱這裡。
終端機字型與鍵盤布局
若您在安裝過程的一開始設定過鍵盤布局的話,由於我們已經換到新安裝的系統環境,請現在再載入一遍。例如:
# loadkeys de-latin1 # setfont Lat2-Terminus16
編輯 vconsole.conf
使設定在重啟系統後依然生效:
# nano /etc/vconsole.conf
KEYMAP=de-latin1 FONT=Lat2-Terminus16
-
KEYMAP
– 請注意這裡的設定值只對 TTY (文字介面) 有用,不適用於 Xorg 或任何圖形視窗管理員。
-
FONT
–/usr/share/kbd/consolefonts/
內可用的替代字型。預設 (留空) 是安全的,但某些非英文字母可能會變成白框或亂碼。建議您更改為Lat2-Terminus16
,因為/usr/share/kbd/consolefonts/README.Lat2-Terminus16
號稱支援了「近 110 種語言」。
-
FONT_MAP
的可用選項 – 定義開機時載入的終端機布局。請閱讀man setfont
。將它移除或留空都沒關係。
更多資訊請參閱終端機字型和 man vconsole.conf
。
時區
各地區以及子分區可以在 /usr/share/zoneinfo/<地區>/<子分區>
目錄下找到。
檢查目錄 /usr/share/zoneinfo/
尋找可使用的地區:
# ls /usr/share/zoneinfo/
以同樣方式檢查是否有可用的子分區:
# ls /usr/share/zoneinfo/Asia
使用以下指令,建立軟連結 /etc/localtime
,連結至您所屬的時區檔 /usr/share/zoneinfo/<地區>/<子分區>
:
# ln -s /usr/share/zoneinfo/<地區>/<子分區> /etc/localtime
範例:
# ln -s /usr/share/zoneinfo/Asia/Taipei /etc/localtime
硬體時鐘
請統一您所有作業系統的硬體時鐘模式。否則它們可能會覆寫硬體時鐘,造成時間偏移。
使用以下任一指令,自動產生 /etc/adjtime
:
- UTC (建議使用)
-
# hwclock --systohc --utc
若要透過網路同步您的 "UTC" 時間,請參閱 NTPd.
- localtime (不建議;Windows 預設使用)
-
# hwclock --systohc --localtime
若您有使用 (或打算) 與 Windows 的雙重開機:
- 建議:將 Arch Linux 和 Windows 設定為使用 UTC。Windows 需要加入一個修正註冊碼。另外確保停用 Windows 的線上同步時間功能,否則硬體時鐘又會回復成 localtime 的預設值。
- 不建議:將 Arch Linux 設定為 localtime,並取消任何時間服務如 NTPd。硬體時鐘將交由 Windows 處理,若您的所在地區有實施日光節約時間,要記得每年最少要啟動 Windows 兩次 (春季與秋季)。要是長久未打開 Windows,Arch 可能會出現比實際時間少/多一個小時的狀況 (這已經是論壇的老問題了)。
核心模組
若要在開機時載入核心模組,在 /etc/modules-load.d/
底下放入 *.conf
檔案,名稱以模組名為主。
# nano /etc/modules-load.d/virtio-net.conf
# 開機時載入 'virtio-net.ko' virtio-net
若 *.conf
內包含多個模組,一行只能寫一個模組名稱。這裡有個良好的範例可供參考:VirtualBox Guest Additions.
空行、以 #
或 ;
開頭的行將會被忽略。
域名
將域名設定成您喜歡的名字 (例如 arch):
# echo 我的域名 > /etc/hostname
設定網路
現在,您需要為全新安裝的環境設定網路。步驟與先決條件跟上面十分類似,不同的是我們要將網路設定為開機時自動執行。
有線網路
- 動態 IP
若您只有使用單一固定的有線網路,並不需要一個專門的網路管理服務,只要啟用 dhcpcd
服務即可。將以下的 <介面> 改為您的有線網路介面:
# systemctl enable dhcpcd@<介面>.service # systemctl start dhcpcd
或者您也可以使用 netcfg 的 net-auto-wired
,可以有效處理新網路的動態連線:
安裝 net-auto-wired
所需的 ifplugd:
# pacman -S ifplugd
編輯 /etc/conf.d/netcfg
,修改網路介面名稱 (目前已不太可能是 eth0)。您可以從上面的警告資訊中了解命名規則。
nano /etc/conf.d/netcfg
WIRED_INTERFACE="<interface>"
啟用 net-auto-wired
服務。
# systemctl enable net-auto-wired.service # systemctl start dhcpcd
- 固定 IP
從 /etc/network.d/examples
複製一份樣本設定檔至 /etc/network.d
:
# cd /etc/network.d # cp examples/ethernet-static .
依需求編輯設定檔 (修改 INTERFACE
, ADDR
, GATEWAY
和 DNS
):
# nano ethernet-static
編輯 /etc/conf.d/netcfg
,在 NETWORKS
這一行加入新的網路設定檔:
nano /etc/conf.d/netcfg
NETWORKS=(ethernet-static)
啟用 netcfg
服務:
# systemctl enable netcfg.service
無線網路
您需要安裝額外的程式,才能用 netcfg 設定無線網路,並管理其設定資料。
NetworkManager 和 Wicd 也是可選用的網路管理程式。
- 安裝需要的套件:
# pacman -S wireless_tools wpa_supplicant wpa_actiond dialog
若您的無線網路配接器需要韌體 (如上面所述的啟用網路連線小節,以及這裡),請安裝包含該韌體的套件。例如:
# pacman -S zd1211-firmware
- 完成剩下的安裝程序並重啟系統後,就可以使用
wifi-menu <介面>
連上網路 (<介面>
代表您的無線網路介面),這會在/etc/network.d
下產生一個以 SSID 命名的設定檔。/etc/network.d/examples/
下有可用的模板供您手動調整設定。
# wifi-menu <介面>
- 啟用
net-auto-wireless
服務,系統將連線到已知的網路,且能夠妥善處理漫遊與斷網的情形:
# systemctl enable net-auto-wireless.service
- 確認
/etc/conf.d/netcfg
內已經設定正確的無線介面 (如wlp3s0
):
# nano /etc/conf.d/netcfg
WIRELESS_INTERFACE="wlp3s0"
您也可以使用 /etc/conf.d/netcfg
的 AUTO_PROFILES
變數,定義一個自動連線的網路清單。若未設定 AUTO_PROFILES
,將嘗試所有已知的無線網路。
xDSL (PPPoE)、類比式數據機或 ISDN
xDSL、撥接與 ISDN 連線請參閱以數據機直接連線。
設定 pacman
Pacman 是 Arch Linux 下的套件管理系統 (package manager)。我們強烈建議 Arch 使用者學習、研究如何使用 pacman。您可以閱讀 man pacman
、看看 pacman 與 Pacman 簡介。若要了解 pacman 與其他知名套件管理程式的比較,請參閱 Pacman Rosetta 這篇文章。
在 pacman.conf
編輯需要的軟體倉庫與 pacman 選項:
# nano /etc/pacman.conf
對大多數人來說,選擇 [core]
、[extra]
和 [community]
就夠了。
若您安裝的是 Arch Linux x86_64 版,建議您再啟用 [multilib]
倉庫 (以便執行 32 與 64 位元的程式):
[multilib] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist
接下來您必須更新套件清單。執行 pacman
並加上 -Sy
選項。若沒有這麼作,下次執行 pacman 時將會出現以下錯誤:"warning: database file for 'multilib' does not exist" (警告:'multilib' 資料庫檔案不存在)。
更多資訊請參閱官方倉庫,裡頭包含了各種軟體倉庫的詳細資訊。
若您需要的軟體無法直接由 pacman 取得,請參閱 Arch 使用者倉庫 (AUR)。
建立初始 ramdisk 環境
若您將系統的根目錄安裝在 USB 碟,或是使用了 RAID/LVM,還是將 /usr
放在額外的分割區內,都需要設定好正確的 hook。
根據您的需求編輯 /etc/mkinitcpio.conf
,並重新產生 initramfs 映像:
# mkinitcpio -p linux
設定 root 密碼並新增一般使用者
設定 root 密碼:
# passwd
接著新增一個正常的使用者帳號。以下範例新增了 archie 這位使用者。
# useradd -m -g users -G wheel -s /bin/bash archie # passwd archie
若您要取消操作,使用 userdel
。加上 -r
選項將使用者的家目錄以及其內容通通移除,包括該使用者的設定值 (就是前面有「一點」的檔案)。
# userdel -r archie
更多資訊請閱讀使用者與群組。
安裝並設定開機載入程式
BIOS 主機板
BIOS 系統可以使用三種開機載入程式:Syslinux、GRUB 以及 LILO,請選擇對您而言最方便的一套。以下將解釋 Syslinux 與 GRUB 的設定方式。
- Syslinux (目前)限制只能從安裝系統的分割區內載入檔案。設定檔比較淺顯易懂。這裡有一份範例設定檔可供參考。
- GRUB 的功能較為豐富,且支援更複雜的系統狀況。設定檔與腳本語言接近,對新手而言較難以手動編寫。建議自動產生一份設定檔。
Syslinux
安裝 syslinux 套件,並使用 syslinux-install_update
腳本自動安裝檔案 (-i
)、設定開機旗標啟用分割區 (-a
),並安裝 MBR 開機碼 (-m
):
# pacman -S syslinux # syslinux-install_update -i -a -m
設定 syslinux.cfg
以指向正確的根目錄分割區。這個步驟相當重要。若指向錯誤的分割區,就無法啟動 Arch Linux。將 /dev/sda3
改乘您的根目錄分割區所在 (以這個範例而言是 sda1)。fallback 項目也要作一樣的修改。
# nano /boot/syslinux/syslinux.cfg
... LABEL arch ... APPEND root=/dev/sda3 ro ...
更多設定、使用 Syslinux 的資訊請參閱 Syslinux。
GRUB
安裝 grub-bios 套件並執行 grub-install
:
# pacman -S grub-bios # grub-install --target=i386-pc --recheck /dev/sda # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
接下來,建議初學者自動產生一份 grub.cfg
文件 (手動建立一份也完全沒問題):
# grub-mkconfig -o /boot/grub/grub.cfg
更多設定、使用 GRUB 的資訊請參閱 GRUB。
UEFI 主機板
若您使用 UEFI 開機,磁碟需要以 GPT 方式分割,且需要一個 UEFI 系統分割區 (512 MiB 或更高、FAT32 格式,輸入 EF00
) 並掛載為 /boot/efi
。若您一開始有照著本教學進行安裝的話,應該已經將這些步驟做完了。
雖然有其他可用的 UEFI 開機載入程式,我們建議使用 EFISTUB。以下為設定 EFISTUB 和 GRUB 的步驟。
EFISTUB
Linux 核心使用 EFISTUB 作為自己的開機載入程式。此為開發者建議的 UEFI 開機方法,比起 grub-efi-x86_64
也較為簡單。以下的步驟設定了 rEFInd (rEFIt 的分支),為 EFISTUB 核心提供選單,以便可啟動其他 UEFI 開機載入程式。您也可以不用 rEFInd,改使用 gummiboot。rEFInd 和 gummiboot 在雙重開機的情況下都可以偵測到 Windows 的 UEFI 開機載入程式。
1. 以 UEFI 模式開機,在進入 chroot 環境前載入 efivars
核心:
# modprobe efivars # 進入 chroot 環境前
2. 掛載 /mnt/boot/efi
下的 UEFISYS 分割區,chroot 並依下面指示複製核心與 initramfs 檔案。
- 建立
/boot/efi/EFI/arch/
目錄。
- 將
/boot/vmlinuz-linux
複製到/boot/efi/EFI/arch/vmlinuz-arch.efi
。.efi
副檔名對某些 UEFI 韌體來說非常重要,沒有這個副檔名就拒絕啟動檔案。重要提醒:該檔案的名稱為 vmlinuz,不是 vmlinux!
- 將
/boot/initramfs-linux.img
複製到/boot/efi/EFI/arch/initramfs-arch.img
。
- 將
/boot/initramfs-linux-fallback.img
複製到/boot/efi/EFI/arch/initramfs-arch-fallback.img
。
在每次 /boot
下面的核心與 initramfs 檔案更新時,必須也更新 /boot/efi/EFI/arch
下的檔案。您可以使用 systemd 或使用 incron (非 systemd 安裝者),來自動執行這些動作。
3. 在這份教學內您設定了一個開機載入程式 GUI,叫作 rEFInd。其他開機載入程式可以在 UEFI 開機載入程式#啟動 EFISTUB 找到。 根據 rEFInd 開機載入程式的安裝建議,安裝以下套件:
# pacman -S refind-efi efibootmgr
4. 將 rEFInd 安裝到 UEFISYS 分割區內 (以下為 UEFI 開機載入程式#使用 rEFInd 的總結):
# mkdir -p /boot/efi/EFI/refind # cp /usr/lib/refind/refind_x64.efi /boot/efi/EFI/refind/refind_x64.efi # cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/refind/refind.conf # cp -r /usr/share/refind/icons /boot/efi/EFI/refind/icons
5. 建立 refind_linux.conf
檔案,加上要給 rEFInd 使用的核心參數:
# nano /boot/efi/EFI/arch/refind_linux.conf
"Boot to X" "root=/dev/sdaX ro rootfstype=ext4 systemd.unit=graphical.target" "Boot to console" "root=/dev/sdaX ro rootfstype=ext4 systemd.unit=multi-user.target"
6. 使用 efibootmgr 將 rEFInd 加入 UEFI 開機選單。
# efibootmgr -c -g -d /dev/sdX -p Y -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'
7. (選用) 建立一個 fallback 以防 efibootmgr
建立的開機選項無法工作。照以下指令將 refind_x64.efi
複製到 /boot/efi/EFI/boot/bootx64.efi
:
# cp -r /boot/efi/EFI/refind/* /boot/efi/EFI/boot/ # mv /boot/efi/EFI/boot/refind_x64.efi /boot/efi/EFI/boot/bootx64.efi
GRUB
# pacman -S grub-efi-x86_64 efibootmgr # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
下個指令將會在 UEFI 開機選單內建立 GRUB 選項。然而在 grub-efi-x86_64 版本 2.00,grub-install
會嘗試建立選項,可能就不需要執行 efibootmgr
。更多資訊請參閱 UEFI#efibootmgr。
# efibootmgr -c -g -d /dev/sdX -p Y -w -L "Arch Linux (GRUB)" -l '\EFI\arch_grub\grubx64.efi'
接下來,建議初學者自動產生一份 grub.cfg
文件 (手動建立一份也完全沒問題):
# grub-mkconfig -o /boot/grub/grub.cfg
更多設定、使用 GRUB 的資訊請參閱 GRUB。
卸載分割區並重啟系統
離開 chroot 環境:
# exit
使用以下的指令,將掛載在 /mnt
的分割區卸載下來:
# umount /mnt/{boot,home,}
重新啟動電腦:
# reboot
其他
恭喜您,歡迎使用全新的 Arch Linux 系統!
現在,您全新的 Arch Linux 基本系統已經是可以工作的 GNU/Linux 環境了,剩下就有待您的巧手了。以此為起點,您可以將這些優雅的工具集,組合成您期望或符合自己要求的樣子。大多數 Arch 使用者會打造一套影、音具全的桌面系統:本節將提供一個概略的流程來達成這些目標。
現在就使用您的使用者帳號登入系統吧。
套件管理員
詳見 pacman、FAQ 下的套件管理內頁,裡面包含了安裝、更新、管理套件的相關資訊與釋疑。
服務管理
Arch Linux 使用 systemd 這套 Linux 下的系統服務管理程式來初始化系統。為了維護您的 Arch Linux,請稍微了解一下它的基本概念與操作。所有和 systemd 的互動都可由 systemctl
指令完成。更多資訊請詳閱 systemd#systemctl 基本用法。
音效
ALSA 通常一裝完就可使用,通常只需要取消靜音即可。安裝 alsa-utils (包含 alsamixer
) 並依照這裡的指示進行。
ALSA 是核心的組件之一,建議先試用它。要是不起作用或是對其音質不滿意,OSS 會是個不錯的替代品。若您有進階的音效需求,請參閱聲音系統。
圖形使用者介面(Graphical User Interface)
安裝 X
X 視窗系統 (又稱之為 X11 或 X) 是套網路與顯示通訊協定,提供了以點陣圖顯示的視窗功能,包含了建立圖形使用者介面 (GUI) 的標準工具集和協定。
安裝 Xorg 基本套件:
# pacman -S xorg-server xorg-xinit xorg-server-utils
安裝 mesa (提供 3D 支援):
# pacman -S mesa
安裝影像驅動
若您不曉得您的機器是使用什麼顯示晶片組,請執行:
$ lspci | grep VGA
完整的開源影像驅動清單可從套件資料庫中搜尋:
$ pacman -Ss xf86-video | less
vesa
驅動是一般性的模式設定驅動,幾乎在所有 GPU 上都可以運作,但不提供任何 2D 或 3D 加速功能。若更好的驅動沒有找到或載入失敗,Xorg 會退而求其次使用 vesa。vesa 的安裝:
# pacman -S xf86-video-vesa
為了讓影像加速可以運作,並使用 GPU 可設置的所有模式,您需要一個適當的影像驅動程式:
品牌 | 類型 | 驅動 | Multilib 套件 (Arch x86_64 上的 32 位元程式) |
文件 |
---|---|---|---|---|
AMD/ATI | 開源 | xf86-video-ati | lib32-ati-dri | ATI |
專有 | catalyst-dkms | lib32-catalyst-utils | AMD Catalyst | |
Intel | 開源 | xf86-video-intel | lib32-intel-dri | Intel Graphics |
xf86-video-i740 | – | (過時驅動) | ||
Nvidia | 開源 | xf86-video-nouveau (+ nouveau-dri 提供 3D 支援) |
lib32-nouveau-dri | Nouveau |
xf86-video-nv | – | (過時驅動) | ||
專有 | nvidia | lib32-nvidia-utils | NVIDIA | |
SiS | 開源 | xf86-video-sis xf86-video-sisimedia xf86-video-sisusb |
– | SiS |
安裝輸入驅動程式
Udev 可以毫無問題地偵測您的硬體。evdev
驅動 (xf86-input-evdev) 是目前的熱插拔輸入驅動,幾乎適用於所有裝置,所以多數情況下您並不需要安裝輸入驅動。evdev
已因為 xorg-server 套件的相依性而被安裝好了。
筆記型電腦 (或觸控螢幕) 的使用者會需要 xf86-input-synaptics 套件,以讓觸控板/觸控螢幕作用:
# pacman -S xf86-input-synaptics
若需要微調觸控板,或是發生觸控板相關的錯誤,請參閱觸控板文章。
設定 X
Xorg 有自動偵測的功能,已經不太需要 xorg.conf
了。若您仍希望手動設定 X 伺服器,請參閱 Xorg wiki 頁面。
測試 X
安裝預設環境:
# pacman -S xorg-twm xorg-xclock xterm
若您在安裝 Xorg 前新增了非 root 的使用者帳號,該帳號的家目錄下會出現 .xinitrc
模版檔,必須將它刪除或註解掉。若選擇刪除,X 將以上述安裝的預設環境啟動。
$ rm ~/.xinitrc
執行下列指令,啟動(測試) Xorg 階段:
$ startx
螢幕將出現幾個可移動的視窗,且您的滑鼠應該可以使用。如果您認為 X 執行的可圈可點、沒有問題,可以在 X 下的終端機輸入 exit
離開 X 環境,回到文字模式。
$ exit
若螢幕變成一片漆黑,可以試著切換到不同的虛擬終端機 (如 Template:Keypress),並以 root 身分登入(鍵入 "root"、按 Template:Keypress、打入密碼後再按 Template:Keypress 即可)。
您可以試著殺掉 X 伺服器程序:
# pkill X
沒有作用的話就直接重啟系統:
# reboot
疑難排解
若發生任何問題,到 Xorg.0.log
檢查錯誤。以 (EE)
開頭的行位代表錯誤,以 (WW)
開頭則代表警告,或許能提供一些問題發生的提示。
$ grep EE /var/log/Xorg.0.log
若看過 Xorg 文章後仍無法解決問題,需要到 Arch Linux 論壇或 IRC 頻道尋求協助的話,記得安裝 wgetpaste,讓熱心的網友能透過連結了解您的問題:
# pacman -S wgetpaste $ wgetpaste ~/.xinitrc $ wgetpaste /etc/X11/xorg.conf $ wgetpaste /var/log/Xorg.0.log
字型
現在您可能希望安裝一套 TrueType 字型,畢竟預設系統只內含不可擴展的點陣字型。DejaVu 是一套適用於一般用途的高品質字型,有良好的 Unicode 支援:
# pacman -S ttf-dejavu
請參閱字型設定了解如何設定字型渲染,並參閱字型文章內的字型建議與安裝指示。
選擇/安裝圖形介面
X 視窗系統提供了建立圖形使用者介面 (GUI) 的基本架構。
- 視窗管理員 (WM) 會和 X 視窗系統一同控制程式視窗的位置與樣貌。
- 桌面環境 (DE) 和 X 一同提供完整功能的動態 GUI。一般的桌面環境會提供視窗管理員、圖示、小插件、視窗、工具列、資料夾、桌布、程式組以及拖拉等功能。
除了手動用 xorg-xinit
啟動 X 以外,請參閱顯示管理員了解登入管理員的使用方式,或是從登入時啟動 X 了解從既存的虛擬終端機啟動的方式。
附錄
好奇 Arch 下有什麼吸引人的應用程式嗎?請參考應用程式清單。
安裝好 Arch 以後,也歡迎參考一般建議內的設定教學,像是如何設定觸控板、字型的渲染等等。