Arch Linux Installation Manual
June 24, 2019
1. 基本系统
验证启动模式
如果以在 UEFI 主板上启用 UEFI 模式,Archiso 将会使用 systemd-boot 来 启动 Arch Linux。可以列出 efivars 目录以验证启动模式:
ls /sys/firmware/efi/efivars
更新系统时间
使用 timedatectl(1) 确保系统时间是准确的:
timedatectl set-ntp true
连接到因特网
通过 ip link
查看无线设备名,通常是类似 wlp2s1
的设备。
- 启用设备:
ip link set wlp56s0f3u4 up
- 连接无线网络:
wifi-menu -o
- 用 ping 检查网络连接:
ping archlinux.org
建立硬盘分区
磁盘若被系统识别到,就会被分配为一个 块设备,如 /dev/sda
或者 /dev/nvme0n1
。可以使用 lsblk -l
或者 fdisk -l
查看:
lsblk -l
分区示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 500.8G 1 loop /run/archiso/sfs/airootfs
sda 8:0 0 223.6G 0 disk
sda1 8:1 0 512M 0 part /mnt/boot/efi
sda2 8:2 0 4G 0 part [SWAP]
sda3 8:3 0 64G 0 part /mnt
sda4 8:4 0 64G 0 part /mnt/opt
sdb5 8:5 0 91.9G 0 part /mnt/home
sdb 8:16 1 14.7G 0 disk
sdc1 8:17 1 119.2G 0 part /run/archiso/bootmnt
开始分区(GPT 硬盘使用 gdisk 分区):
gdisk /dev/sda
第一个分区+512M
,第二个分区+4G
,第三个分区+64G
,第四个分区+64G
,第五个分区默认剩下的空间。
格式化分区
格式化第一块分区(挂载点/mnt/boot/EFI
):
mkfs.fat -F32 /dev/sda1
初始化交换分区:
mkswap /dev/sda2
swapon /dev/sda2
格式化第三块分区(挂载点/mnt
):
mkfs.ext4 /dev/sda3
格式化第四块分区(挂载点/mnt/opt
):
mkfs.ext4 /dev/sda4
格式化第五块分区(挂载点/mnt/home
):
mkfs.ext4 /dev/sda5
挂载分区
先将根分区挂载到/mnt
:
mount /dev/sda3 /mnt
创建其他剩余的挂载点:
mkdir -p /mnt/boot/EFI
mkdir /mnt/opt
mkdir /mnt/home
再将 boot 分区挂载到/mnt/boot/EFI
:
mount /dev/sda1 /mnt/boot/EFI
再将 opt 分区挂载到/mnt/opt
:
mount /dev/sda4 /mnt/opt
最后将 home 分区挂载到/mnt/home
:
mount /dev/sda5 /mnt/home
选择镜像:
文件 /etc/pacman.d/mirrorlist
定义了软件包会从哪个 镜像源 下载。在 LiveCD 启动的系统上,所有的镜像都被启用,并且通过他们的同步情况和速度进行了排序。在列表中越前的镜像在下载软件包时有越高的优先权。相应的修改文件 /etc/pacman.d/mirrorlist
,并将地理位置最近的镜像源挪到文件的头部,这个文件接下来还会被 pacstrap 拷贝到新系统里,所以请确保设置正确。
vim /etc/pacman.d/mirrorlist
按i进入编辑模式,添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
按 ESC 退出编辑模式,按:x保存并退出。
安装基本系统
pacstrap /mnt base base-devel vim git neofetch dialog wpa-supplicant
Fstab
用以下命令生成 fstab 文件 (用 -U
或 -L
选项设置 UUID 或卷标):
genfstab -U /mnt >> /mnt/etc/fstab
vim /mnt/etc/fstab
按i进入编辑模式,把 EFI 分区移动到第一位,SSD 添加参数noatime,discard
:
修改前:
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <mount point> <type> <options> <dump> <pass>
# /dev/sda3
UUID=81cf250c / ext4 rw,relatime 0 1
# /dev/sda1
UUID=52C6-2A8 /boot/EFI vfat rw,relatime 0 2
# /dev/sda4
UUID=0222c134 /opt ext4 rw,relatime 0 2
# /dev/sda5
UUID=8b57951e /home ext4 rw,relatime 0 2
# /dev/sda2
UUID=06f8ec54 none swap defaults 0 0
修改后:
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <mount point> <type> <options> <dump> <pass>
# /dev/sda1
UUID=52C6-2A8 /boot/EFI vfat rw,relatime,noatime,discard 0 2
# /dev/sda3
UUID=81cf250c / ext4 rw,relatime,noatime,discard 0 1
# /dev/sda4
UUID=0222c134 /opt ext4 rw,relatime,noatime,discard 0 2
# /dev/sda5
UUID=8b57951e /home ext4 rw,relatime,noatime,discard 0 2
# /dev/sda2
UUID=06f8ec54 none swap defaults,noatime,discard 0 0
按 ESC退出编辑模式,按:x保存并退出。
Chroot
Change root 到新安装的系统:
arch-chroot /mnt
时区
设置 时区:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
例如:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
运行 hwclock(8) 以生成 /etc/adjtime
:
hwclock --systohc
这个命令假定硬件时间已经被设置为 UTC 时间。详细信息请查看 System time#Time standard。
本地化
本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.gen
与 locale.conf
。
/etc/locale.gen
是一个仅包含注释文档的文本文件。指定您需要的本地化类型,只需移除对应行前面的注释符号(#
)即可,建议选择带 UTF-8
的项:
vim /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
按/搜索en_US.UTF-8 UTF-8
,按i编辑,删除前面的注释符号#
按/搜索en_CN.UTF-8 UTF-8
,按i编辑,删除前面的注释符号#
按/搜索en_TW.UTF-8 UTF-8
,按i编辑,删除前面的注释符号#
按ESC退出编辑模式,按:x保存并退出。
接着执行:
locale-gen
vim /etc/locale.conf
按i编辑,写入LANG=en_US.UTF-8
,按ESC退出编辑模式,按:x保存并退出。
网络
创建 hostname 文件:
vim /etc/hostname
按i编辑,写入主机名c3po
,按ESC退出编辑模式,按:x保存并退出。
添加对应的信息到 hosts(5):
/etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 c3po.localdomain c3po
Root 密码
设置 Root 密码:
passwd
安装引导程序
pacman -S dosfstools grub efibootmgr amd-ucode
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
重启系统
输入 exit
或按 Ctrl + D 退出 chroot 环境。
用 umount -R /mnt
手动卸载被挂载的分区,有助于发现可能任何「繁忙」的分区。
最后,通过执行 reboot
重启系统,systemd 将自动卸载仍然挂载的任何分区。不要忘记移除安装介质,然后使用 root 帐户登录到新系统。
2. 桌面环境(以 Deepin Desktop Environment 为例)
连接到因特网
通过 ip link
查看无线设备名,通常是类似 wlp2s1
的设备。
- 启用设备:
ip link set wlp56s0f3u4 up
- 连接无线网络:
wifi-menu -o
- 用 ping 检查网络连接:
ping archlinux.org
添加登录用户
以典型的桌面系统为例,要添加一个名为[用户名]的用户,并使用bash作为登录 shell:
useradd -m -G wheel -s /bin/bash [用户名]
设置用户密码:
passwd [用户名]
visudo
往下翻,找到这一行:
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
把# %wheel ALL=(ALL) ALL
前的注释符号#删掉:
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
安装显示服务
pacman -S xorg xorg-server networkmanager
安装 Deepin 桌面环境
pacman -S deepin deepin-extra
配置 lightdm 登录管理器
vim /etc/lightdm/lightdm.conf
找到这一行,按i编辑:
#greeter-session=example-gtk-gnome
删掉注释符号#,并改为:
greeter-session=lightdm-deepin-greeter
按 ESC 退出编辑模式,按:x保存并退出。
启用登录管理器:
systemctl enable lightdm.service
启用网络管理器,重启系统:
systemctl enable NetworkManager.service
reboot
Written by Λrκvxcx, a noob. Follow me on Twitter