Arch Linux 安裝筆記:2021 版

這本筆記延續我在 2017 年所寫下的 Arch Linux 安裝指南,因應自身需求改變,以及時代變遷而重寫所有內容,讓自己未來有需要時可以再回來參考。

硬體環境

  • 處理器
    • 類型:Intel
    • 架構:x86_64(64 位元)
  • BIOS:UEFI

安裝目標

  • 開機管理程式:GRUB
  • AUR Helper:yay
  • 桌面環境:KDE
  • 系統語言:英文(但保持正體中文支援的彈性)
  • 中文輸入法:RIME
  • Shell:zsh

參考資料

Step 0 前置

系統安裝檔

在開始之前,請先至 Arch Linux 官網下載 ISO 檔,並將其寫入至光碟或隨身碟準備開始安裝。

從光碟或隨身碟開機

主要有下面兩種方法,擇一即可。

透過開機選單

在按下電源鍵後,通常可以透過 F8 或 F12 呼叫出開機選單,此時可以選擇光碟或隨身碟開機。

透過調整開機順序

如果上述的方法行不通,也可以透過按下 Del 或 F2 鍵進入 BIOS 設定畫面,此時在開機設定將安裝媒介的順序調整至第一個,儲存設定後重開機即可進入。

Step 1 網路連線設定

首先測試網路連線:

ping google.com

如果是有線網路,會自動連線,而無線網路需要再進行設定:

iwctl station <device> connect <SSID>
  • <device>:無線網卡名稱(可透過 iwctl device list 查詢)
  • <SSID>:欲連線的無線網路名稱

如果需要密碼將會進行提示輸入,完成後即連線成功。

Step 2 磁碟分割

基本上一個可開機的系統,至少會有開機磁區與 Linux 系統磁區,而後者又可以在進行更細緻的分割。

硬碟分割範例

  • /dev/sda1:EFI System
  • /dev/sda2:Linux(root)
  • /dev/sda3:Linux(home)
  • /dev/sda4:Swap

在此透過 cgdisk 進行磁碟分割:

cgdisk /dev/sda

/dev/sda1:開機磁區

  • 大小建議為 256M ,類型為 EFI System
  • 該區作為系統開機磁區使用,若已存在,則不必再分割。

/dev/sda2:Linux(root)

  • 大小自訂,類型為 Linux filesystem
  • 系統將會安裝至此分區

/dev/sda3:Linux(home)

  • 大小自訂,類型為 Linux filesystem
  • 預計給儲存個人資料的家目錄使用

/dev/sda4: Swap

  • 大小自訂,這裡使用 2G ,類型為 Linux Swap

基本上在分割時,都會習慣為 Linux 系統加上 Swap(置換) 分區,就像是 Windows 系統通常也會有 pagefile(分頁檔) 一樣。當然這個不是必須的,如果覺得自己的 RAM 容量非常足夠,那麼也不一定需要切出此分區。

另外,在系統安裝完成後,也可以透過建立以檔案形式存在的 swap file,來建立虛擬記憶體。

格式化與掛載新磁區

格式化系統磁區

mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3

格式化置換分區

mkswap /dev/sda4

掛載所需磁區

mount /dev/sda2 /mnt
mount /dev/sda3 /mnt/home

啟用置換分區

swapon /dev/sda4

Step 3 基本系統安裝與設定

設定套件來源

重新排列pacman的鏡像站順序,可以提升下載的速度。

而設定方式主要有兩種:

  1. 根據官網提供的鏡像站列表手動編輯
  2. 透過程式自動生成

手動編輯

vim /etc/pacman.d/mirrorlist

透過程式自動生成

可透過 reflector 來獲得最佳排序:

pacman -Sy reflector
reflector --verbose -l 5 --sort rate --country 'Taiwan' --save /etc/pacman.d/mirrorlist

安裝系統本體

安裝基本套件包

pacstrap /mnt base base-devel

此時將會自動下載並建立基本系統架構。

建立 fstab

fstab 提供了 Linux 檔案系統的相關資訊,描述了儲存裝置及其相關磁區如何初始化,與掛載至整個系統。

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

切換至新系統裡

chroot 是切換根資料夾的位置指令,而 arch-chroot 除了有前述作用外,還會將一些前置設定帶入。

arch-chroot /mnt

時間設定

設定時區:

timedatectl set-timezone Asia/Taipei

透過網路同步時間:

timedatectl set-ntp true

語言環境設定

可以自行至 /etc/locale.gen 取消對應語言的註解,這裡偷懶用 echo 的方式處理:

echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "zh_TW.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
localectl set-locale en_US.UTF-8

設定電腦名稱

hostnamectl set-hostname <your-pc-name>

Linux 核心安裝

pacman -S linux

使用者設定

在建立新使用者之前,先為 root 設定密碼:

passwd

sudo 群組設定

visudo

找到該行(約第86行),將其取消註解:

#%wheel     ALL=(ALL)    ALL

或新增一行:

%<your-group-name>    ALL=(ALL)    ALL

建立新使用者

useradd -m <your-username>
passwd <your-username>

將其加入至 sudo 群組,使其擁有管理權限:

usermod <your-user-name> -aG <your-group-name>

開機管理程式

將安裝 GRUB。

前置作業

為 intel 處理器下載微碼(microcode):

pacman -S intel-ucode

安裝 GRUB

先下載需要的套件:

pacman -S grub efibootmgr os-prober
  • os-prober:可選,用來偵測 Windows 系統

進行安裝:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

生成開機設定檔:

grub-mkconfig -o /boot/grub/grub.cfg

如果有需要 Windows 開機選項,得去調整 grub 設定,解鎖選項。

echo "GRUB_DISABLE_OS_PROBER=false" >> /etc/default/grub

此時再重新生成應可看到 Windows。

雜項

安裝所需的無線網路工具

pacman -S iwd

安裝 AUR Helper:yay

AUR Helper 是泛指那些提供使用者可以簡單下載安裝 Arch User Repository 上套件的輔助程式,而這裡使用 yay 這個套件。

首先開啟 pacman 設定檔:

sudo vim /etc/pacman.conf

找到以下兩行(約在第93行),將前方的 # 刪除:

#[multilib]
#Include = /etc/pacman.d/mirrorlist

下載 yay 及所需的依賴套件:

sudo pacman -Sy git
git clone https://aur.archlinux.org/yay.git

安裝 yay:

cd yay
makepkg -si

Step 4 桌面環境設定

安裝桌面環境

安裝 KDE

安裝 KDE 全套,並且啟用 Wayland 支援備用:

pacman -S xorg-server plasma plasma-wayland-session kde-applications

啟動圖形介面

systemctl enable --now sddm.service

輸入法與字型

安裝輸入法:RIME

安裝 RIME 本體與注音元件:

pacman -S ibus-rime rime-bopomofo

透過 KDE 輸入法視窗啟用:

ibus-daemon -drx --panel=/usr/lib/kimpanel-ibus-panel

字型:noto fonts

pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji