Candlest 的博客

Back

arch linuxBlur image

目前这篇文章已经很旧了。为了方便中文母语者阅读和中国大陆用户使用,可以参考我参与贡献的 Arch Linux Guide 项目:

arch-guide
✨ archlinux 简明指南 | 本指南包含从 archlinux 安装、显卡驱动、日常软件配置、多媒体制作、编程等你可能需要的全部内容 | 提供在线文档 ✨

前言#

在一切开始之前,我需要说明以下三件事:(爹味溢出,可以跳到后面)

Arch Linux 一个月一个新版本,安装过程常常有改变,且软件库常有变动,不能保证这篇文章永远正确,最好的安装方式应该是对照英语版的 Arch Linux Wiki。

学会安装 Arch Linux,学会使用 Vim 和 Emacs,并不能使你的编程能力有什么提高;好比擅长安装 Office 套件和灵活使用 Office,二者不可同日而语焉。(当然,Gentoo 和 LFS 的安装和使用能够让你熟悉 Linux 的文件结构和软件从源代码到可执行文件的编译过程,前提是逃离舒适区,专注于探索与解决问题。)

美化是没有尽头的,配置是没有尽头的,在二者身上浪费太多的时间,是忽略电脑生产工具事实的本末倒置,是不可取的。时间很宝贵,要用在产出比更高的事情上,要给思考留出时间,给重要的人留出时间。

希望你过得幸福快乐。

安装前的准备#

下载映像文件#

建议使用国内的镜像以加快速度,比如:

  • Tsinghua - TUNA
  • LUG@USTC
  • SJTUG

通过这些网站稳定、快速、现代的镜像服务,我们能够轻松地下载镜像。

刻录镜像#

准备一个至少 1G 的 USB Disk 作为刻录设备。当然,如果你愿意可以使用 Grub2 直接引导镜像文件(如果有的话),方法见附录。

在 Windows 下,建议使用 Rufus 刻录。

在 Linux/Unix like,可以尝试 dd 命令烧录。

(当然,这并不是最好的方法。事实上对支持 iso 模式启动的映像来说,直接将其解压放入 USB Disk 是一个更加轻松的做法)

sudo dd if=$archlinux.iso of=$USB_Disk # 自己替换内容
bash

更改 BIOS 设置(如果有)#

关于如何进入 BIOS,根据主板类型有不同的快捷键,比如 Dell 的是 F11,可自行查询。

  • 关闭安全启动(Secure Boot)
  • 关闭快速存储技术(Intel Rapid Storage Technology,RST)
  • 关闭 Windows 的快速启动

安装 Arch Linux#

重启,选择启动项,进入 USB Disk 中的 Live 系统。

配置网络#

有线连接使用 dhcpcd,无线连接使用 iwctl。

首先开启网卡:

ip link
bash

这里以我的输出为例:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
  link/ether e4:54:e8:0f:d4:ba brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
  link/ether c0:b5:d7:72:48:4f brd ff:ff:ff:ff:ff:ff
text

一般以 e 开头的都是有线网卡,比如这里的 enp3s0;一般以 w 开头的都是无线网卡,比如这里的 wlp4s0。

下面我们开启网卡(默认禁用,有可能也没禁用,但是如果你不能判断的话,运行一次也不会影响):

ip link set wlp4s0 up # 开启 wlp4s0
bash

接下来连接 Wi-Fi(以下的 wlp4s0 请替换成自己的网卡名)。

以前是用 wifi-menu 来着,现在改用 iwctl 了。

iwctl
bash

列出网卡(有刚才的网卡名就成功了):

station device list
bash

连接网络:

station wlp4s0 scan
station wlp4s0 get-networks
station wlp4s0 connect ${网络名称}
station wlp4s0 show
exit
bash

输入第三条命令后可能会要求输入 Wi-Fi 密码(如果有的话),切忌输入错误。

测试网络是否已经连接:

ping -c 3 www.baidu.com
bash

硬盘分区、格式化与挂载#

这里推荐用 cfdisk,其图形化界面非常友好。

MBR 启动至少有一个 / 根分区就可以了,UEFI 还要挂载 ESP 分区到 /boot(或者其他目录,但是这样方便 grub、UEFInd 和 system-boot 等引导工具安装)。

以前推荐使用 ext4 格式化,现在似乎更推荐用性能更好、概念更新的 btrfs(GNU 社区对标 zfs 的项目)。

对于非 EFI 目录,我们使用 btrfs 分区。

mkfs.btrfs ${分区目录}
bash

