日新计划6月更文 Day 1
Arch Linux是一个比较“邪门”的 GNU/Linux 发行版。由于其安装过程相较于其他 Linux 发行版较为复杂,对新手不友好,一度被称为“邪教”。不过我们可以在安装 Arch Linux 的过程中学到许多知识,包括但不限于“现代” GNU/Linux 发行版的结构、常见的 Linux 操作、较通用的 Linux 系统修复方法等。
由于本文的时效性,安装 Arch Linux 前应阅读其官方提供的 Installation guide
在实体机上安装 Arch Linux 的第一步是准备启动设备(如具有启动计算机功能的 U 盘),个人建议使用 Ventoy制作启动设备,随后从各大镜像站(如北京外国语大学开源镜像站)下载 Arch Linux 的安装镜像文件。
准备安装
成功启动后,我们看到的大概是一个这样的界面:
我们首先让计算机连接到网络。如果计算机采用有线连接且使用 DHCP 自动获取 IP 地址,应该已经连接到网络了。使用ip addr命令查看计算机网卡的状态:
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:af:ca:c1 brd ff:ff:ff:ff:ff:ff
altname enp2s0
inet 192.168.115.101/24 metric 100 brd 192.168.115.255 scope global dynamic ens32
valid_lft 86053sec preferred_lft 86053sec
inet6 fe80::250:56ff:feaf:cac1/64 scope link
valid_lft forever preferred_lft forever
如果我们使用无线网络,可使用iwctl进入 iwd设置环境以连接 WIFI 网络:
NetworkConfigurationEnabled: disabled
StateDirectory: /var/lib/iwd
Version: 2.4
[iwd]# help
- 用
help命令查看 iwctl 的使用帮助
连接网络后,我们就该进行磁盘分区了。当时我使用fdisk进行分区,但是该工具较复杂,现在建议使用cfdisk进行分区。
使用cfdisk /dev/my-disk(my-disk 是你自己的硬盘名)对这块硬盘进行分区。
Linux 中每个设备对应
/dev下的一个虚拟文件,磁盘和分区也不例外根据磁盘与主板的通信协议不同,磁盘名称也不同。可使用
lsblk命令查看电脑中所有的块设备(物理磁盘和虚拟存储设备等):lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 687.9M 1 loop /run/archiso/airootfs sda 8:0 0 16G 0 disk sr0 11:0 1 809.3M 0 rom /run/archiso/bootmnt如上面所是,我只有一块磁盘“sda”
对于一块空硬盘,首先选择磁盘类型(dos或gpt),这与你的主板支持情况有关。
- 对于 Legacy BIOS 的电脑,硬盘上的操作系统从一个“可启动分区”(部分软件称之为“活动分区”)开始,我们只需要为装系统的分区设置“Boot”标记即可;对于 UEFI BIOS 的电脑,操作系统从一个 EFI 分区中的一个 efi 文件开始启动,我们需要准备一个主板可以读取的(如 FAT32 文件系统的)分区作为 EFI 分区。
分区完成后,使用mkfs命令对新建的分区进行格式化:
mkfs.ext4 /dev/sda1
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 4194048 4k blocks and 1048576 inodes
Filesystem UUID: 769d951d-d960-4d3b-8a4f-334b8270d6db
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
接下来将硬盘中的各个分区按照新系统中的挂载逻辑依次挂载到/mnt下:
mount /dev/sda1 /mnt
安装
安装 Arch Linux 使用的所有软件包都是安装时下载的。为了加速下载,建议自己选择一个速度较快的镜像站。首先编辑/etc/pacman.d/mirrorlist,将要使用的镜像站放到文件开头处:
vim /etc/pacman.d/mirrorlist
- vim有
三四种模式——普通模式、编辑模式、末行模式与视图模式,默认进入普通模式- 输入i或I进入编辑模式
- 在编辑模式按 Esc 回到普通模式
- 在普通模式输入:进入末行模式
- 在末行模式输入wq按回车保存并退出
接下来安装系统的基本组件:
pacstrap -K /mnt base base-devel linux-zen linux-firmware vim git networkmanager
对上述包的解释:
- base:系统基本组件,如基本配置文件等
- base-devel:使用 AUR 以及自己打包 Arch Linux 软件包必备
- linux-zen:Linux Zen 内核
- linux-firmware:一些通用的内核模块
- vim、git:后面进行系统配置必备的软件
- networkmanager:一套完整的网络解决方案
接下来生成fstab文件:
genfstab -U /mnt >> /mnt/etc/fstab
- /etc/fstab 用于系统启动时挂载各个分区到指定的位置
系统配置
接下来需要“进入”我们新安装的系统来完成后续配置,使用arch-chroot来“进入”:
arch-chroot /mnt
- 若以后 Linux 系统出现什么问题,也可使用这种方式“进入”来维修系统
首先配置时区:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
系统支持的语言在/etc/locale.gen中设置,修改后使用locale-gen刷新
系统使用的语言在/etc/locale.conf中给出:
LANG=en_US.UTF-8
使用passwd可修改当前用户的密码,root 可以使用passwd + 用户名直接修改i其他用户的密码。
(此时新系统还无法启动,我们会在下一篇文章中详细讲述系统的启动方式及 Boot Loader 的安装与使用)