安裝指南

本頁使用了標題或全文手工轉換
出自 Arch Linux 中文维基
提示:本文或本章節的主題是「安裝 Arch Linux 系統」。關於「為 Arch Linux 安裝軟件包」的內容,請檢視安裝軟件包
提示:請善用本文的超連結。超連結指向的每個單獨的頁面對系統的各個部分有更完善的介紹。

本文將指導如何使用官方安裝鏡像啟動的 Live 系統安裝 Arch Linux。安裝媒介現可提供無障礙輔助功能,對此使用無障礙輔助選項安裝 Arch Linux 頁面有詳細描述。關於其它的安裝方法,請您參閱安裝過程分類下的其他條目

建議在安裝前閱讀常見問題。對於本文中使用的慣用術語,請參閱閱讀幫助。請將代碼中斜體的部分按實際情況替換成具體內容。

本指南旨在簡潔且通俗易懂,建議您嚴格遵循每一節中的順序與指示執行安裝。有關更詳細的說明,請您仔細閱讀本指南內相應的 ArchWiki 文章或各類程式的手冊。若您需要交互幫助,可以使用 Arch Linux 中文社區的聊天群組或論壇

Arch Linux 被設計為可以執行在配置為最低 512 MiB 記憶體的 x86_64 架構的電腦上,但如果是從安裝媒介啟動系統並成功安裝在電腦硬碟中,則可能需要更多的記憶體。[1]基本安裝方式將佔用小於 2 GiB 的硬碟儲存空間。由於安裝過程中需要從遠端存放庫取得軟件包,電腦將需要一個有效的互聯網連接。

安裝前的準備[編輯 | 編輯原始碼]

取得安裝映像[編輯 | 編輯原始碼]

打開下載頁面,並根據需要的引導方式,取得 ISO 檔案或 netboot 映像以及相應的 GnuPG 簽名。

驗證簽名[編輯 | 編輯原始碼]

建議使用前先驗證所下載檔案的簽名,特別是從 HTTP 鏡像源下載的檔案,因為 HTTP 連接一般來說容易遭到攔截而提供惡意鏡像

在一台已經安裝 GnuPG 的系統上,可通過下載 PGP 簽名(在下載頁面的 Checksums 下方)到 ISO 檔案所在的路徑,然後用以下方式驗證簽名

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-版本-x86_64.iso.sig

另外,在一台已經安裝 Arch Linux 的電腦上可以通過以下方式驗證:

$ pacman-key -v archlinux-版本-x86_64.iso.sig
注意:
  • 如果安裝映像是從鏡像站點下載,而不是從 archlinux.org 下載的話,其簽名有被偽造的風險。在這種情況下,請您確保用來解碼簽名的公鑰是被另一個可信的金鑰簽署的。gpg 命令將會輸出公鑰的指紋。
  • 另一種驗證簽名的方法是確保公鑰的指紋等於其中一位簽署了 ISO 檔案 Arch Linux 開發者的指紋。請您參閱維基百科取得更多關於公鑰加密的資訊。
提示:在 Windows 上,您可嘗試Gpg4win,注意:您所下載、安裝和使用的 Gpg4win 程式需要您自行甄別其真偽。

準備安裝媒介[編輯 | 編輯原始碼]

Arch Linux 的ISO映像可以被製作成多種類型安裝媒介,如 U 盤光碟和帶有 PXE 的網絡安裝映像。請按照合適的文章與教學,使用ISO檔案為自己準備安裝媒介。

對於Netboot映像,請按照網絡引導#從USB手指啟動準備用於 UEFI 引導的 USB 快閃記憶體驅動器。

啟動到 live 環境[編輯 | 編輯原始碼]

