Installation guide (正體中文)

From ArchWiki
翻譯狀態:本文章是 Installation guide 的翻譯版本。最近一次的翻譯時間:2024-12-28。點擊本連結查看英文頁面之後的變更。

本文為 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 Linux 安裝映像不支援安全開機(Secure Boot)。要啟動安裝媒體,請先停用安全開機。如有需要,可在完成安裝後重新設定安全開機
  1. 選擇從有 Arch 安裝檔的媒體啟動,通常,需要在電腦開機自檢時按下某個按鍵,通常在啟動畫面會有提示。具體情況請參考主機板說明書。
  2. 當啟動程式 (boot loader) 選單出現時,
    • 如果使用 ISO,選擇 Arch Linux install medium 並按下 Enter 進入安裝環境。
    • 如果使用 Netboot 映像,在 Mirror 選單選擇地理上離您較近的鏡像,再選擇 Boot Arch Linux 並按下 Enter
      提示:
      • ISO 在 UEFI 模式下使用 systemd-boot 啟動,在 BIOS 模式下使用 syslinux 啟動。請分別以 eTab 鍵輸入啟動參數。Netboot 映像使用 iPXE,啟動參數可於 Boot options 選單中設定。關於啟動參數,請參閱 README.bootparams 列表。
      • 手動定義啟動參數,常見的例子是字體大小。使用 fbcon=font:TER16x32 有助於在 HiDPI 螢幕尚未被辨識時,讓文字變得更容易閱讀。詳細請參閱 HiDPI#Linux console (tty)
  3. 您將會以 root 身份登入初始的虛擬控制台,預設的 Shell 是 Zsh

如果想一邊安裝,一邊使用 Lynx 查看本指南,可以使用 Alt+箭頭快速鍵切換不同的控制台。要編輯設定檔,可以使用 mcedit(1)nanovim。關於安裝媒體中包含的軟體包列表,請參閱 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 環境中設定網路連線,請遵循以下步驟:

  • 無線網路(Wi-Fi)和廣域無線網路(WWAN),請確認網卡未被 rfkill 停用。
  • 連接網路:
    • 有線乙太網路 —— 連接網線路。
    • Wi-Fi —— 使用 iwctl 進行無線網路驗證。
    • 行動寬頻數據機 (行動網卡) —— 使用 mmcli 工具連線行動網路。
  • 設定網路連線:
  • ping 檢查網路連線:
    # ping archlinux.org
注意: 預設情況下,安裝映像已預先設定好並啟用了 systemd-networkdsystemd-resolvediwdModemManager。但安裝好的系統並非如此。

更新系統時間

systemd-timesyncd 在 Live 系統已預設啟用,網路連線建立後,會立即自動同步時間。

使用 timedatectl(1) 確認系統時間已同步:

# timedatectl

分割磁碟

系統如果辨識到磁碟,就會將其分配為一個區塊裝置,如 /dev/sda/dev/nvme0n1/dev/mmcblk0。可以使用 lsblk 或者 fdisk 查看:

# fdisk -l

結果中以 romloopairootfs 結尾的裝置可以忽略;以 rpbmboot0boot1 結尾的 mmcblk* 裝置可以忽略。

注意: 如果未顯示裝置,請確認磁碟控制卡並非處於 RAID 模式
提示: 在進行分割之前,請檢查 NVMe 裝置和先進格式化硬碟裝置有使用最佳邏輯磁區大小

選定的設備必須要有以下分割


請使用分割工具如 fdisk 修改分割表。例如:

# fdisk /dev/the_disk_to_be_partitioned
注意:

分割示例

UEFI 與 GPT
在安裝後系統的掛接點 分割 分割類型 建議大小
/mnt/boot1 /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
  1. 如果使用的啟動程序載入程式能夠從根磁碟區中載入核心和 initramfs 映像,則可以使用其他掛接點,例如 /mnt/efi。請參閱啟動程序載入程式中的警告部分。
BIOS 與 MBR
在安裝後系統的掛接點 分割 分割類型 建議大小
[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
注意: 對於堆疊式區塊裝置 (stacked block devices),請使用適當的區塊裝置路徑替換上文中的 /dev/*_partition 處。

如果你要建立一個 EFI 系統分割,使用 mkfs.fat(8) 將其格式化為 Fat32。

警告: 只有在分割步驟中建立 EFI 系統分割時才需要格式化。如果這個磁碟上已經有 EFI 系統分割,將它重新格式化會破壞其他已安裝作業系統的啟動程序載入程式。
# mkfs.fat -F 32 /dev/efi_system_partition

掛接分割

將根磁碟區掛接/mnt。例如根磁碟區為 /dev/root_partition 時,執行:

# mount /dev/root_partition /mnt

建立其他剩餘的掛接點 (例如建立 /boot 以掛接 /mnt/boot) 並按對應的檔案系統階層依序掛接磁碟區。

提示: 使用 --mkdir 選項運行 mount(8) 來建立指定的掛接點。或者,先使用 mkdir(1) 建立掛接點再掛接。

對 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
提示:
  • 可以將 linux 替換為其他核心,或在容器內安裝時將其完全刪除。
  • 在虛擬機器或容器中安裝時,可以不安裝韌體包。

base 軟體包並沒有包含 Live 環境中的全部程式。因此要獲得一個功能齊全的基本系統,可能需要安裝其他軟體包。要安裝軟體包或軟體包群組,將軟體包名稱以空格分隔,附加在前述 pacstrap 命令之後,或者,chroot 到新系統,再使用 pacman 安裝。具體來說,請考慮安裝:

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-8en_SG.UTF-8,附帶以下優點:
      • 進入桌面環境後以 24 小時制顯示時間;
      • LibreOffice 等辦公軟體的紙張尺寸會預設為 A4 而非 Letter(US)
      • 可儘量避免不必要且可能造成處理麻煩的英制單位。
    • 設置的 LANG 變數需與 locale 設置一致,否則會出現以下錯誤:
      • Cannot set LC_CTYPE to default locale: No such file or directory
警告: 不推薦在此設定任何中文 locale,會導致 tty 亂碼。

如果需要修改 控制台鍵盤配置,可編輯 vconsole.conf(5) 使其長期生效,例如:

/etc/vconsole.conf
KEYMAP=de-latin1

網路設定

建立 hostname 檔案:

/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 帳號登入新系統。

安裝後

請參閱一般建議,獲得關於系統管理的建議,還有一些安裝後事項的指引 (例如:建立無權限使用者帳號、設定使用者圖形介面、音訊或觸控板)。

應用程式清單列出了一些您可能會有興趣的應用程式。