对于 EFI 目录,如果已经有了其他系统的引导文件,那就去不复顾,勿动勿虑。反之则使用 exfat 格式化。

配置 pacman#

按速度添加国内源:

reflector --country China --sort rate --save /etc/pacman.d/mirrorlist
bash

可以开启 pacman 颜色显示:

vim /etc/pacman.conf
bash

输入 /+#Color,定位到 #Color 那一行。然后 i 到编辑模式,把 # 去掉后输入 :wq 退出 vim。

然后同步:

pacman -Syy
bash

可以顺便安装一些有用的包:

  • tree:树形图显示目录
  • lynx / w3m:命令行浏览器,在之后安装系统的时候可以切换到别的 tty 浏览网页,在命令行下不能显示中文
  • fish:开箱即用,非常好用的自动补全

挂载分区#

mount ${根分区} /mnt
mkdir /mnt/boot
mount ${ESP分区} /mnt/boot # 如果是 UEFI 的话
bash

如果安装了 tree 命令可以使用该命令检查:

tree /mnt
bash

安装系统#

这句命令的意思是安装软件到 /mnt 目录下:(个人强烈推荐 fish)

pacstrap -i /mnt linux linux-firmware linux-headers base base-devel vim bash-completion
bash

生成 fstab 和 chroot#

安装完后,生成开机挂载目录的配置文件:

genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab # 检查一下
bash

然后 chroot 进入新系统。

Arch,启动!#

arch-chroot /mnt
arch-chroot /mnt /usr/bin/fish # 如果装了 fish 就输入这句
bash

设置用户与密码#

root 用户密码:

passwd
bash

创建新用户:

useradd -m -g wheel -c /usr/bin/fish ${user} # 如果有 fish 的话输入 -c 及以后内容
passwd ${user}
bash

配置 sudo#

使用 visudo:

visudo
bash

输入 /+wheel,定位到有 NO PASSWD 那一行。然后 i 到编辑模式,把 # 去掉后输入 :wq 退出。

(vim 的基本使用方法后面不再详细介绍)

本地化#

设置语言:

vim /etc/locale.gen
bash

自己把 en_US.UTF-8 UTF-8 那一行和 zh_CN.UTF-8 UTF-8 那一行的 # 去掉:

locale-gen
echo.UTF-8 >> /etc/locale.conf
bash

安装引导#

使用 Grub2#

grub2 应该是以前最常用的引导管理器了。历史悠久,兼容性好,国内资料也很多,有问题也方便解决。

pacman -S grub efibootmgr
grub-install
bash

使用 system-boot#

system-boot 主要针对 gpt 分区与固态硬盘,是 systemd 组件的一部分,继承其简单粗暴的风格。

安装 bootloader:

pacman -S system-boot
bootctl install
bash

bootctl 默认 path=/boot,如果不是需要指定,使用:

bootctl install --path=$dir
bash

配置 loader.conf:

vim /boot/loader/loader.conf
bash

输入:

default arch
timeout 3 # 如果嫌弃的话可以注释掉这行
editor 0
text

参数非常的简单明了,启动也非常的快。

接下来配置 /boot/loader/entries/arch.conf,创建并输入:

title arch
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/nvme0n1p3 rw
text

注意:这里的 /dev/nvme0n1p3 是根目录,需要依照实际情况更改。

更新引导:

bootctl update
bash

用 UEFI 的有兴趣的也可以用 efibootmgr 手动引导和 UEFInd 管理器,这里不再赘述。

安装桌面环境(以 KDE 为例)#

先安装 Xorg 和驱动、中文字体:

pacman -S xorg
pacman -S xf86-video-intel vulkan-intel mesa alsa alsa-utils pulseaudio pulseaudio-bluetooth cups
pacman -S noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk adobe-source-code-pro-fonts adobe-source-sans-fonts adobe-source-serif-fonts adobe-source-han-sans-cn-fonts adobe-source-han-sans-hk-fonts adobe-source-han-sans-tw-fonts adobe-source-han-serif-cn-fonts wqy-zenhei wqy-microhei
bash

再安装 KDE:

pacman -S plasma sddm konsole dolphin kwrite
bash

安装网络管理器#

KDE 和 GNOME 默认集成 NetworkManager:

pacman -S networkmanager
bash

启动服务#

systemctl enable sddm
systemctl enable NetworkManager
bash

最后重启:

exit
reboot
bash

欢迎使用 Arch Linux。

安装 Arch Linux 指南
https://blog.candlest.cc/blog/linux/archlinux-guide
Author Candlest
Published at 2023年7月18日