注意: Arch Linux 安裝鏡像不支援 UEFI 安全啟動(Secure Boot)功能。如果要引導安裝媒介,需要禁用安全啟動。如果需要,可在完成安裝後重新配置
  1. 選擇從帶有 Arch 安裝檔案的媒介啟動,通常是需要在電腦啟動加電自檢時快速按下某個熱鍵(比如部分主機板會是F12鍵)。啟動時的畫面也可能會有提示,詳情請參考自己的電腦的說明書或主機板說明書。
  2. 當啟動載入程式選單出現時,
    • 如果你使用了ISO映像,選擇 Arch Linux install medium 並按Enter 進入安裝環境。
    • 如果您使用了 Netboot 映像,請從 Mirror 選單中選擇一個地理位置接近的鏡像,然後選擇 Boot Arch Linux 並按 Enter
  3. 您將會以 root 身份登入進入一個虛擬控制台,預設的 Shell 是 Zsh
提示:安裝映像在 UEFI 模式下使用 systemd-boot 引導,在 BIOS 模式下使用 syslinux 引導。分別使用 eTab 來輸入引導參數。Netboot 映像使用 iPXE,可以在啟動選項選單中指定啟動參數。請參閱 README.bootparams 取得引導參數列表。
  • 手動定義啟動參數的一個常見例子是改變系統顯示在超高解像度(HiDPI)熒幕的字型的大小。為使系統在HiDPI熒幕上顯示的字型有更好的可讀性——當Live系統啟動時熒幕還沒有被識別為HiDPI的時候——使用 fbcon=font:TER16x32 會有幫助。參見 HiDPI#Linux 控制台 的詳細解釋。

如果要使用其他控制台(例如在安裝時使用 Lynx 檢視本指南),可以使用 Alt+箭頭 快速鍵切換不同的控制台。要編輯設定檔,可以使用 mcedit(1)nanovim 等文字編輯軟件。請參閱 packages.x86_64 取得安裝媒介中包含的軟件包列表。

關於 archinstall 的提示[編輯 | 編輯原始碼]

如果您覺得用命令列安裝過於繁瑣,可以試試官方的安裝腳本 archinstall。詳情可參見 archinstall

不建議初學者用 archinstall 走捷徑,因為手動安裝 archlinux 本身就是 archlinux 教學實操的一環,少了這個環節,會讓初學者面對一些基礎問題時束手無策,為自己和社區帶來不必要的麻煩。

# archinstall

配置控制台鍵盤配置和字型[編輯 | 編輯原始碼]

系統啟動後,控制台鍵盤配置預設為 us(美式鍵盤)。如果您需要列出所有可用的鍵盤配置,可以使用以下命令:

# localectl list-keymaps

如果您想要更改鍵盤配置,可以使用 loadkeys(1)。比如,要添加德語鍵盤配置:

# loadkeys de-latin1

控制台字型位於 /usr/share/kbd/consolefonts/ 目錄中,設定方式請參考 setfont(8)。例如,要使用適合 HiDPI 熒幕的最大字型之一,請執行以下命令:

# setfont ter-132b

驗證引導模式[編輯 | 編輯原始碼]

要驗證系統目前的引導模式,請檢查 UEFI 位數:

# cat /sys/firmware/efi/fw_platform_size

如果命令結果為 64,則系統是以 UEFI 模式引導且使用 64 位 x64 UEFI。如果命令結果為 32,則系統是以 UEFI 模式引導且使用 32 位 IA32 UEFI,雖然其受支援,但啟動載入程式只能使用 systemd-bootGRUB。如果檔案不存在,則系統可能是以BIOS模式(或 CSM 模式)引導。如果系統沒有以您想要的模式(UEFI 或 BIOS)引導啟動,請您參考自己的電腦或主機板說明書。

連接到互聯網[編輯 | 編輯原始碼]

要在 Live 環境中配置網絡連接,請遵循以下步驟:

  • 確保系統已經列出並啟用了網絡介面,用 ip-link(8) 檢查:
    # ip link
  • 對於無線區域網絡(Wi-Fi)和無線廣域網路(WWAN),請確保網卡未被 rfkill 禁用。
  • 要連接到網絡:
    • 有線乙太網路——連接網線。
    • WiFi——使用 iwctl 認證無線網絡。
    • 移動寬頻調製解調器(移動網卡) - 使用 mmcli英語mmcli 連接到流動網絡。
  • 配置網絡連接:
  • ping 檢查網絡連接:
    # ping archlinux.org
