ArchLinux 安裝流程
...大约 5 分钟
1. 為何選擇 Arch Linux
- 深入學習 Linux:已經使用 Manjaro 一段時間了,對 Linux 的基本使用已經熟悉;安裝 Arch Linux 以便深入學習
This is COOLOvO
2. 安裝流程(無 GUI)
2.1 下載 ISO
在 arch linux download 頁面選擇自己想要的版本。
2.2 準備安裝介質
若在虛擬機中安裝則可跳過此步驟。
U 盤
Windows
Linux
$ dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress oflag=sync
2.3 確認引導模式(重要)
$ cat /sys/firmware/efi/fw_platform_size
- 若文件不存在,則不支持 UEFI 模式,可能需要使用 BIOS 引導
- 若結果為 32,雖然支持 UEFI 引導,但是引導加載程序只能使用 systemd-boot
- 若結果為 64,表示支持 UEFI 引導且使用 64 位的
x64 UEFI
2.4 連接至網絡
有線連接
無需操作
WIFI
$ iwctl #执行iwctl命令,进入交互式命令行
$ device list #列出设备名,比如无线网卡看到叫 wlan0
$ station wlan0 scan #扫描网络
$ station wlan0 get-networks #列出网络 比如想连接YOUR-WIRELESS-NAME这个无线
$ station wlan0 connect YOUR-WIRELESS-NAME #进行连接 输入密码即可
$ exit #成功后exit退出
2.5 更新系統時鐘
$ timedatectl set-ntp true # 系統時間和網絡時間同步
$ timedatectl status # 檢查服務狀態
2.6 分區(重要)
列出可用磁盤
$ fdisk -l
/dev/sda
: SATA/dev/nvme0n
: NVMEdev/mmcblk
: MMC(MultiMedia ard)
其他的諸如: rom
、loop
、airoot
等設備可忽略。
分區
分區可使用:
fdisk
cfdisk
:有 UI 界面
fdisk
$ fdisk /dev/sda # 選擇需要分區的 device
進入交互界面:
m
:查看幫助g
:將分區設置為 GPT 類型(UEFI 引導選這個)o
:將分區設置為 MBR(DOS) 類型(BOOT 引導選這個)n
:新建分區;新建時初始扇區選擇默認即可,結束扇區可以使用分區大小表示(比如:+2G
表示從初始扇區到結束扇區大小為 2G)
cfdisk
$ cfdisk /dev/sda
進入 UI 界面:
- 選擇類型:UEFI 引導為 GPT,BOOT 引導為 DOS
- 創建新分區
可用的分區方案:
分區 | 分區類型 | 類型 | 建議大小 |
---|---|---|---|
/dev/sda1 | EFI | 引導分區 | 至少 300 MiB,若需要多個內核至少 1GiB |
/dev/sda2 | Swap | 交換分區(可選) | 大於 512 MiB,推薦和內存大小相同 |
/dev/sda3 | Linux File System | ROOT 分區 | 根據需要設置,若和 home 分開則至少 50 GiB,以防止空間不足 |
/dev/sda4 | Linux File System | HOME 分區(可選) | 根據需要設置 |
2.7 分區格式化
# 引導分區
$ mkfs.vfat /dev/sda1 # 若為 UEFI 引導
$ mkfs.ext4 /dev/sda1 # 若為 BOOT 引導
# 交換分區
$ mkswap /dev/sda2 # 格式化
$ swapon /dev/sda2 # 啟用交換分區
# 文件分區
$ mkfs.ext4 /dev/sda3 # ROOT 格式化
$ mkfs.ext4 /dev/sda4 # HOME 格式化
2.8 掛載分區
# 掛載是有順序的
$ mount /dev/sda3 /mnt # 掛載 ROOT 分區
$ mkdir /mnt/boot
$ mount /dev/sda1 /mnt/boot # 掛載引導分區
$ mkdir /mnt/home
$ mount /dev/sda4 /mnt/home # 掛載 HOME 區
2.9 選擇軟件鏡像源
根據自己的需要編輯鏡像列表,將速度快的鏡像放在前面:
$ vim /etc/pacman.d/mirrorlist
2.10 安裝系統
基礎包
$ pacstrap /mnt base base-devel linux linux-headers linux-firmware
必要的軟件
$ pacstrap /mnt dhcpcd iwd vim bash-completion
fstab
文件
2.11 生成 fstab
用於定義磁盤分區
$ genfstab -U /mnt >> /mnt/etc/fstab
# 檢查文件
$ cat /mnt/etc/fstab
2.12 進入新系統中
$ arch-chroot /mnt
2.13 設置時區
根據自己的需要設置
# 設置時區
$ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 設置硬件時間
$ hwclock --systohc
2.14 設置本地化
# 選擇自己需要的本地化,將自己需要的語言去除註釋
$ vim /etc/locale.gen
# 生成 locale
$ locale-gen
# 導入設置
$ echo 'LANG=en_US.UTF-8' > /etc/locale.conf
2.15 設置主機名
# 設置主機名,寫入主機名
$ vim /etc/hostname
# 編輯 hosts
$ vim /etc/hosts
# 寫入一下內容
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch
2.16 為 root 用戶設置密碼
$ passwd root
2.17 安裝微碼
pacman -S intel-ucode # Intel CPU
pacman -S amd-ucode # AMD CPU
2.18 安裝引導程序(重要)
UEFI 引導
# grub是启动引导器,efibootmgr被 grub 脚本用来将启动项写入 NVRAM。
$ pacman -S grub efibootmgr
$ grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
修改配置(可選):
$ vim /etc/default/grub
# 去掉 GRUB_CMDLINE_LINUX_DEFAULT一行中最后的 quiet 参数,同时把 log level 的数值从 3 改成 5, 方便排错
# 去掉 nowatchdog 参数,这可以显著提高开关机速度
生成配置
$ grub-mkconfig -o /boot/grub/grub.cfg
BOOT 引導
$ pacman -S grub
$ grub-install /dev/sda
$ grub-mkconfig -o /boot/grub/grub.cfg
2.19 完成安裝
$ exit # 推出當前系統
$ umount -R /mnt # 卸載所有的新分區
$ reboot # 重啟
然後移除安裝介質,否則依然進入 live system。
$ systemctl start dhcpcd # 立即启动dhcp
$ systemctl enable dhcpcd # 設置開機啟動
$ ping www.gnu.org # 测试网络连接
# WIFI
$ systemctl start iwd #立即启动iwd
$ iwctl #和之前的方式一样,连接无线网络
3. GUI
3.1 確保系統為最新
$ pacman -Syyu
S
: 安裝y
:更新數據庫yy
:強制更新u
:更新軟件包
3.2 創建非 root 用戶
$ useradd -m -G wheel -s /bin/bash testuser
$ passwd testuser # 設置密碼
-m
: 創建 home 目錄-G
: 加入次要組,wheel 為特殊組,擁有 sudo 權限-s
: 指定默認 shell
3.3 安裝 Desktop 環境
這裡選擇 KDE Plasma,也可以選擇其他的如:Gnome 等。
$ pacman -S plasma-meta konsole dolphin
3.4 開啟 32 位庫支持
$ vim /etc/pacman.conf
去除 [multilib]
一節中的兩行註釋。
$ pacman -Syyu
3.5 啟動 greeter sddm
$ systemctl enbale sddm
重啟系統後將進入 Desktop 環境。
3.6 安裝 yay
安裝 yay 以使用 AUR
$ pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay-bin.git && cd yay-bin && makepkg -si
3.7 安裝 zsh
$ pacman -S zsh
# 初始化
$ zsh
# 修改默認 shell
$ chsh -l # 查看 zsh 位置
$ chsh -s /usr/bin/zsh
Reference
Powered by Waline v2.15.2