Installation guide (正體中文)
本文為 Arch Linux 安裝指南,將從使用官方安裝映像製作的安裝媒體開機,啟動 Live 系統進行安裝。安裝媒體提供無障礙協助工具,對此,使用無障礙輔助選項安裝 Arch Linux 頁面有詳細描述。關於其它的安裝方法, 請參閱安裝過程分類的其他頁面。
建議在安裝前閱讀常見問題。關於本文中使用的慣用術語,請參閱閱讀幫助。請將原始碼中斜體
的部分按實際情況替換成具體內容。
本指南力求簡潔,建議您遵循指示時,按照段落中的順序。有關更詳細的說明,請閱讀本指南內相應的 ArchWiki 文章或各類程式的手冊。若需要互動式說明,可以使用 IRC 頻道和論壇。
Arch Linux 能在記憶體最少 512 MiB 的 x86_64 機器上運作,但從安裝媒體啟動系統並成功安裝需要更多的記憶體。[1] 基本安裝將佔用小於 2 GiB 的儲存空間。由於安裝過程中需要從遠端儲存庫取得軟體包,電腦需要可用的網際網路連線。
安裝前的準備
取得安裝映像
前往下載頁面,並根據需要的開機方式,取得 ISO 檔或 netboot 映像以及對應的 GnuPG 簽名。
驗證簽名
建議使用前先驗證映像的簽名,特別是從 HTTP 鏡像下載的映像,因為 HTTP 連線一般來說容易遭到攔截而提供惡意鏡像。
在一台已經安裝 GnuPG 的系統上,可透過下載 ISO PGP 簽名 (在下載頁面的 Checksums 下方) 到 ISO 檔所在的路徑,然後用以下方式驗證簽名:
$ gpg --keyserver-options auto-key-retrieve --verify archlinux-version-x86_64.iso.sig
另外,在一台已經安裝 Arch Linux 的電腦上可以透過以下方式驗證:
$ pacman-key -v archlinux-version-x86_64.iso.sig
- 如果安裝映像是從鏡像網站下載,而不是從 archlinux.org 下載的話,簽名是可以被偽造的。在這種情況下,請確認用來解碼簽名的公開金鑰已經過另一個可信任的金鑰簽署。
gpg
命令將會輸出公開金鑰的指紋。 - 另一種驗證簽名的方法,是確認公開金鑰的指紋,等於其中一位簽署了 ISO 檔 Arch Linux 開發者的指紋。關於公開金鑰加密的詳細資訊,請參閱維基百科。
準備安裝媒體
ISO 可以透過 USB 隨身碟、光碟和支援 PXE 的網路提供給目標機器:請按照合適的文章,使用所選 ISO 準備安裝媒體。
要使用 netboot 映像,請遵循 Netboot#Boot from a USB flash drive,準備用來 UEFI 開機的 USB 隨身碟。
啟動 Live 環境
- 選擇從有 Arch 安裝檔的媒體啟動,通常,需要在電腦開機自檢時按下某個按鍵,通常在啟動畫面會有提示。具體情況請參考主機板說明書。
- 當啟動程式 (boot loader) 選單出現時,
- 如果使用 ISO,選擇 Arch Linux install medium 並按下
Enter
進入安裝環境。 - 如果使用 Netboot 映像,在 Mirror 選單選擇地理上離您較近的鏡像,再選擇 Boot Arch Linux 並按下
Enter
。提示:- ISO 在 UEFI 模式下使用 systemd-boot 啟動,在 BIOS 模式下使用 syslinux 啟動。請分別以
e
或Tab
鍵輸入啟動參數。Netboot 映像使用 iPXE,啟動參數可於 Boot options 選單中設定。關於啟動參數,請參閱 README.bootparams 列表。 - 手動定義啟動參數,常見的例子是字體大小。使用
fbcon=font:TER16x32
有助於在 HiDPI 螢幕尚未被辨識時,讓文字變得更容易閱讀。詳細請參閱 HiDPI#Linux console (tty)。
- ISO 在 UEFI 模式下使用 systemd-boot 啟動,在 BIOS 模式下使用 syslinux 啟動。請分別以
- 如果使用 ISO,選擇 Arch Linux install medium 並按下
- 您將會以 root 身份登入初始的虛擬控制台,預設的 Shell 是 Zsh。
如果想一邊安裝,一邊使用 Lynx 查看本指南,可以使用 Alt+箭頭
快速鍵切換不同的控制台。要編輯設定檔,可以使用 mcedit(1)、nano 和 vim。關於安裝媒體中包含的軟體包列表,請參閱 packages.x86_64。
設定控制台鍵盤配置及字體
預設鍵盤配置為 us
(美式鍵盤配置)。要列出所有可用的鍵盤配置,可以使用:
# localectl list-keymaps
要更改鍵盤配置,將對應名稱傳入 loadkeys(1)。例如,要設定德語鍵盤配置:
# loadkeys de-latin1
控制台字體 位於 /usr/share/kbd/consolefonts/
,可使用 setfont(8) 設定,設定時請省略路徑及副檔名。例如,要選擇適用於 HiDPI 螢幕 的最大字體,請執行:
# setfont ter-132b
驗證開機模式
要驗證開機模式,請檢查 UEFI 位元 (bitness):
# cat /sys/firmware/efi/fw_platform_size
如果命令回傳 64
,則系統以 UEFI 模式啟動,且為 64 位元 x64 UEFI。如果命令回傳 32
,則系統以 UEFI 模式啟動,且為 32 位元 IA32 UEFI;雖然 Arch 安裝支援此模式,但是啟動程序載入程式的選擇將會受限,只能使用 systemd-boot 或 GRUB。如果此檔案不存在,系統可能是以 BIOS (或 CSM) 模式啟動。如果系統並未按照您希望的模式啟動 (UEFI 或 BIOS),請參閱主機板說明書。
連線網際網路
要在 Live 環境中設定網路連線,請遵循以下步驟:
- 確認系統已經啟用了網路介面,用 ip-link(8) 檢查:
# ip link
- 無線網路(Wi-Fi)和廣域無線網路(WWAN),請確認網卡未被 rfkill 停用。
- 設定網路連線:
- DHCP:有線乙太網路、無線區域網路 (WLAN) 和 WWAN 網路介面,動態 IP 位址和 DNS 伺服器分配(由 systemd-networkd 和 systemd-resolved 提供機能)能夠隨開即用。
- 靜態 IP 位址:按照靜態 IP 位址進行操作。
- 用 ping 檢查網路連線:
# ping archlinux.org
更新系統時間
systemd-timesyncd 在 Live 系統已預設啟用,網路連線建立後,會立即自動同步時間。
使用 timedatectl(1) 確認系統時間已同步:
# timedatectl
分割磁碟
系統如果辨識到磁碟,就會將其分配為一個區塊裝置,如 /dev/sda
、/dev/nvme0n1
或 /dev/mmcblk0
。可以使用 lsblk 或者 fdisk 查看:
# fdisk -l
結果中以 rom
、loop
、airootfs
結尾的裝置可以忽略;以 rpbm
、boot0
、boot1
結尾的 mmcblk*
裝置可以忽略。
選定的設備必須要有以下分割:
- 一個掛接在 根目錄
/
的分割。 - 要在 UEFI 模式中啟動,還需要一個 EFI 系統磁碟分割。
請使用分割工具如 fdisk 修改分割表。例如:
# fdisk /dev/the_disk_to_be_partitioned
- 慢慢思考能長期使用的分割計畫,避免日後需要進行危險又複雜的轉換或重新分割。
- 如果想要建立堆疊式區塊裝置 (stacked block device),例如 LVM、disk encryption 或 RAID,請在此時完成。
- 如果要啟動的磁碟已經有 EFI 系統分割,不要新增 EFI 分區,請使用現有的分區。
- 如果檔案系統支援,可以用 交換檔 (swap file) 設立交換空間 (Swap)。或者,也可以在系統安裝完畢後,透過在 zram 上設立交換空間,完全避免使用磁碟交換空間。
分割示例
在安裝後系統的掛接點 | 分割 | 分割類型 | 建議大小 |
---|---|---|---|
/mnt/boot 1
|
/dev/efi_system_partition
|
EFI 系統分割 | 1 GiB |
[SWAP]
|
/dev/swap_partition
|
Linux swap (交換空間) | 至少 4 GiB |
/mnt
|
/dev/root_partition
|
Linux x86-64 根目錄 (/) | 裝置的剩餘空間,至少 23-32 GiB |
在安裝後系統的掛接點 | 分割 | 分割類型 | 建議大小 |
---|---|---|---|
[SWAP]
|
/dev/swap_partition
|
Linux swap (交換空間) | 至少 4 GiB |
/mnt
|
/dev/root_partition
|
Linux | 裝置的剩餘空間,至少 23-32 GiB |
另請參閱 分割示例。
格式化分割
建立分割後,必須使用適當的檔案系統格式化每個新建立的分割。詳情請參閱檔案系統#建立檔案系統。
例如,要在根分割 /dev/root_partition
上建立 Ext4 檔案系統,請執行:
# mkfs.ext4 /dev/root_partition
如果建立了交換空間,請使用 mkswap(8) 將其初始化:
# mkswap /dev/swap_partition
/dev/*_partition
處。如果你要建立一個 EFI 系統分割,使用 mkfs.fat(8) 將其格式化為 Fat32。
# mkfs.fat -F 32 /dev/efi_system_partition
掛接分割
將根磁碟區掛接到 /mnt
。例如根磁碟區為 /dev/root_partition
時,執行:
# mount /dev/root_partition /mnt
建立其他剩餘的掛接點 (例如建立 /boot
以掛接 /mnt/boot
) 並按對應的檔案系統階層依序掛接磁碟區。
對 UEFI 系統掛接 EFI 系統分割:
# mount --mkdir /dev/efi_system_partition /mnt/boot
如果建立了交換空間磁碟區,請執行 swapon(8) 以啟用:
# swapon /dev/swap_partition
稍後, genfstab(8) 將自動偵測掛接的檔案系統和交換空間。
安裝
選擇鏡像
軟體包必須從鏡像伺服器下載,/etc/pacman.d/mirrorlist
定義了軟體包會從哪個伺服器下載。在 LiveCD 啟動的系統上,在連線到網際網路後,reflector 會選擇 20 個最新同步的 HTTPS 鏡像,並按下載速率排序,以更新鏡像列表。
在列表中排序越前面的鏡像,在下載軟體包時有越高的優先權。可以檢查一下列表,看看是否滿意。如果不滿意,可以修改 /etc/pacman.d/mirrorlist
,並將地理位置最近 (同時也應該考慮一些其他標準) 的鏡像移動到列表頂端。
這個檔案接下來還會被 pacstrap 複製到新系統裡,所以請確認設定正確。
安裝必要的軟體包
/etc/pacman.d/mirrorlist
之外) 。使用 pacstrap(8) 腳本安裝 base 軟體包、Linux 核心,以及常見硬體的韌體:
# pacstrap /mnt base linux linux-firmware
base 軟體包並沒有包含 Live 環境中的全部程式。因此要獲得一個功能齊全的基本系統,可能需要安裝其他軟體包。要安裝軟體包或軟體包群組,將軟體包名稱以空格分隔,附加在前述 pacstrap 命令之後,或者,chroot 到新系統,再使用 pacman 安裝。具體來說,請考慮安裝:
- CPU 微程式 (microcode) 更新:amd-ucode 或 intel-ucode,以修補硬體和安全性漏洞;
- 管理檔案系統的使用者空間工具,用途如建立檔案系統和 fsck;
- 如需使用 RAID 或 LVM ,請安裝對應的存取管理工具;
- 未包含在 linux-firmware 中的額外韌體 (如用於音效卡的 sof-firmware、用於 Marvell 無線網路的 linux-firmware-marvell、用於 Broadcom 無線網路的多個韌體套裝);
- 連線上網所需要的程式,例如 NetworkManager 或獨立的 DHCP 用戶端、Wi-Fi 驗證軟體、行動寬頻數據機管理工具;
- 控制台文字編輯器(如:nano、vim 等),用來在控制台編輯設定檔;
- 存取 man 和 info 頁面的工具:man-db、man-pages、 texinfo。
packages.x86_64 中可以看到 Live 系統內不同軟體包或軟體包群組間的差異。
配置系統
Fstab
使用以下命令產生 fstab 檔案 (使用 -U
選項以 UUID 定義 fstab;或使用 -L
選項以磁碟標籤定義 fstab):
# genfstab -U /mnt >> /mnt/etc/fstab
強烈建議在執行完以上命令後,檢查產生的 /mnt/etc/fstab
檔案是否正確,有錯誤請進行編輯。
Chroot
切換根目錄到新安裝的系統:
# arch-chroot /mnt
時區
設定時區:
# ln -sf /usr/share/zoneinfo/Region(地區名)/City(城市名) /etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
然後執行 hwclock(8) 產生 /etc/adjtime
:
# hwclock --systohc
這個命令假定硬體時間已設定為 UTC 時間。詳細資訊請查看 System time#Time standard。
為避免時間偏移,並確保時間準確,請使用網路時間協定 (NTP) 用戶端 (如 systemd-timesyncd) 同步時間。
語系在地化
編輯 /etc/locale.gen
,然後取消掉 en_US.UTF-8 UTF-8
和其他需要的 UTF-8 地區設定 (locale) 前的註解(#
)。
接著執行 locale-gen
以產生 locale:
# locale-gen
然後建立 locale.conf(5) 檔案,並 設定對應的 LANG 變數,例如:
/etc/locale.conf
LANG=en_US.UTF-8
另外對於中文使用者:
- 使用者可以設定自己的 locale,詳情請參閱 覆蓋使用者工作階段的系統地區設定 ;
- 將系統 locale 設定為
en_US.UTF-8
,系統的 log 就會用英文顯示,這樣更容易判斷和處理問題;- 也可以設定為
en_GB.UTF-8
或en_SG.UTF-8
,附帶以下優點:- 進入桌面環境後以 24 小時制顯示時間;
- LibreOffice 等辦公軟體的紙張尺寸會預設為
A4
而非Letter(US)
; - 可儘量避免不必要且可能造成處理麻煩的英制單位。
- 設置的 LANG 變數需與 locale 設置一致,否則會出現以下錯誤:
Cannot set LC_CTYPE to default locale: No such file or directory
- 也可以設定為
如果需要修改 控制台鍵盤配置,可編輯 vconsole.conf(5) 使其長期生效,例如:
/etc/vconsole.conf
KEYMAP=de-latin1
網路設定
/etc/hostname
主機名稱
接著請完成新環境的網路設定,設定過程中可能需要安裝合適的網路管理軟體,並啟用 systemd 單位,使其能在開機時啟動。
Initramfs
通常不需要自己建立新的 initramfs,因為在 pacstrap 安裝核心時,mkinitcpio 已經執行過了。
對於 LVM、 系統加密 或 RAID 等設定,請修改 mkinitcpio.conf(5) 並用以下命令重新建立 initramfs 映像:
# mkinitcpio -P
Root 密碼
設定 Root 密碼:
# passwd
啟動程序載入程式
請選擇並安裝 Linux 可用的啟動程序載入程式。
重新啟動
輸入 exit
或按下 Ctrl+D
離開 chroot 環境。
也可以使用 umount -R /mnt
手動卸除所有磁碟分割,這樣做能夠注意到任何「忙碌」的磁碟分割,然後使用 fuser(1) 尋找原因。
最後,輸入 reboot
重新啟動,任何掛接中的磁碟分割都會被 systemd 自動卸除。請記得移除安裝媒體,再用 root 帳號登入新系統。
安裝後
請參閱一般建議,獲得關於系統管理的建議,還有一些安裝後事項的指引 (例如:建立無權限使用者帳號、設定使用者圖形介面、音訊或觸控板)。
應用程式清單列出了一些您可能會有興趣的應用程式。