目前这篇文章已经很旧了。为了方便中文母语者阅读和中国大陆用户使用,可以参考我参与贡献的 Arch Linux Guide 项目:
前言#
在一切开始之前,我需要说明以下三件事:(爹味溢出,可以跳到后面)
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 linkbash这里以我的输出为例:
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:fftext一般以 e 开头的都是有线网卡,比如这里的 enp3s0;一般以 w 开头的都是无线网卡,比如这里的 wlp4s0。
下面我们开启网卡(默认禁用,有可能也没禁用,但是如果你不能判断的话,运行一次也不会影响):
ip link set wlp4s0 up # 开启 wlp4s0bash接下来连接 Wi-Fi(以下的 wlp4s0 请替换成自己的网卡名)。
以前是用 wifi-menu 来着,现在改用 iwctl 了。
iwctlbash列出网卡(有刚才的网卡名就成功了):
station device listbash连接网络:
station wlp4s0 scan
station wlp4s0 get-networks
station wlp4s0 connect ${网络名称}
station wlp4s0 show
exitbash输入第三条命令后可能会要求输入 Wi-Fi 密码(如果有的话),切忌输入错误。
测试网络是否已经连接:
ping -c 3 www.baidu.combash硬盘分区、格式化与挂载#
这里推荐用 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/mirrorlistbash可以开启 pacman 颜色显示:
vim /etc/pacman.confbash输入 /+#Color,定位到 #Color 那一行。然后 i 到编辑模式,把 # 去掉后输入 :wq 退出 vim。
然后同步:
pacman -Syybash可以顺便安装一些有用的包:
- tree:树形图显示目录
- lynx / w3m:命令行浏览器,在之后安装系统的时候可以切换到别的 tty 浏览网页,在命令行下不能显示中文
- fish:开箱即用,非常好用的自动补全
挂载分区#
mount ${根分区} /mnt
mkdir /mnt/boot
mount ${ESP分区} /mnt/boot # 如果是 UEFI 的话bash如果安装了 tree 命令可以使用该命令检查:
tree /mntbash安装系统#
这句命令的意思是安装软件到 /mnt 目录下:(个人强烈推荐 fish)
pacstrap -i /mnt linux linux-firmware linux-headers base base-devel vim bash-completionbash生成 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 用户密码:
passwdbash创建新用户:
useradd -m -g wheel -c /usr/bin/fish ${user} # 如果有 fish 的话输入 -c 及以后内容
passwd ${user}bash配置 sudo#
使用 visudo:
visudobash输入 /+wheel,定位到有 NO PASSWD 那一行。然后 i 到编辑模式,把 # 去掉后输入 :wq 退出。
(vim 的基本使用方法后面不再详细介绍)
本地化#
设置语言:
vim /etc/locale.genbash自己把 en_US.UTF-8 UTF-8 那一行和 zh_CN.UTF-8 UTF-8 那一行的 # 去掉:
locale-gen
echo.UTF-8 >> /etc/locale.confbash安装引导#
使用 Grub2#
grub2 应该是以前最常用的引导管理器了。历史悠久,兼容性好,国内资料也很多,有问题也方便解决。
pacman -S grub efibootmgr
grub-installbash使用 system-boot#
system-boot 主要针对 gpt 分区与固态硬盘,是 systemd 组件的一部分,继承其简单粗暴的风格。
安装 bootloader:
pacman -S system-boot
bootctl installbashbootctl 默认 path=/boot,如果不是需要指定,使用:
bootctl install --path=$dirbash配置 loader.conf:
vim /boot/loader/loader.confbash输入:
default arch
timeout 3 # 如果嫌弃的话可以注释掉这行
editor 0text参数非常的简单明了,启动也非常的快。
接下来配置 /boot/loader/entries/arch.conf,创建并输入:
title arch
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/nvme0n1p3 rwtext注意:这里的 /dev/nvme0n1p3 是根目录,需要依照实际情况更改。
更新引导:
bootctl updatebash用 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-microheibash再安装 KDE:
pacman -S plasma sddm konsole dolphin kwritebash安装网络管理器#
KDE 和 GNOME 默认集成 NetworkManager:
pacman -S networkmanagerbash启动服务#
systemctl enable sddm
systemctl enable NetworkManagerbash最后重启:
exit
rebootbash欢迎使用 Arch Linux。
