Arch Linux 快速上手:安装与基本使用详解 (超3000字)
Arch Linux,一个以简洁、现代、实用、用户中心和滚动更新为核心理念的独立发行版。它并非为所有人设计,它面向的是那些不惧动手、渴望深入了解系统运作原理、并追求极致定制化体验的 Linux 用户。选择 Arch,意味着你将踏上一条充满挑战但也收获颇丰的学习之路。本文旨在提供一个相对“快速”的上手指南,覆盖从安装到基本使用的核心环节,帮助你迈出探索 Arch 世界的第一步。
请注意,“快速”是相对的。Arch 的安装过程完全由用户主导,没有图形化安装程序引导,你需要手动执行一系列命令来分区、格式化、安装基础系统、配置引导加载程序等。这正是 Arch 的魅力所在——你完全掌控你的系统。
一、 Arch Linux 的魅力与哲学
在开始安装之前,理解 Arch 的核心理念至关重要:
- 简洁性 (Simplicity): Arch 追求代码和配置的简洁。它提供一个最小化的基础系统,不预装任何你可能不需要的软件或服务。你从一块“白板”开始,按需添加。配置文件通常是易于阅读和编辑的纯文本。
- 现代性 (Modernity): Arch 是一个滚动更新 (Rolling Release) 的发行版。这意味着你始终能获得最新的稳定版软件,无需等待数月一次的大版本升级。系统和软件包的更新是持续进行的。
- 实用性 (Pragmatism): Arch 专注于实用而非意识形态。它提供了许多流行的软件包,并且不羞于包含闭源软件(如果用户选择安装的话),只要它们能解决实际问题。
- 用户中心 (User-Centricity): Arch 将控制权完全交给用户。系统如何配置、安装哪些软件、使用哪个桌面环境,都由你决定。这也意味着用户需要承担更多的责任。
- 自主性 (Versatility / DIY): Do It Yourself 是 Arch 的核心精神。安装过程本身就是一次学习经历。你需要参考官方文档(尤其是 Arch Wiki),理解每个步骤的意义。
二、 准备工作:工欲善其事,必先利其器
在开始安装 Arch Linux 之前,你需要准备以下物品和信息:
- Arch Linux ISO 镜像: 前往 Arch Linux 官网 (https://archlinux.org/download/) 下载最新的 ISO 镜像文件。选择一个离你较近的镜像源以获得更快的下载速度。
- U 盘 (USB Drive): 一个容量至少 2GB 的 U 盘,用于制作启动盘。注意:制作启动盘会清空 U 盘上的所有数据!
- 启动盘制作工具: 你需要一个工具将 ISO 镜像写入 U 盘。
- Linux: 可以使用
dd
命令(请极其小心,用错设备名会导致数据丢失!)或图形化工具如 Etcher、Ventoy。 - Windows: 可以使用 Rufus、Etcher 或 Ventoy。
- macOS: 可以使用 Etcher 或
dd
命令。 - 推荐使用 Ventoy: 它允许你将多个 ISO 文件直接复制到 U 盘,并在启动时选择,非常方便。
- Linux: 可以使用
- 可靠的网络连接: 安装过程中需要从网络下载大量的软件包。有线连接通常比无线连接更稳定、更简单。如果在安装环境中需要使用 Wi-Fi,过程会稍复杂一些。
- 另一台可上网设备: 强烈建议准备另一台电脑、平板或手机,用于查阅 Arch Wiki (https://wiki.archlinux.org/)。Arch Wiki 是你最好的朋友,安装过程中遇到任何问题,几乎都能在上面找到答案。
- 了解你的硬件: 知道你的磁盘设备名(如
/dev/sda
,/dev/nvme0n1
)、网络接口名(如enpXsY
,wlanZ
)以及你的启动模式(UEFI 还是 BIOS/Legacy)。现代计算机通常使用 UEFI。本指南将主要基于 UEFI 模式进行。 - 备份重要数据: 如果你要将 Arch 安装在已有数据的硬盘上,请务必提前备份所有重要文件!分区和格式化操作是不可逆的。
三、 安装过程:亲手构建你的系统
将制作好的 Arch Linux 启动盘插入电脑,重启并进入 BIOS/UEFI 设置,将启动顺序调整为从 U 盘启动。成功后,你将看到 Arch Linux 的启动菜单,选择默认的 “Arch Linux install medium” 即可进入一个基于命令行的 Live 环境。
Phase 1: Live 环境准备
这个阶段的目标是准备好安装 Arch 的基本环境,包括网络、时间同步和磁盘分区。
-
验证启动模式:
bash
ls /sys/firmware/efi/efivars
如果该目录存在且列出文件,说明你已成功以 UEFI 模式启动。如果目录不存在,你可能处于 BIOS 模式,后续的引导加载程序安装步骤会有所不同(本指南侧重 UEFI)。 -
设置键盘布局 (可选): 默认是 US 布局。如果你使用其他布局(如德语
de-latin1
),可以加载:
bash
loadkeys de-latin1
(根据你的实际布局替换de-latin1
) -
连接到互联网:
- 有线网络: 通常会自动连接。你可以通过
ip link
查看网络接口名称(例如enp3s0
),然后用ping
测试连接:
bash
ip link
ping -c 3 archlinux.org
如果 ping 成功,说明网络已连接。 - 无线网络 (Wi-Fi): 这稍微复杂一点。使用
iwctl
工具:
bash
# 进入 iwctl 交互模式
iwctl
# 列出无线设备 (例如 wlan0)
[iwd]# device list
# 扫描网络
[iwd]# station <device_name> scan
# 列出可用网络
[iwd]# station <device_name> get-networks
# 连接到你的网络 (替换 <SSID> 和 <password>)
[iwd]# station <device_name> connect "<SSID>" --passphrase "<password>"
# 退出 iwctl
[iwd]# exit
# 再次测试连接
ping -c 3 archlinux.org
如果连接失败,请查阅 Arch Wiki 关于iwctl
或NetworkManager
(如果选择稍后安装) 的文档。
- 有线网络: 通常会自动连接。你可以通过
-
更新系统时钟: 确保时间准确对于软件包验证很重要。
bash
timedatectl set-ntp true
# 可以用 timedatectl status 检查状态
timedatectl status -
磁盘分区: 这是关键且危险的一步,请务必小心!
- 识别磁盘: 使用
lsblk
或fdisk -l
查看你的磁盘及其设备名(例如/dev/sda
,/dev/vda
,/dev/nvme0n1
)。请务必确认你要操作的是哪个磁盘! - 选择分区工具:
fdisk
功能强大但交互略显复杂,cfdisk
提供一个相对简单的 curses 界面,parted
适合脚本化操作。对于新手,cfdisk
是个不错的选择。我们以cfdisk
为例(假设目标磁盘是/dev/sda
,请替换为你自己的设备名):
bash
cfdisk /dev/sda -
分区方案 (UEFI): 一个常见的 UEFI 系统分区方案如下:
- EFI 系统分区 (ESP): 大小建议 512MB 或更大,类型选择 “EFI System”。这是存放引导加载程序的地方。
- Swap 分区 (可选但推荐): 大小通常等于或两倍于你的内存大小,用于休眠或内存不足时。类型选择 “Linux swap”。
- 根 (Root) 分区 (
/
): 剩余的所有空间(或你希望分配的大小),用于存放系统文件。类型选择 “Linux filesystem”。 - (可选) Home 分区 (
/home
): 如果你想将用户数据与系统文件分开,可以创建一个单独的/home
分区。类型选择 “Linux filesystem”。这有助于重装系统时保留用户数据。
-
使用
cfdisk
:- 选择磁盘标签类型(对于新磁盘或要完全重写):选择
gpt
(推荐用于 UEFI)。 - 使用方向键和回车键选择
[ New ]
创建新分区。 - 输入分区大小(例如
512M
表示 512MB,8G
表示 8GB,留空表示使用剩余全部空间)。 - 选择分区类型:使用
[ Type ]
选项,然后选择对应的类型(EFI System, Linux swap, Linux filesystem)。 - 重复创建所有需要的分区。
- 确认无误后,选择
[ Write ]
将更改写入磁盘,输入yes
确认。 - 选择
[ Quit ]
退出。
- 选择磁盘标签类型(对于新磁盘或要完全重写):选择
-
再次确认: 使用
lsblk
检查分区是否已按预期创建。分区名会类似/dev/sda1
,/dev/sda2
,/dev/sda3
。
- 识别磁盘: 使用
-
格式化分区:
- 格式化 EFI 分区 (假设为 /dev/sda1): 必须是 FAT32 格式。
bash
mkfs.fat -F32 /dev/sda1 - 格式化 Swap 分区 (假设为 /dev/sda2):
bash
mkswap /dev/sda2 - 格式化根分区 (假设为 /dev/sda3): 推荐使用 Ext4 文件系统。
bash
mkfs.ext4 /dev/sda3 - (如果创建了 Home 分区,假设为 /dev/sda4):
bash
mkfs.ext4 /dev/sda4
- 格式化 EFI 分区 (假设为 /dev/sda1): 必须是 FAT32 格式。
-
挂载分区: 将格式化好的分区挂载到 Live 环境的挂载点 (
/mnt
)。- 挂载根分区:
bash
mount /dev/sda3 /mnt - 创建并挂载其他挂载点 (如果创建了相应分区):
bash
# 创建 boot 目录并挂载 EFI 分区
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
# (如果创建了 home 分区)
# mkdir /mnt/home
# mount /dev/sda4 /mnt/home - 启用 Swap 分区:
bash
swapon /dev/sda2
- 挂载根分区:
Phase 2: 安装基础系统
现在环境准备就绪,可以开始安装 Arch 的核心软件包了。
-
选择镜像源 (可选但推荐): 编辑
/etc/pacman.d/mirrorlist
文件,将离你最近、速度最快的镜像源取消注释并移到文件顶部。可以使用nano
或vim
编辑器。
bash
nano /etc/pacman.d/mirrorlist
(在nano
中,Ctrl+W
搜索,Alt+6
复制行,Ctrl+U
粘贴行,Ctrl+O
保存,Ctrl+X
退出) -
安装基础包: 使用
pacstrap
脚本安装基础系统、Linux 内核和常用的固件。同时建议安装一个文本编辑器(如nano
或vim
)和一个网络管理工具(如networkmanager
)。
bash
pacstrap /mnt base linux linux-firmware nano networkmanagerbase
: 包含运行系统所需的最基本工具和库。linux
: 最新的稳定版 Linux 内核。linux-firmware
: 大多数硬件所需的固件文件。nano
: 一个简单易用的文本编辑器。networkmanager
: 一个强大的网络管理服务,支持有线、无线和 VPN,并能很好地与桌面环境集成。
这个过程会下载并安装数百 MB 的软件包,需要一些时间,具体取决于你的网络速度和镜像源。
Phase 3: 配置新系统
基础系统已经安装到 /mnt
了,现在需要进入这个新系统 (chroot
) 并进行基本配置。
-
生成 fstab 文件: 该文件定义了系统启动时如何挂载分区。
bash
genfstab -U /mnt >> /mnt/etc/fstab-U
表示使用 UUID 来标识分区,比设备名更可靠。- 检查生成的
/mnt/etc/fstab
文件内容是否正确:
bash
cat /mnt/etc/fstab
-
Chroot 到新系统: Change Root,将根目录切换到
/mnt
,之后的所有命令都将在新安装的系统环境中执行。
bash
arch-chroot /mnt
你会发现命令提示符变了。 -
设置时区:
bash
# 替换 "Asia/Shanghai" 为你所在的时区 (可以在 /usr/share/zoneinfo/ 目录下查找)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 将时间标准设置为 UTC,并同步硬件时钟
hwclock --systohc -
本地化 (Localization): 配置系统语言和字符集。
- 编辑
/etc/locale.gen
文件,取消注释你需要的语言环境,例如en_US.UTF-8 UTF-8
和zh_CN.UTF-8 UTF-8
。
bash
nano /etc/locale.gen
(取消注释掉对应行前的#
) - 生成 locale 信息:
bash
locale-gen - 创建
/etc/locale.conf
文件并设置默认语言:
bash
echo "LANG=en_US.UTF-8" > /etc/locale.conf
# 或者使用中文: echo "LANG=zh_CN.UTF-8" > /etc/locale.conf
(建议初期使用英文,避免 TTY 乱码问题,进入图形界面后再配置中文输入法)
- 编辑
-
设置主机名 (Hostname): 给你的计算机起个名字。
bash
echo "myarchpc" > /etc/hostname
# 替换 "myarchpc" 为你喜欢的主机名 -
配置网络:
- 启用 NetworkManager 服务: 让它开机自启。
bash
systemctl enable NetworkManager - 配置 hosts 文件: 添加基本的回环地址映射。
bash
nano /etc/hosts
确保文件包含以下内容 (如果不存在则添加):
127.0.0.1 localhost
::1 localhost
127.0.1.1 myarchpc.localdomain myarchpc
(将myarchpc
替换为你的主机名)
- 启用 NetworkManager 服务: 让它开机自启。
-
设置 Root 用户密码:
bash
passwd
输入并确认 Root 用户的密码。请务必记住这个密码! -
安装引导加载程序 (Bootloader): 这是让你的计算机知道如何启动 Arch Linux 的关键。我们将使用 GRUB,它是最常见的引导加载程序之一。
- 安装 GRUB 和相关工具:
bash
pacman -S grub efibootmgr
efibootmgr
是用于管理 UEFI 启动项的工具。 - 安装 GRUB 到 EFI 分区:
bash
# 确认 EFI 分区的挂载点是 /boot
# 如果你之前挂载到了 /mnt/efi,这里需要是 /efi
# --bootloader-id=ARCH 可以自定义,它会在 UEFI 启动菜单中显示
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
注意:--efi-directory
参数必须指向你的 EFI 系统分区的挂载点 (在 chroot 环境下)。如果之前挂载mount /dev/sda1 /mnt/efi
,则这里应为--efi-directory=/efi
。如果挂载为mount /dev/sda1 /mnt/boot
,则用/boot
。请根据你的实际挂载情况调整! - 生成 GRUB 配置文件:
bash
grub-mkconfig -o /boot/grub/grub.cfg
这个命令会自动检测已安装的 Linux 内核和其他操作系统(如果安装了os-prober
包并运行),并生成 GRUB 菜单配置文件。
- 安装 GRUB 和相关工具:
-
创建普通用户账户: 不推荐日常使用 root 账户。
bash
# 创建一个新用户,例如 "alice",并创建家目录 (-m),加入 wheel 组 (-G wheel)
# wheel 组通常用于授予 sudo 权限
useradd -m -G wheel alice
# 设置新用户的密码
passwd alice
输入并确认alice
用户的密码。 -
配置 sudo: 允许
wheel
组的用户使用sudo
命令执行管理员权限的操作。- 安装 sudo 包:
bash
pacman -S sudo - 编辑 sudoers 文件: 推荐使用
visudo
命令编辑,它会在保存时检查语法错误。
bash
EDITOR=nano visudo
找到下面这行,并取消注释(删除行首的#
和空格):
# %wheel ALL=(ALL:ALL) ALL
改为:
%wheel ALL=(ALL:ALL) ALL
按Ctrl+O
保存,Ctrl+X
退出nano
。
- 安装 sudo 包:
Phase 4: 重启进入新系统
至此,基础系统的安装和配置基本完成。
- 退出 Chroot 环境:
bash
exit - 卸载所有分区:
bash
umount -R /mnt
# 如果启用了 swap,最好也关闭
# swapoff /dev/sda2 (替换为你的 swap 分区) - 重启计算机:
bash
reboot
在重启时,记得拔掉 Arch Linux 安装 U 盘。如果一切顺利,你应该会看到 GRUB 启动菜单,然后进入 Arch Linux 的登录提示符。
四、 首次启动与基本配置
- 登录: 使用你刚才创建的普通用户账户(例如
alice
)和密码登录。 - 检查网络连接:
bash
ping -c 3 archlinux.org
如果无法连接,请检查 NetworkManager 状态 (systemctl status NetworkManager
),或者使用nmtui
(一个简单的 TUI 网络配置工具,如果需要可以sudo pacman -S network-manager-applet
安装它,然后运行nmtui
) 来配置连接。
五、 安装图形用户界面 (GUI)
默认安装的 Arch 只有命令行界面 (TTY)。要获得桌面体验,你需要安装:
- Xorg 显示服务器: 图形界面的基础。
bash
sudo pacman -S xorg-server -
显卡驱动:
- Intel 核显:
sudo pacman -S xf86-video-intel
- AMD 显卡:
sudo pacman -S xf86-video-amdgpu
(较新卡) 或xf86-video-ati
(较老卡) - NVIDIA 显卡:
sudo pacman -S nvidia
(最新驱动) 或nvidia-lts
(配合 LTS 内核) 或nvidia-dkms
(更通用,自动适配内核更新)。安装 NVIDIA 驱动后可能需要额外配置,请查阅 Arch Wiki。 - 通用 VESA 驱动: 如果不确定或遇到问题,Xorg 会尝试使用通用的
vesa
或modesetting
驱动,但性能可能不佳。
- Intel 核显:
-
桌面环境 (Desktop Environment, DE): 选择一个你喜欢的 DE。常见的有:
- GNOME: 功能全面,现代,资源占用相对较高。
bash
sudo pacman -S gnome - KDE Plasma: 高度可定制,功能丰富,外观华丽。
bash
sudo pacman -S plasma-meta kde-applications-meta
# plasma-meta 是核心桌面,kde-applications-meta 包含一套 KDE 应用 - XFCE: 轻量级,稳定,传统 GTK 桌面。
bash
sudo pacman -S xfce4 xfce4-goodies - LXQt: 基于 Qt 的轻量级桌面。
bash
sudo pacman -S lxqt - 还有很多其他选择: 如 Cinnamon, MATE, Budgie, i3 (窗口管理器), Sway (Wayland 窗口管理器) 等。根据需要安装。
- GNOME: 功能全面,现代,资源占用相对较高。
-
显示管理器 (Display Manager, DM): 提供图形化的登录界面。
- GDM (GNOME Display Manager): 通常与 GNOME 配合使用。
bash
sudo pacman -S gdm
# 启用 GDM 服务
sudo systemctl enable gdm.service - SDDM (Simple Desktop Display Manager): 通常与 KDE Plasma 配合使用。
bash
sudo pacman -S sddm
# 启用 SDDM 服务
sudo systemctl enable sddm.service - LightDM: 轻量级,可配置性强,适用于 XFCE, LXQt 等。
bash
sudo pacman -S lightdm lightdm-gtk-greeter
# 启用 LightDM 服务
sudo systemctl enable lightdm.service
# 可能需要配置 greeter,编辑 /etc/lightdm/lightdm.conf
- GDM (GNOME Display Manager): 通常与 GNOME 配合使用。
-
重启:
bash
reboot
如果一切顺利,这次你应该会看到图形化的登录界面。输入你的用户名和密码,选择你的桌面环境(如果安装了多个),然后进入桌面!
六、 基本使用:管理你的 Arch 系统
恭喜你!你已经成功安装并进入了 Arch Linux 图形桌面。接下来是一些日常使用的基本操作:
-
包管理器
pacman
: Arch 的核心工具之一。- 同步软件包数据库并更新系统: 这是你应该经常做的操作。
bash
sudo pacman -Syu-S
: 同步 (Sync) 软件包。-y
: 从服务器下载新的软件包数据库。-u
: 升级 (Upgrade) 所有已安装的过时软件包。
- 安装软件包:
bash
sudo pacman -S <package_name> [package_name2 ...]
# 例如,安装 Firefox 浏览器和 VLC 播放器
sudo pacman -S firefox vlc - 删除软件包:
bash
sudo pacman -R <package_name> - 删除软件包及其不再需要的依赖:
bash
sudo pacman -Rns <package_name>-n
: 不保存配置文件。-s
: 递归删除依赖,但仅删除不再被任何其他已安装软件包需要的依赖。
- 搜索软件包 (在仓库中):
bash
pacman -Ss <search_term> - 搜索已安装的软件包:
bash
pacman -Qs <search_term> - 查看软件包信息:
bash
pacman -Si <package_name> # 查看仓库中包的信息
pacman -Qi <package_name> # 查看已安装包的信息 - 清理软件包缓存:
pacman
会将下载的包保存在/var/cache/pacman/pkg/
。这会占用磁盘空间。
bash
# 清理所有未安装的包缓存
sudo pacman -Sc
# 清理所有缓存 (强制,会删除所有旧包)
sudo pacman -Scc
# 更推荐安装 paccache 工具来管理缓存
# sudo pacman -S pacman-contrib
# sudo paccache -r # 保留最近 3 个版本
# sudo paccache -rk1 # 只保留最近 1 个版本
- 同步软件包数据库并更新系统: 这是你应该经常做的操作。
-
AUR (Arch User Repository): Arch 用户软件库。
- 什么是 AUR? AUR 是一个由社区驱动的软件仓库,包含了官方仓库中没有的软件包的构建脚本 (PKGBUILD)。这些脚本描述了如何从源代码编译、或者从预编译包(如 .deb, .rpm)重新打包成 Arch 可用的格式。
- 风险: AUR 中的软件包未经 Arch 官方审核,使用它们需要用户自行承担风险。在构建前检查 PKGBUILD 文件是一个好习惯。
- AUR 助手 (AUR Helper): 手动从 AUR 构建软件包比较繁琐。AUR 助手(如
yay
,paru
)可以自动化这个过程(下载 PKGBUILD、解决依赖、构建、安装),并能像pacman
一样同时管理官方仓库和 AUR 的更新。 - 安装 AUR 助手 (以
yay
为例):- 确保安装了
base-devel
包组(包含编译所需工具)和git
。
bash
sudo pacman -S --needed base-devel git - 找一个临时目录克隆
yay
的 PKGBUILD。
bash
cd /tmp
git clone https://aur.archlinux.org/yay.git
cd yay - 构建并安装
yay
。
bash
makepkg -simakepkg
是用于构建 Arch 包的工具。-s
: 自动安装编译和运行时依赖。-i
: 构建成功后自动安装。
过程中可能会提示输入sudo
密码以安装依赖或最终的包。
- 确保安装了
-
使用 AUR 助手 (以
yay
为例):yay
的语法与pacman
非常相似。
“`bash
# 更新系统 (包括 AUR 包)
yay -Syu
# 或仅用 yay 更新 (等同于 yay -Syu)
yay从官方仓库或 AUR 安装包
yay -S
例如,安装 Visual Studio Code (在 AUR 中)
yay -S visual-studio-code-bin
搜索 (包括 AUR)
yay -Ss
删除包 (同 pacman)
yay -Rns
``
sudo
**重要:** 不要使用运行
yay` (或其他 AUR 助手) 来搜索或安装包。它们会在需要时提示你输入密码。
-
系统服务管理 (
systemctl
): 用于控制 systemd 服务。- 启动服务:
sudo systemctl start <service_name>
- 停止服务:
sudo systemctl stop <service_name>
- 重启服务:
sudo systemctl restart <service_name>
- 查看服务状态:
systemctl status <service_name>
- 设置服务开机自启:
sudo systemctl enable <service_name>
- 禁止服务开机自启:
sudo systemctl disable <service_name>
- 启动服务:
-
查阅文档:
- Arch Wiki: https://wiki.archlinux.org/ 永远是你最好的资源。遇到问题先查 Wiki。
- Man Pages: 大多数命令和配置文件都有手册页。
bash
man <command_name>
# 例如: man pacman, man mkinitcpio.conf - Info Pages: 另一种文档格式。
bash
info <command_name>
七、 结语:旅程的开始
完成 Arch Linux 的安装和基本配置只是一个开始。Arch 的真正乐趣在于不断地学习、探索和定制你的系统。你可能会遇到各种问题,但解决这些问题的过程本身就是宝贵的经验。
- 保持更新: 养成定期运行
sudo pacman -Syu
(或yay -Syu
) 的习惯,但注意阅读更新信息,特别是当有重大更新(如内核、显卡驱动、glibc 等)时,最好先查看 Arch Linux 官网首页的新闻,了解是否有需要手动干预的步骤。 - 探索配置: Arch 的大部分配置都在
/etc
目录下,尝试去理解它们。 - 尝试新事物: 安装不同的桌面环境、窗口管理器、软件,找到最适合你的组合。
- 参与社区: Arch 社区非常活跃,论坛和 IRC 频道是寻求帮助和交流的好地方。
Arch Linux 可能不是最容易上手的发行版,但它提供了一个无与伦比的平台,让你能够真正理解和掌控你的 Linux 系统。享受这段旅程吧!