Beginners' Guide (正體中文)

From ArchWiki
Jump to: navigation, search
提示: 這份教學有一份多頁版本。若您不習慣看太長的文章,可以從這裡開始。
摘要
本頁提供了十分詳細的解說資料,說明如何安裝、設定並使用一套全功能的 Arch Linux 系統。
相關資料
Category:Accessibility
Installation Guide (正體中文)
Network Installation Guide
Install from SSH
General Recommendations
General Troubleshooting


本文件將指導您使用 Arch 安裝腳本完成 Arch Linux 的安裝。開始之前建議您大略瀏覽一下 FAQ

由社群維護的 Arch Wiki 是很棒的資料來源,若您碰到任何安裝和使用上的問題,可以先到 wiki 找尋解決方案。用 Google 等搜尋引擎搜尋問題關鍵字也是個好主意。如果真的沒辦法自行解決,也歡迎到 IRC 頻道 (irc://irc.freenode.net/#archlinux) 和論壇問問。若您碰到不熟悉的指令,可以呼叫 man [指令名] 查看該指令的 man 說明文件。

Contents

準備

註記: 如果您要在既存的 GNU/Linux 發行版本下安裝 Arch Linux (像是經由 VNCSSH 的遠端安裝),請參閱這篇文章。欲透過 SSH 連線遠端安裝 Arch Linux 的使用者,應閱讀從 SSH 安裝中提供的額外提示。

系統

Arch Linux 可以在任何與 i686 相容的機器上執行,RAM 的最低需求大小為 64 MB。基本上會安裝 base 群組下所有軟體包,將佔用 500 MB 的磁碟空間。若您目前的空間不足,可以視狀況減少安裝的軟體包,但您必須搞清楚這麼做的後果。

燒錄/寫入最新的安裝媒體

最新釋出的安裝媒體可以從官網的下載頁面取得。注意此 ISO 安裝映像檔同時支援 32 和 64 位元的硬體架構。每隔一個月會發行一份新的 ISO 映像,因此強烈建議您使用最新的 ISO 映像。

  • 用燒錄軟體將 ISO 映像燒入 CD 或 DVD。
註記: 不同光碟機和 CD 本身的品質差異甚大。一般建議使用低速燒錄,以得到可靠的燒錄品質。若燒錄的 CD 發生任何異常狀況,請使用機器支援的最低速度再重新燒錄一遍。
  • 也可以將 ISO 映像寫入 USB 隨身碟。詳細的步驟指示請參閱 USB 安裝媒體

透過網路安裝

除了光碟或隨身碟等方式之外,若您有一台可運作的伺服器,也可以選擇透過網路啟動 .iso 映像。更多資訊請參閱這篇文章,並接續至啟動安裝媒體

在虛擬機器上安裝

將 Arch Linux 安裝在虛擬機器是熟悉 Arch Linux 的好方法:安裝時不必離開您現在的作業系統,也不會動到硬碟原本的分割區。此外,在安裝過程中也能夠開著瀏覽器查閱這份「新手教學」。對某些使用者而言,有一份獨立在虛擬機器上跑的 Arch Linux 作測試,好處多多。

常見的虛擬機器軟體有 VirtualBoxVMwareQEMUXenVarchParallels

準備虛擬機器的步驟因軟體而異,但一般跟以下的步驟相距不遠:

  1. 建立虛擬硬碟映像檔,用來存放作業系統。
  2. 正確設置虛擬機器的參數。
  3. 使用虛擬光碟機,啟動下載的 ISO 映像。
  4. 繼續按照啟動安裝媒體的步驟安裝。

下面的文章可能對您有幫助:

啟動安裝媒體

首先,您可能要更改電腦 BIOS 的開機順序:在一開機時的 POST 階段按下對應按鍵 (通常為 Delete, F1, F2, F11F12)。接著在選單上挑選「Boot Arch Linux」(啟動 Arch Linux),按下 Enter 進入安裝程序。

在 Live 環境下使用的 Shell 為 Zsh,提供了進階的 Tab 補齊,和其他 grml config 的部份功能。

測試是否以 UEFI 模式開機

若您使用的是 UEFI 主機板,且啟用 UEFI 啟動模式 (優先於 BIOS/Legacy 模式),CD/USB 將自動啟動 Arch Linux 核心 (EFISTUB 透過 Gummiboot 開機管理)。若要檢查是否以 UEFI 模式開機,檢查目錄 /sys/firmware/efi 有沒有被建立:

# ls -1 /sys/firmware/efi
開機疑難排解
  • 若您使用 Intel 顯示晶片組,螢幕在開機過程中變成一片空白,那問題可能跟「核心模式設定」(KMS) 有關。請重新開機,在您要嘗試開機的項目 (i686 或 x86_64) 下按 e。在字串尾端加入 nomodeset 後按 Enter。另外一種方式是加上 video=SVIDEO-1:d,這樣就不必停用 KMS。您也可以試試 i915.modeset=0。更多資訊請參閱 Intel 這篇文章。
  • 若螢幕並非呈現一片空白,而是在嘗試載入核心的過程中卡住的話,則在選單項目上按 Tab,在字串尾端輸入 acpi=off 後按 Enter


安裝

您現在可以看到 Shell 的提示輸入畫面,自動以 root 的身分登入。

更改語言

提示: 對多數使用者而言此步驟可略過。若您打算在設定檔內寫入母語的話本步驟便能派上用場。 例如:在 Wi-Fi 密碼內使用變音符號、以母語顯示系統訊息 (如可能的錯誤) 等。

預設的鍵盤布局為 us (美式鍵盤)。 如果您使用的是非美式的鍵盤布局,請執行:

# loadkeys 布局

...布局可以是 frukdvorakbe-latin1 等鍵盤布局。 完整的鍵盤布局清單請參閱這裡

字型也需要作更改,因為大多數語言使用的字母數超過英文字母的 26 個。 要不然某些非英文字母會顯示為白框或其他錯誤符號。注意,字型名稱有分大小寫,請確實按照名稱鍵入:

# setfont Lat2-Terminus16

預設的語系為「英文(美國)」。若您想要更改安裝程序語系 (以下範例為德文), 在 /etc/locale.gen 移除您需要語系 前面的井字符號 #,也請保留「英文(美國)」以備不時之需。語系請選擇 UTF-8 項目。

輸入 nano /etc/locale.gen,使用簡單的 Nano 編輯器來進行變更。Ctrl+X 離開編輯,當提示需儲存變更時按 YEnter,以相同的檔名儲存。

# nano /etc/locale.gen
en_US.UTF-8 UTF-8
de_DE.UTF-8 UTF-8
# locale-gen
# export LANG=de_DE.UTF-8

另外,LAlt+LShift 可啟用/停用鍵盤布局。

(譯註:以上舉例僅供示範。在安裝期間設定中文語系將發生無法正常顯示中文的問題,建議忽略此步驟。)

啟用網路連線

警告: udev 自版本 197 開始不再按照以往 wlanX、ethX 的方式分配網路介面的名稱。如果您是從其他發行版本轉來的玩家,還是準備重灌但還不知道新的介面命名方案的 Arch 玩家,先不要急著認為無線裝置就是 wlan0、有線裝置就是 eth0。您可以使用 ip link 指令找出介面名稱。

開機過程中會自動啟動 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 位址的有線網路連線,請依照以下的步驟。

首先,將開機時自動開始的 dhcpcd 服務停用:

# systemctl stop dhcpcd.service

確認網路卡的介面名稱。

# 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 和迴路裝置都沒有無線網路擴充,顯然 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,改成您的名稱伺服器 IP 位置,以及本機域名:

# nano /etc/resolv.conf
nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com
註記: 目前最多只能加入三行 nameserver 字串。若要克服此限制,您可以使用本地快取名稱伺服器,如 Dnsmasq

到這裡,您的網路連線應該可以使用了。若還是不行,請參閱更詳細的網路設定

無線網路

若您在安裝過程中需要無線網路連線 (Wi-Fi),請依照以下的步驟進行。

首先,偵測無線網路介面的名稱。

# iw dev
phy#0
        Interface wlp3s0
                ifindex 3
                wdev 0x1
                addr 00:21:6a:5e:52:bc
                type managed

在本範例中,wlp3s0 為可用的無線網路介面。無線網路的介面名稱通常會以字母「w」當開頭,不應該是「lo」或以「e」開頭的名稱。

註記: 若您沒有看到相似的輸出,代表尚未載入無線網路驅動。在此情況下您必須手動將驅動載入。更細節的資訊請參閱無線網路設定

啟用介面:

# ip link set wlp3s0 up

大多數無線網路晶片組需要韌體以及對應的驅動。核心會嘗試偵測這兩者並自動載入。若您得到 SIOCSIFFLAGS: No such file or directory 之類的輸出訊息,代表您需要手動載入韌體。不確定的話,呼叫 dmesg 檢查核心日誌內是否有無線網路晶片組的韌體請求。假設您有一個 Intel 晶片組,它在開機時曾向核心請求韌體的話:

# dmesg | grep firmware
firmware: requesting iwlwifi-5000-1.ucode

若沒有任何輸出,或許系統的無線網路晶片組並不需要韌體。

警告: (某些卡片需要的) 無線網路晶片組的韌體軟體包已預先安裝在 (CD/USB 碟上) Live 環境的 /usr/lib/firmware 資料夾,但您必須將其安裝在實際的系統上,才能在重啟系統後提供無線網路功能!如何安裝軟體包將在本教學的後面提及。請在重新啟動前確認無線網路的模組與韌體皆安裝完成!若不確定您的晶片組是否需安裝相關韌體,請參閱無線網路設定

接下來使用 netctlwifi-menu 連上網路:

# wifi-menu wlp3s0

到這裡,您的網路連線應該可以使用了。沒有的話,請參閱更詳細的無線網路設定頁面。

不使用 wifi-menu

您也可以使用 iw dev wlp3s0 scan | grep SSID 掃描可用網路並連接:

# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")

您需要將 ssid 改為您的網路名稱 (例如「Linksys etc...」),psk 改為您的無線網路密碼。記得保留網路名稱與密碼兩旁的引號。

最後您需要給介面一個 IP 位址。您可以手動設定或使用 DHCP:

# dhcpcd wlp3s0

失敗的話請使用以下指令:

# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
# wpa_passphrase <SSID> <密語> >> /etc/wpa_supplicant.conf
# ip link set <介面> up # 可能不需要,但不會造成任何傷害
# wpa_supplicant -B -D nl80211 -c /foobar.conf -i <介面名稱>
# dhcpcd -A <介面名稱>

類比式數據機、ISDN 或 PPPoE DSL

xDSL、撥號和 ISDN 連線的使用者請參閱以數據機直接連線

代理伺服器背後

若您在代理伺服器的背後上網,必須匯出 http_proxyftp_proxy 這兩個環境變數。更多資訊請參閱代理伺服器設定

準備儲存裝置

警告: 分割硬碟會破壞內部資料。您得非常小心,建議在繼續之前先備份所有重要資料。

選擇分割表類型

您需要在 GUID 分割表 (GPT) 和主開機記錄 (MBR) 中擇一使用。GPT 較為先進,建議在全新安裝的場合下使用。

註記: 若您打算安裝在 USB 隨身碟,請參閱將 Arch Linux 安裝在 USB 碟

分割工具

完完全全的新手可以先嘗試使用圖形化的分割工具。例如以 「Live」 CD 提供GParted。GParted 也包含在大多數 Linux 發行版本的 Live CD 內,例如 UbuntuLinux Mint。在重新啟動以前,硬碟必須先進行分割,並格式化為檔案系統

提示: 當使用 Gparted,選擇建立新分割表的選項時,預設會採用「msdos」分割表。若您打算跟隨提議建立 GPT 分割表,您需要選擇「進階」並在下拉選單中選擇「gpt」。

Gparted 比較容易使用,但若您只是想要在新硬碟上建立幾個分割區,只要使用安裝媒體中包含的 fdisk 相關軟體之一即可快速完成工作。gdiskfdisk 都有簡略的使用步驟說明。

分割計畫

您可以決定一顆硬碟要分多少塊分割區,每個分割區所歸屬的系統目錄為何。從分割區到目錄的映射 (通常被稱為「掛載點」) 叫做分割計畫。最簡單也不草率的方式是只建立一大塊 / 分割區。另一個常見的選擇是分一塊 / 和一塊 /home 分割區出來。

額外需要的分割區:
  • 若您使用的是 UEFI 主機板,將需要建立一塊額外的 UEFI 系統分割區。大小至少要 512 MiB。
  • 若您使用的是 BIOS 主機板 (或計畫以 BIOS 相容模式開機),且想要在以 GPT 分割的硬碟上設定 GRUB,將需要建立一塊額外的 BIOS 開機分割區,大小為 1007 KiB,類型代碼為 EF02。Syslinux 的話則不需要。
  • 若您有系統自我硬碟加密的需求,必須反應在分割計畫內。系統安裝好以後,新增加密的資料夾、容器或家目錄都沒有問題。

若您希望設定一個置換分割區或置換檔案,詳情請參閱 Swap。置換檔案比分割區還容易調整大小,也可以在安裝之後的任何時間建立,但無法在 Btrfs 檔案系統中使用。

與 Windows 雙重開機的考量

若您已經有存在的作業系統安裝在硬碟內,請特別注意:在硬碟上寫入一個全新分割表,之前硬碟內所有資料都會遺失。

設定一個 Linux/Windows 雙重開機系統的建議方式是:先安裝好 Windows,只使用部分硬碟作為它的分割區使用。結束 Windows 安裝後,開機進入 Linux 安裝環境,建立給 Linux 使用的額外分割區,同時保持既存的 Windows 分割區不被改動。

某些新電腦預先搭載 Windows 8,它們有使用「安全開機」(Secure Boot)。Arch Linux 目前不支援「安全開機」,但某些安裝的 Windows 8 在 BIOS 關閉「安全開機」的情況下會無法開機。某些情況下,同時將「安全開機」與「快速開機」(Fastboot) 關閉,可以讓 Windows 8 不須「安全開機」即可開機。但是在關掉「安全開機」的情況下,Windows 8 開機有潛在的安全風險。因此,一個更好的選項是,保持 Windows 8 安裝的硬碟不動,用另一顆獨立硬碟給 Linux 安裝使用 - 可完全使用 GPT 分割表分割。完成之後,在電腦有兩顆硬碟的情況下,當要建立數個 ext4/FAT32/swap 分割區時最好選擇第二顆硬碟。此方式對小筆電而言通常不容易/不可能實踐。以目前而言,即使是支援「安全開機」的 Linux 發行版本,也無法同時在可靠的操作下達到完全穩定的狀態。

若您已經建立好分割區,請接續至建立檔案系統

否則請看以下的範例。

範例

Arch Linux 安裝媒介包含了以下的硬碟分割工具:fdisk, gdisk, cfdisk, cgdisk, parted

提示: 使用 lsblk 指令列出與系統連接的硬碟,以及其存在分割區的大小。這能幫您確認分割的硬碟是否正確,添點信心。

以下的範例系統將包含 15 GB 的根目錄區,以及占用其他空間的家目錄區。請從 MBRGPT 任選一項進行,不要同時選擇它們!

再次提醒,使用者可自行任意決定如何分割硬碟。本範例僅為讀者提供示範而已。也請參閱硬碟分割

使用 cgdisk 建立 GPT 分割區
# cgdisk /dev/sda
根目錄:
  • 選擇 New (或按 N) – Enter 默認第一個磁區 (2048) – 輸入 15GEnter 默認預設十六進位代碼 (8300) – Enter 默認空白分割區名稱。
家目錄:
  • 按數次下鍵,將光標移動至較大的可用空間。
  • 選擇 New (或按 N) – Enter 默認第一個磁區 – Enter 使用剩餘的硬碟空間 (或是輸入想要的大小:例如 30G) – Enter 默認預設十六進位代碼 (8300) – Enter 默認空白分割區名稱。

畫面應該長的像這樣:

Part. #     Size        Partition Type            Partition Name
----------------------------------------------------------------
            1007.0 KiB  free space
   1        15.0 GiB    Linux filesystem
   2        123.45 GiB  Linux filesystem

再三檢查,確認您對分割區的大小、分割表的配置滿意之後再繼續。

若您要從頭開始,直接選擇 Quit (或按 Q) 不儲存任何變更離開,接著重新啟動 cgdisk

滿意的話就選擇 Write (或按 Shift+W) 結束,將分割表寫入硬碟。輸入 yes 並選擇 Quit (或按 Q) 離開,不做任何額外變更。

使用 fdisk 建立 MBR 分割區
註記: 另外一種工具 cfdisk 的操作介面與 cgdisk 類似,但目前它無法正確自動對齊第一個分割區。因此我們在這裡使用經典的 fdisk 工具。

啟動 fdisk

# fdisk /dev/sda

建立分割表:

  • Command (m for help): 輸入 o 並按 Enter

接著建立第一個分割區:

  1. Command (m for help): 輸入 n 並按 Enter
  2. 分割區類型:Select (default p):Enter
  3. Partition number (1-4, default 1):Enter
  4. First sector (2048-209715199, default 2048):Enter
  5. Last sector, +sectors or +size{K,M,G} (2048-209715199....., default 209715199): 輸入 +15G 並按 Enter

接著建立第二個分割區:

  1. Command (m for help): 輸入 n 並按 Enter
  2. 分割區類型:Select (default p):Enter
  3. Partition number (1-4, default 2):Enter
  4. First sector (31459328-209715199, default 31459328):Enter
  5. Last sector, +sectors or +size{K,M,G} (31459328-209715199....., default 209715199):Enter

現在預覽新的分割表:

  • Command (m for help): 輸入 p 並按 Enter
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5698d902

   Device Boot     Start         End     Blocks   Id  System
/dev/sda1           2048    31459327   15728640   83   Linux
/dev/sda2       31459328   209715199   89127936   83   Linux

接著將變更寫入硬碟:

  • Command (m for help): 輸入 w 並按 Enter

若一切順利,fdisk 將會顯示以下訊息並退出:

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks. 

碰到 fdisk 遭遇錯誤而無法工作的狀況時,您可以使用 q 指令離開。

建立檔案系統

只有作硬碟分割是不夠的;它們還需要一個檔案系統。將分割區格式化為 ext4 檔案系統:

警告: 再三檢查要格式化的分割區是否為 /dev/sda1/dev/sda2。您可以使用 lsblk 幫助判斷。
# mkfs.ext4 /dev/sda1
# mkfs.ext4 /dev/sda2

若您有分割區要以 swap (代碼 82) 使用,別忘了將它格式化後啟用:

# mkswap /dev/sdaX
# swapon /dev/sdaX

UEFI 開機者應將 EFI 系統分割區 (通常為 sda1) 格式化為:

# mkfs.vfat -F32 /dev/sda1

掛載分割區

每個分割區都有一個分別用的數字後綴。舉例來說,sda1 代表硬碟的第一個分割區,至於 sda 則代表整顆硬碟。

顯示目前的分割區配置:

# lsblk /dev/sda
註記: 不要在同一個目錄掛載兩個以上的分割區。另外,掛載的順序十分重要,請保持謹慎。

首先,在 /mnt 掛載根目錄的分割區。這裡將沿用上面的範例 (根據您的配置可能有所不同):

# mount /dev/sda1 /mnt

接著將 home 以及其他的分割區 (/boot, /var 等等) 一起掛載上來:

# mkdir /mnt/home
# mount /dev/sda2 /mnt/home

UEFI 主機版的使用者,請掛載 UEFI 分割區:

# mkdir -p /mnt/boot
# mount /dev/sdaX /mnt/boot

選擇鏡像站

安裝之前先編輯 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
...
  • Alt+6 複製 Server 行。
  • PageUp 鍵向上捲動。
  • Ctrl+U 貼在清單最頂端。
  • Ctrl+X 離開,當提示儲存變更時按 YEnter,以相同的檔名儲存。

您可以將選擇的鏡像站設定為唯一可用的鏡像站,把其他鏡像站去除 (使用 Ctrl+K),但建議保留其他兩、三個站點,以防第一個站點突然離線而無法使用。

提示:
  • 使用鏡像站清單產生器獲取您所在國家的最新鏡像站清單。HTTP 鏡像站因為其持久連接 (keepalive) 的特性而比 FTP 鏡像站快速。在 FTP 協定下,Pacman 每下載一個軟體包就需要送一次訊號,導致短暫停頓。其他產生鏡像站清單的方式請參閱分類鏡像站點Reflector
  • Arch Linux 鏡像站狀態報告列出了鏡像站點的各種相關資料,如網路問題、資料收集問題、上一次同步時間等等。
註記:
  • 之後每當您更改了鏡像站的清單,別忘了使用 pacman -Syy 讓 Pacman 強制重整軟體包清單。這個好習慣可以避掉一些無端困擾。更多資訊請參閱鏡像站點
  • 若您使用的安裝媒體版本較舊,裡面的鏡像站清單可能已經過期,更新 Arch Linux 時可能會導致問題 (詳見 FS#22510)。建議如上面所述,趕快取得最新的鏡像站資訊。
  • Arch Linux 論壇上出現了阻擋 Pacman 更新/與軟體倉庫同步的網路問題回報 (詳見 [1] 以及 [2])。若您是原生安裝 Arch Linux,用其他替代品取代 Pacman 預設的檔案下載程式可以解決問題 (更多資訊請參閱增進 Pacman 表現)。若您在 VirtualBox 上安裝 Arch Linux 為客體 OS,在機器屬性內使用 「主機介面」(Host Interface) 取代「NAT」也可以解決問題。

安裝基礎系統

使用 pacstrap 腳本安裝基礎系統。

若您想直接安裝 base 群組內所有軟體包,可將 -i 省略以跳過提示。

# pacstrap -i /mnt base
註記:
  • 如果 Pacman 在驗證軟體包時失敗,請使用 cal 檢查系統時間。假如系統時間無效 (如老早之前的 2010 年),簽署金鑰會被認定為過期 (或無效),軟體包的簽署檢查失敗,安裝程序就會被中斷。請確保系統時間是否正確 (可以手動調整或是用 ntp 校正),再重新執行 pacstrap 指令。更多校正系統時間的資訊請參閱時間頁面。
  • 若 Pacman 抱怨 error: failed to commit transaction (invalid or corrupted package),請執行下面的指令:
# pacman-key --init && pacman-key --populate archlinux

這樣就完成一個基本的 Arch 系統了。其他軟體包之後可以使用 Pacman 安裝。

產生 fstab

用以下指令產生 fstab 檔案。我們將使用 UUID,因為它有一定的優點 (請參閱 fstab#偵測檔案系統)。若您想改用磁碟標籤,將 -U 選項改為 -L

# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab
警告: fstab 檔案在產生之後一定要檢查。若執行 genfstab 或之後的安裝過程中遇到任何錯誤,不要再執行一次 genfstab;直接編輯 fstab 檔案即可。

另外一些考量如下:

  • 最後一個欄位決定了系統啟動時檢查分割區的順序:1 給需要最先檢查的 (非 btrfs) 根目錄分割區;2 則給其他在啟動時要檢查的分割區;0 代表「不檢查」(參閱 fstab#欄位定義)。
  • 所有 btrfs 分割區的該欄位應該填 0。正常情況下,您也會希望自己的置換 (swap) 分割區填 0

Chroot 並設定基礎系統

註記: 如果您打算以 EFI 模式重新啟動 Arch,請參閱 UEFI 主機板一節,在 chroot 之前有些事情必須先打理好。這是為了確保開機載入程式或管理程式能在 chroot 環境下設定正確。

接下來,我們 chroot 進入全新安裝的系統:

# arch-chroot /mnt
註記: 使用 arch-chroot /mnt /bin/bash 將改用 Bash Shell 進入。

這個階段將為您的 Arch Linux 基礎系統設定主要的設置檔。若您想要改變預設值,可以編輯或建立 (若檔案不存在) 這些檔案。

為了確保系統設置正確,請遵循以下步驟,並盡可能其中用處。

本地化

glibc 與其他支援本地化的程式/函式庫會使用本地化設定,來渲染文字、顯示正確的地區貨幣、時間與日期格式、字母順序以及其他本地標準。

在這裡需要編輯兩個檔案:locale.genlocale.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
註記: 若您要將系統設定為英文(美國)以外的語言,照上面的範例改動語系:
# echo LANG=zh_TW.UTF-8 > /etc/locale.conf
# export LANG=zh_TW.UTF-8

若要設定其他 LC_* 變數為其他語系,執行 locale 檢查可用選項後,將它們加入 locale.conf。我們不建議設定 LC_ALL 變數。更進階的範例請參閱這裡

終端機字型與鍵盤布局

若您在安裝過程的一開始設定過鍵盤布局的話,由於我們已經換到新安裝的系統環境,請現在再載入一遍。例如:

# loadkeys us
# setfont Lat2-Terminus16

編輯 vconsole.conf 使設定在重啟系統後依然生效:

# nano /etc/vconsole.conf
KEYMAP=us
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 (建議使用)
註記: 硬體時鐘使用 UTC,不代表軟體會以 UTC 的方式顯示時間。
# hwclock --systohc --utc

若要透過網路同步您的「UTC」時間,請參閱 NTPd

  • localtime (不建議;Windows 預設使用)
警告: 使用 localtime 可能引發數個已知且無法修復的臭蟲。但目前沒有放棄 localtime 支援的計劃。
# hwclock --systohc --localtime

若您有 (或打算建立) Linux 與 Windows 的雙重開機系統:

  • 建議:將 Arch Linux 和 Windows 設定為使用 UTC。Windows 需要加入一個修正註冊碼。另外確保停用 Windows 的線上同步時間功能,否則硬體時鐘又會回復成 localtime 的預設值。
  • 不建議:將 Arch Linux 設定為 localtime,並取消任何時間服務如 NTPd。硬體時鐘將交由 Windows 處理,若您的所在地區有實施日光節約時間,要記得每年最少要啟動 Windows 兩次 (春季與秋季)。要是長久未打開 Windows,Arch 可能會出現比實際時間少/多一個小時的狀況,這已經成為 Arch 論壇的老問題了。

核心模組

提示: 這裡僅做示例,您不需要作任何設定。所有需要的模組都會自動被 udev 載入,只有在少數情況下才需要加東西。只需加入據您所知缺漏的模組即可。

若要在開機時載入核心模組,在 /etc/modules-load.d/ 底下放入 *.conf 檔案,檔名以模組名稱命名。

# nano /etc/modules-load.d/virtio-net.conf
# 開機時載入 'virtio-net.ko'

virtio-net

*.conf 內包含多個模組,一行只能寫一個模組名稱。這裡有個良好的範例可供參考:VirtualBox Guest Additions

空行、以 #; 開頭的行將會被忽略。

域名

域名設定成您喜歡的名字 (例如 arch):

# echo arch > /etc/hostname
註記: 您不需要編輯 /etc/hosts

設定網路

現在,您需要為全新安裝的環境再設定一次網路。步驟與要求跟上面十分類似,不同的是我們要將網路連線設定為開機時自動執行。

註記:
  • 更多深入的網路設定資訊請參閱設定網路無線網路設定
  • 若您要使用舊的介面命名模式 (如 eth* 和 wlan*),在 /etc/udev/rules.d/80-net-name-slot.rules 建立一個空白檔案,將會遮蓋 /usr/lib/udev/rules.d 底下相同名稱的檔案 (或者不使用空白檔案,建立指向 /dev/null 的軟連結也是可接受的遮蓋方式)

有線網路

動態 IP
使用 dhcpcd

若您只有使用單一固定的有線網路,並不需要一個專門的網路管理服務,只要啟用 dhcpcd 服務即可

# systemctl enable dhcpcd.service
註記: 若無法作用,使用:# systemctl enable dhcpcd@介面名稱.service
使用 netctl

/etc/netctl/examples 複製一份樣本設定檔到 /etc/netctl

# cd /etc/netctl
# cp examples/ethernet-dhcp my-network

根據需求編輯設定檔 (將 Interface 原本填的 eth0 更新為網路配接器的 ID,可執行 ip link 查詢):

# nano my-network

啟用 my-network 設定檔:

# netctl enable my-network
使用 netctl-ifplugd
警告: 在明確啟用設定檔 (如 netctl enable <設定檔>) 的同時不能使用這個方式。

或者您也可以使用 netctl-ifplugd,可以有效處理新網路的動態連線:

安裝 ifplugd (netctl-ifplugd 軟體包需要):

# pacman -S ifplugd

接著啟用您需要的介面:

# systemctl enable netctl-ifplugd@<介面>.service
提示: Netctl 也提供 netctl-auto,可和 netctl-ifplugd 配合一同處理有線網路連線設定檔。
固定 IP
使用 netctl

/etc/netctl/examples 複製一份樣本設定檔至 /etc/netctl

# cd /etc/netctl
# cp examples/ethernet-static my-network

依需求編輯設定檔 (修改 InterfaceAddressGatewayDNS):

# nano my-network
  • 注意 Address 下的 /24 代表 CIDR 表示法:表示 255.255.255.0 子網路遮罩

啟用上面建立的設定檔,在每次開機時開始使用:

# netctl enable my-network

無線網路

註記: 若您的無線網路配接器需要韌體 (如上面所述的啟用網路連線小節,以及這裡),請安裝包含該韌體的軟體包。大多時候 linux-firmware 軟體包會包含需要的韌體。但對某些裝置而言,需要的韌體會落在自己的軟體包內。例如:
# pacman -S zd1211-firmware
更多資訊請參閱設定無線網路#安裝驅動/韌體

安裝連上無線網路所需的 iwwpa_supplicant

# pacman -S iw wpa_supplicant
新增無線網路
使用 wifi-menu

安裝 dialog (wifi-menu 軟體包需要):

# pacman -S dialog

完成剩餘的安裝步驟後重啟系統,就可以使用 wifi-menu 介面名稱 連上網路 (介面名稱代表您的無線網路晶片組的介面)。

# wifi-menu 介面名稱
警告: 若您已經離開 chroot 環境,必須在重啟系統之後才能進行本操作。本指令產生的程序將和 chroot 環境外執行的網路程序相牴觸。要不然您可以使用之前提到的模板,只手動調整網路設定檔,就完全不須擔心使用 wifi-menu 的問題。
使用手動 netctl 設定檔

/etc/netctl/examples 複製一份網路設定檔至 /etc/netctl

# cd /etc/netctl
# cp examples/wireless-wpa my-network

依需求編輯設定檔 (修改 InterfaceESSIDKey):

# nano my-network

啟用上面建立的設定檔,在每次開機時開始使用:

# netctl enable my-network
自動連上已知網路
警告: 在明確啟用設定檔 (如 netctl enable <設定檔>) 的同時不能使用這個方式。

安裝 wpa_actiond (netctl-auto 軟體包需要):

# pacman -S wpa_actiond

啟用 netctl-auto 服務,連上已知的網路並有效處理漫遊與斷線問題:

# systemctl enable netctl-auto@介面名稱.service
提示: Netctl 也提供 netctl-ifplugd,可和 netctl-auto 配合一同處理有線網路連線設定檔。

類比式數據機、ISDN 或 PPPoE DSL

xDSL、撥接與 ISDN 連線請參閱以數據機直接連線

建立初始 ramdisk 環境

提示: 多數使用者可以跳過此步,使用 mkinitcpio.conf 所提供的預設值。之前在使用 pacstrap 安裝 linux 軟體包 (Linux 核心) 時,就已經根據 mkinitcpio.conf 產生 initramfs 映像 (在 /boot 資料夾下 )。

若您將系統的根目錄安裝在 USB 碟,或是使用了 RAID/LVM,還是將 /usr 放在額外的分割區內,都需要設定好正確的鉤子

根據您的需求編輯 /etc/mkinitcpio.conf,並重新產生 initramfs 映像:

# mkinitcpio -p linux
註記: Arch 在 QEMU 上的 VPS 安裝 (如,使用 virt-manager),可能需要 mkinitcpio.conf 內的 virtio 模組,才能啟動系統。
# nano /etc/mkinitcpio.conf
MODULES="virtio virtio_blk virtio_pci virtio_net"

設定 root 密碼

設定 root 密碼:

# passwd

安裝並設定開機載入程式

BIOS 主機板

BIOS 系統可以使用兩種開機載入程式:Syslinux 與 GRUB。請選擇對您而言最方便的一套。

  • Syslinux (目前) 限制只能從安裝系統的分割區內載入檔案。設定檔比較淺顯易懂。這裡有一份範例設定檔可供參考。
  • GRUB 的功能較為豐富,且支援更複雜的系統狀況。設定檔與腳本語言接近,對新手而言較難以手動編寫。建議自動產生一份設定檔。
Syslinux
註記: 若您之前為硬碟選擇使用 GUID 分割表 (GPT),若尚未安裝 gptfdisk 軟體包,現在請安裝以便進行下個步驟。

安裝 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 rw
        ...

更多設定、使用 Syslinux 的資訊請參閱 Syslinux

GRUB

安裝 grub 軟體包並執行 grub-install 來安裝開機載入程式:

註記:
  • /dev/sda 更改為安裝 Arch 的硬碟。不要加上分割區編號 (不要使用 sdaX)。
  • 若您使用 BIOS 主機板搭配以 GPT 分割的硬碟,您將需要一塊「BIOS 開機分割區」。請參閱 GRUB 頁面的 GPT 特定步驟安裝至 GPT BIOS 開機分割區
# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sda

grub.cfg 雖然可以手動建立,但建議新手以自動的方式產生一份:

提示: 若要自動搜尋電腦上安裝的其他作業系統,請在執行以下指令前先安裝 os-prober (pacman -S os-prober)。
# grub-mkconfig -o /boot/grub/grub.cfg

更多設定、使用 GRUB 的資訊請參閱 GRUB

UEFI 主機板

UEFI 系統下有數個可用選項。完整的選項清單請參閱 UEFI 開機載入程式。您會發現某些選項可能有用,或可能沒用。依您的方便選擇一項即可。在這裡,我們舉出兩項方案作為例子:

  • 使用 EFISTUB 直接啟動 Linux 核心。
  • gummiboot 是一套簡單的開機管理員,對雙重開機系統而言特別好用。rEFInd 是另外一套替代品。
  • GRUB 是個更為完整的開機載入程式,當上面兩個選項有問題時就用這個。
註記: 要以 UEFI 開機,硬碟需要以 GPT 方式分割,且必須要有 UEFI 系統分割區 (512 MiB 或更大、類型 EF00、格式化為 FAT32)。以下的範例中,該分割區必須掛載為 /boot。若您有從頭照著教學一步一步作,應該已經將這些步驟做完了。
EFISTUB

安裝 efibootmgr 軟體包,接著加入 Arch Linux 開機項目,將 /dev/sdaX 改為您的根目錄分割區,通常為 /dev/sda2

註記: 有必要的話,以下指令應該要在進入 chroot 環境「前」執行。
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
註記: 有必要的話,以下指令應該要在進入 chroot 環境「後」執行。
# pacman -S efibootmgr 
# efibootmgr -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sdaX rw initrd=/initramfs-linux.img"

您可能需要加上 -d /dev/sdX -p Y 選項;X 代表 /boot 所在之裝置字母、Y 代表 /boot 分割區號碼;通常為 -d /dev/sda -p 1

Gummiboot

安裝 gummiboot 軟體包並執行 gummiboot install 安裝開機管理員:

註記: 有必要的話,以下指令應該要在進入 chroot 環境「前」執行。
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivarfs
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
註記: 有必要的話,以下指令應該要在進入 chroot 環境「後」執行。
# pacman -S gummiboot
# gummiboot install
警告: 在 gummiboot 安裝期間,您可能會看到一個錯誤訊息,因為該臭蟲的原因無法將自己加入 NVRAM。若您得到此錯誤訊息,手動使用 efibootmgr 將 gummiboot 加入 NVRAM:
註記: 有必要的話,以下指令應該要在進入 chroot 環境「前」執行。
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
註記: 有必要的話,以下指令應該要在進入 chroot 環境「後」執行。
# efibootmgr -c -L "Gummiboot" -l /EFI/gummiboot/gummibootx64.efi

您將必須手動建立設定檔案,將 Arch Linux 項目加入 gummiboot 管理員。建立 /boot/loader/entries/arch.conf 並新增以下內容,將 /dev/sdaX 改成您的根分割區,通常為 /dev/sda2

# nano /boot/loader/entries/arch.conf
title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=/dev/sdaX rw

更多設定、使用 gummiboot 的資訊請參閱 gummiboot

GRUB

安裝 grubefibootmgr 軟體包,接著執行 grub-install 安裝開機載入程式:

註記: 有必要的話,以下指令應該要在進入 chroot 環境「前」執行。
# umount /sys/firmware/efi/efivars
# modprobe -r efivars
# modprobe efivars
註記: 有必要的話,以下指令應該要在進入 chroot 環境「後」執行。
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck

grub.cfg 雖然可以手動建立,但建議新手以自動的方式產生一份:

提示: 若要自動搜尋電腦上安裝的其他作業系統,請在執行以下指令前先安裝 os-prober (pacman -S os-prober)。
# grub-mkconfig -o /boot/grub/grub.cfg

更多設定、使用 GRUB 的資訊請參閱 GRUB

卸載分割區並重啟系統

離開 chroot 環境:

# exit

使用以下的指令,將掛載在 /mnt 的分割區卸載下來:

# umount /mnt/{boot,home,}

重新啟動電腦:

# reboot
提示: 請確認是否已移除安裝媒體,以免開機後再度跑回安裝環境。


安裝完成後

現在,您全新的 Arch Linux 基本系統已經是可以工作的 GNU/Linux 環境了,剩下就有待您的巧手了。

使用者管理

根據使用者管理的說明新增任何 root 以外您需要的使用者帳號。以 root 帳號作為日常使用、或透過 SSH 連接伺服器都不是好的習慣。您應該只在進行管理任務時才使用 root 帳號。

軟體包管理

Pacman 是 Arch Linux 的「軟體包管理員」(package manager)。請參閱 PacmanFAQ#軟體包管理瞭解如何安裝、升級並管理軟體包。 由於 Arch 的設計哲學#正確的程式碼勝過一時的便利,隨著 Arch Linux 的改變,更新系統之前需手動介入的狀況是免不了的。隨時檢查首頁的 Arch 新聞,並訂閱 arch-announce 郵遞清單。您也可以訂閱這個 RSS 消息源,或是追蹤 Twitter 上的 @archlinux,都能對您有所幫助。

若您安裝了 Arch Linux x86_64 版本,且打算使用 32 位元的應用程式,或許會想啟用 [multilib] 倉庫

各個倉庫的用途詳情請參閱官方倉庫

服務管理

Arch Linux 使用 systemd 這套 Linux 下的系統服務管理程式來初始化系統。為了維護您的 Arch Linux,請稍微了解一下它的基本概念與操作。所有和 systemd 的互動都可由 systemctl 指令完成。更多資訊請詳閱 systemd#systemctl 基本用法

音效

ALSA 通常一裝完就可使用,通常只需要取消靜音即可。安裝 alsa-utils (已包含 alsamixer) 並依照這裡的指示進行。

ALSA 是核心的組件之一,建議使用。若無法使用,OSS 會是個不錯的替代品。若您有進階的音效需求,請參閱聲音系統

圖形使用者介面(Graphical User Interface)

安裝 X

X 視窗系統 (又稱之為 X11X) 是套網路與顯示通訊協定,提供了以點陣圖顯示的視窗功能,包含了建立「圖形使用介面」 (GUI) 的標準工具集和協定。

安裝 Xorg 基本軟體包:

# pacman -S xorg-server xorg-server-utils xorg-xinit

安裝 mesa (提供 3D 支援):

# pacman -S mesa

安裝影像驅動

註記: 若您是以 VirtualBox 安裝 Arch 為客體,就不需安裝影像驅動。請參閱 Arch Linux 客體了解安裝與設定「客體附屬工具」(Guest Additions),並跳到之後的設定部分。

Linux 核心包含了開源影像驅動,支援硬體加速幀緩衝。不過,X11 下 OpenGL 與 2D 加速皆需要使用者區的支援。

若您不曉得您的機器使用什麼顯示晶片組,請執行:

$ lspci | grep VGA

完整的開源影像驅動清單可從軟體包資料庫中搜尋:

$ pacman -Ss xf86-video | less

vesa 驅動是一般性的模式設定驅動,幾乎在所有 GPU 上都可以運作,但不提供任何 2D 或 3D 加速功能。若更好的驅動沒有找到或載入失敗,Xorg 會退而求其次使用 vesa。安裝 vesa:

# pacman -S xf86-video-vesa

為了讓影像加速可以運作,並使用 GPU 可設置的所有模式,您需要一個適當的影像驅動程式。請參閱 Xorg#驅動安裝中常見影像驅動表。

安裝輸入驅動程式

Udev 可以毫無問題地偵測您的硬體。evdev 驅動 (xf86-input-evdev) 是目前的熱插拔輸入驅動,幾乎適用於所有裝置,所以多數情況下您並不需要安裝輸入驅動。evdev 已因為 xorg-server 軟體包的相依性而被安裝好了。

筆記型電腦 (或觸控螢幕) 的使用者會需要 xf86-input-synaptics 軟體包,以讓觸控板/觸控螢幕作用:

# pacman -S xf86-input-synaptics

若需要微調觸控板,或是發生觸控板相關的錯誤,請參閱觸控板文章。

設定 X

警告: 專有驅動通常需要在安裝之後重啟系統。詳情請參閱 NVIDIAAMD Catalyst

Xorg 具備自動偵測,xorg.conf 已經不太需要。若您仍希望手動設定 X 伺服器,請參閱 Xorg wiki 頁面。

非標準美式鍵盤的使用者可能要設定鍵盤配置

註記: XkbLayout 的值可能和 loadkeys 指令使用的鍵碼不同。/usr/share/X11/xkb/rules/base.lst 下有許多鍵盤配置與其變種的清單 (在開頭為 ! layout 的行之後)。例如,gb 對應到「英文(英國)」,對終端機而言就是 loadkeys uk

測試 X

提示: 以下為選用步驟。若您是第一次安裝 Arch Linux,或是將 Arch 安裝在不熟悉的硬體上時,可以做個測試。
註記: 如果您的輸入裝置在測試中不起作用,請從 xorg-drivers 群組安裝需要的驅動後再試一遍。完整的可用輸入驅動清單可從呼叫 Pacman 搜尋得到 (按 Q 離開):
$ pacman -Ss xf86-input | less
若您不需要熱插拔功能,只需安裝 xf86-input-keyboardxf86-input-mouse,否則 (建議) 使用 evdev 做為輸入驅動。

安裝預設環境:

# pacman -S xorg-twm xorg-xclock xterm

若您在安裝 Xorg 前新增了非 root 的使用者帳號,該帳號的家目錄下會出現 .xinitrc 模版檔,必須將它刪除或註解掉。若選擇刪除,X 將以上述安裝的預設環境啟動。

$ rm ~/.xinitrc
註記: 當登入時,X 必須從同一台 tty 上執行,以保存 logind 階段。此由預設的 /etc/X11/xinit/xserverrc 控制。

執行下列指令,啟動 Xorg (測試) 階段:

$ startx

螢幕將出現幾個可移動的視窗,且您的滑鼠應該可以使用。如果您認為 X 執行的可圈可點、沒有問題,可以在 X 下的終端機輸入 exit 離開 X 環境,回到文字模式。

$ exit

若螢幕變成一片漆黑,可以試著切換到不同的虛擬終端機 (如 Ctrl+Alt+F2),並以 root 身分登入(鍵入「root」、按 Enter、打入密碼後再按 Enter 即可)。

您可以試著殺掉 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) 的基本架構。

註記: 如何選擇桌面環境 (DE) 或視窗管理員 (WM),是非常主觀的問題。根據您自己的需求選擇最好的環境。您也可以建置屬於自己的桌面環境:只需要一套視窗管理員加上自行選用的幾套軟體就夠了。
  • 視窗管理員 (WM) 會和 X 視窗系統一同控制程式視窗的位置與樣貌。
  • 桌面環境 (DE) 在 X 之上工作,與 X 一同提供完整功能的動態 GUI。一般的桌面環境會提供視窗管理員、圖示、小插件、視窗、工具列、資料夾、桌布、程式套組以及拖拉等功能。

除了手動用 startx (來自 xorg-xinit) 啟動 X 以外,請參閱顯示管理員了解登入管理員的使用方式,或是從登入時啟動 X 了解從既存的虛擬終端機啟動的方式。

附錄

好奇 Arch 下有什麼吸引人的應用程式嗎?請參考應用程式清單

安裝好 Arch 以後,也歡迎參考一般建議內的設定教學,像是如何設定觸控板、字型的渲染等等。