注意: 預設情況下,安裝映像在啟動時已經預先配置好並啟用了 systemd-networkdsystemd-resolvediwdModemManager英語ModemManager。但在已經安裝完成了的系統之中並非如此。

更新系統時間[編輯 | 編輯原始碼]

在 Live 環境中 systemd-timesyncd 預設啟用,也就是說當系統已經建立互聯網連接後,系統時間將自動同步。

使用 timedatectl(1) 確保系統時間是同步的:

# timedatectl

建立硬碟分區[編輯 | 編輯原始碼]

系統如果識別到電腦的內建硬碟、USB手指或者流動硬碟等類型磁碟,就會將其分配為一個塊裝置,如 /dev/sda/dev/nvme0n1/dev/mmcblk0。可以使用 lsblk 或者 fdisk 檢視:

# fdisk -l(此处为小写字母l)

結果中以 romloop 或者airootfs結尾的裝置可以被忽略。結果中以 rpbmboot0 或者 boot1 結尾的 mmcblk* 裝置也可以被忽略。

注意: 如果您想要的磁碟沒有顯示出來, 請確保您的磁碟控制器未處於RAID模式
提示:在分區之前,請您檢查 NVMe 驅動器和 Advanced Format 硬碟是否使用了最佳邏輯磁區大小。需要注意的是,更改邏輯磁區大小後,可能會導致在Windows系統中出現相容性問題。

對於一個選定的裝置,以下分區是必須要有的:

請使用分區工具(fdiskparted、cfdisk 等等)修改分區表。例如:

# fdisk /dev/the_disk_to_be_partitioned(要被分区的磁盘)
注意:
  • 花時間規劃一個長期的分區方案,以避免將來需要有風險和複雜的轉換或重新分區。
  • 如果您想為 LVMsystem encryptionRAID 建立任何堆疊塊裝置,請立即執行。
  • 如果要從中啟動的磁碟 已經有一個EFI分區,請不要建立另一個磁碟,而是使用現有分區。
  • Swap 交換空間可以在 Swap#交換檔案 上為支援它的檔案系統設定。

分區方案範例[編輯 | 編輯原始碼]

對於 UEFI 與 GPT 分區表的磁碟分區方案
已安裝系統上的掛載點 分區 分區類型 建議大小
/boot1 /dev/efi_system_partition EFI 系統分區 1 GiB。
[SWAP] /dev/swap_partition Linux swap (交換空間) 至少 4GiB
/ /dev/root_partition Linux x86-64 根目錄 (/) 裝置剩餘空間,至少23-32GiB
  1. 如果使用的啟動載入程式能夠從根磁碟卷中載入內核和 initramfs 映像,則可以使用其他掛載點(例如 /efi)。請您參閱啟動載入程式中的警告部分。
對於傳統 BIOS 與 MBR 分區表的磁碟分區方案
已安裝系統上的掛載點 分區 分區類型 建議大小
[SWAP] /dev/swap_partition Linux swap (交換空間) 至少 4GiB
/ /dev/root_partition Linux 裝置剩餘空間,至少23-32GiB

另請參閱佈局範例

格式化分區[編輯 | 編輯原始碼]

建立分區後,必須使用合適的檔案系統對每個新建立的分區進行格式化。詳情請參閱檔案系統#建立檔案系統

例如,要在根分區 /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(EFI 系统分区)

掛載分區[編輯 | 編輯原始碼]

將根磁碟卷掛載/mnt,例如:

# mount /dev/root_partition(根分区) /mnt

然後使用 mkdir(1)/mnt 下建立任何剩餘的掛載點(例如,為/boot 而建立/mnt/boot),並按相應的層級順序掛載相應的磁碟卷。

提示:使用 --mkdir 選項執行 mount(8) 來建立指定的掛載點。或者,先使用 mkdir(1) 建立掛載點再掛載。
注意: 掛載分區一定要遵循順序,先掛載根(root)分區(到 /mnt),再掛載引導(boot)分區(到 /mnt/boot/mnt/efi,如果單獨分出來了的話),最後再掛載其他分區。否則您可能遇到安裝完成後無法啟動系統的問題。參見 en:Talk:Installation guide#Clarify root mount

