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-supplicantFstab
用以下命令生成 fstab 文件 (用 -U 或 -L 选项设置 UUID 或卷标):
genfstab -U /mnt >> /mnt/etc/fstabvim /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-genvim /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 c3poRoot 密码
设置 Root 密码:
passwd安装引导程序
pacman -S dosfstools grub efibootmgr amd-ucodegrub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grubgrub-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
rebootWritten by nnfewl, a noob. Follow me on Twitter