對於 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 鏡像站並按下載速率對其進行排序來更新鏡像列表(由於只考慮最新的20個鏡像站,其結果大多數時候都不怎麼好用)。

在列表中,越靠前的鏡像站在下載軟件包時,就會有越高的優先級。請您檢查 /etc/pacman.d/mirrorlist 檔案,看看列出的鏡像站的順序是否合適。如果不合適,可以手動編輯檔案,將離您所處地理位置最近的鏡像挪到檔案的頭部,同時也應該考慮一些其他的評判標準。

如果 /etc/pacman.d/mirrorlist 檔案中沒有合適的鏡像站,可以手動從 archlinux 官方網站的鏡像站列表下載一份。這需要您所在的網絡能夠正常訪問 archlinux 官方網站。例如,使用 curl(1) 下載位於中國大陸的 HTTPS 鏡像站:

# curl -L 'https://archlinux.org/mirrorlist/?country=CN&protocol=https' -o /etc/pacman.d/mirrorlist

或者,也可以通過安裝 pacman-mirrorlist 來取得按國家分列的原始鏡像列表。這麼做的缺點是,pacman 仍然會使用當前配置中的鏡像站來下載軟件包數據庫和 pacman-mirrorlist,這可能會很慢。在挑選了能用的鏡像之後,可以執行

# pacman -Sy pacman-mirrorlist

再將 /etc/pacman.d/mirrorlist.pacnew 複製到 /etc/pacman.d/mirrorlist 並進行編輯。

或者,如果您記得想要使用的鏡像站的 URL,那麼可以手動編輯 /etc/pacman.d/mirrorlist 檔案並手動輸入 URL。

這個檔案接下來還會被 pacstrap 拷貝到新系統裏,所以請您確保設定正確。

安裝必需的軟件包[編輯 | 編輯原始碼]

注意: 除了 /etc/pacman.d/mirrorlist 之外的軟件或配置不會從 Live 環境傳遞到安裝的系統中。

使用 pacstrap(8) 腳本,安裝 base 軟件包和 Linux 內核以及常規硬件的韌體:

# pacstrap -K /mnt base linux linux-firmware

這時候可以同時額外安裝電腦的 CPU 微碼包。如果電腦是 Intel 的 CPU ,使用 intel-ucode,AMD CPU 則使用 amd-ucode。也可以暫時都不安裝,等到進入系統後再安裝。

提示:
  • 可以將 linux 替換為內核頁面中介紹的其他內核軟件包。
  • 在虛擬機器或容器中安裝時,可以不安裝韌體與微碼包。
  • 新安裝的系統中是沒有文字編輯器的,所以請您先安裝文字編輯器如 nano 或者 vim 等。

base 軟件包並沒有包含 Live 環境中的全部程式。因此要獲得一個功能齊全的基本系統,可能需要安裝更多軟件包。要安裝其他軟件包或軟件包組(比如 base-devel包組),請將它們的名字追加到下面的 pacstrap 命令後(用空格分隔),或者也可以在 Chroot 進入新系統後使用 pacman 手動安裝。特別要考慮安裝:

pkglist.x86_64.txt 中包含 Live 系統安裝的軟件包列表。

配置系統[編輯 | 編輯原始碼]

生成 fstab 檔案[編輯 | 編輯原始碼]

通過以下命令生成 fstab 檔案 (用 -U-L 選項設定 UUID 或卷標):

# genfstab -U /mnt >> /mnt/etc/fstab

強烈建議在執行完以上命令後,檢查一下生成的 /mnt/etc/fstab 檔案是否正確。

chroot 到新安裝的系統[編輯 | 編輯原始碼]

通過以下命令 chroot 到新安裝的系統:

# arch-chroot /mnt
提示:此處使用的是arch-chroot而不是直接使用chroot,注意不要輸錯了。

設定時區[編輯 | 編輯原始碼]

通過以下命令設定時區

# ln -sf /usr/share/zoneinfo/Region(地区名)/City(城市名) /etc/localtime
提示:例如,在中國大陸需要將時區設定為北京時間,那麼請執行 # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime。時區名稱是上海而非北京,是因為上海是該時區內人口最多的城市(參考來源)。

然後執行 hwclock(8) 以生成 /etc/adjtime

# hwclock --systohc

這個命令假定已設定硬件時間為 UTC 時間。詳細資訊請檢視系統時間#時間標準

為了防止時鐘漂移並確保時間準確,請使用 NTP(網絡時間協定,Network Time Protocol)客戶端(例如 systemd-timesyncd)設定時間同步

區域和本地化設定[編輯 | 編輯原始碼]

程式和庫如果需要本地化文字,都依賴區域設定,後者明確規定了地域、貨幣、時區日期的格式、字元排列方式和其他本地化標準。

需要設定這兩個檔案:locale.genlocale.conf

編輯 /etc/locale.gen,然後取消掉 en_US.UTF-8 UTF-8 和其他需要的 UTF-8 區域設定前的註釋(#)。

接着執行 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 上中文顯示為方塊。如果您不經常使用 tty ,或是稍後需要安裝桌面環境,則在不使用 tty 後可以設定為中文的 locale 。

如果需要修改#控制台鍵盤配置和字型,可編輯 vconsole.conf(5) 使其長期生效,以德語鍵盤(qwertz)為例:

/etc/vconsole.conf
KEYMAP=de-latin1

如果鍵盤為標準美式鍵盤(中國最常見的鍵盤配置),請勿照抄如上設定。

網絡配置[編輯 | 編輯原始碼]

建立 hostname 檔案:

/etc/hostname
yourhostname(主機名)

請接着完成新安裝的環境的網絡配置,配置過程中可能需要安裝合適的網絡管理軟件。

警告: 請按上述網絡配置指引正確配置好網絡後再重新啟動,否則系統重新啟動後可能無法連接網絡(不過可以用 LiveCD 重新進入 arch-chroot 進行配置)。例如在虛擬機器軟件 VirtualBox 安裝並使用橋接模式時就需要配置 DHCP 。

關於 initramfs[編輯 | 編輯原始碼]

通常不需要自己建立新的 initramfs,因為在執行 pacstrap 時已經安裝 linux,這時已經執行過 mkinitcpio 了。

如果是 LVM英語Install Arch Linux on LVM#Adding mkinitcpio hooks系統加密RAID 等分區配置,請修改 mkinitcpio.conf 並用以下命令重新建立一個 Initramfs:

# mkinitcpio -P

設定 root 密碼[編輯 | 編輯原始碼]

使用以下命令設定 root 密碼

# passwd

安裝引導程式[編輯 | 編輯原始碼]

需要安裝 Linux 啟動載入程式,才能在安裝後啟動系統,可以使用的的引導程式已在啟動載入器中列出,請選擇一個安裝並配置它,GRUB 是最常見的選擇。

警告: 這是安裝的最後一步也是關鍵的一步,請點擊上述連結並按指引正確安裝好啟動載入程式後再重新啟動。否則電腦重新啟動後將無法正常進入 Arch Linux 系統。

重新啟動電腦[編輯 | 編輯原始碼]

輸入 exit 或按 Ctrl+d 退出 chroot 環境。

可選用 umount -R /mnt 手動解除安裝被掛載的分區:這有助於發現任何「繁忙」的分區,並通過 fuser(1) 尋找原因。

最後,通過執行 reboot 重新啟動系統,systemd 將自動解除安裝仍然掛載的任何分區。這時候不要忘記移除安裝媒介,然後使用 root 帳戶登入到新系統。

提示:若系統出現問題,可嘗試重新進入chroot環境以補充、完善安裝和配置,或檢視系統日誌以定位、修復問題。

安裝後的工作[編輯 | 編輯原始碼]

建立非特權帳戶、圖形化使用者介面的安裝、聲音管理、觸控板支援等系統管理教學和後期工作參見建議閱讀

感興趣的各類程式,請參見應用程式列表

參考連結[編輯 | 編輯原始碼]