安装Arch Linux的踩坑记录总结

1   安装arch系统镜像

  1. 下载镜像:点击跳转,使用PE U盘或者虚拟机加载CD方式加载系统镜像。
  2. 选择Arch Linux install medium (x86_64, UEFI)
  3. 验证启动模式:ls /sys/firmware/efi/efivars。若正确输出目录且无错误,则证明是UEFI模式。
  4. 连接网络(由路由器DHCP自动下发分配IP),ping测试联网状态(ip addr查看IP),可用ssh连接完成后面的工作,方便复制粘贴命令(systemctl status sshd查看ssh保护进程运行状态),passwd修改当前环境root账户的密码。
  5. 重新设置镜像源mirrorlist,使用reflector获取速度最快的6个镜像,并保存至指定路径/etc/pacman.d/mirrorlist
    1
    2
    reflector -c China -a 6 --sort rate --save /etc/pacman.d/mirrorlist
    reflector -c China -a 6 --sort rate --save /mnt/etc/pacman.d/mirrorlist
    手动设置镜像源:
    1
    2
    3
    4
    nano /etc/pacman.d/mirrorlist
    # 顶部添加如下镜像源
    Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
    Server = https://repo.archlinuxcn.org/$arch
  6. 打开自动同步时间:timedatectl set-ntp true。检测命令生效情况:timedatectl status
  7. lsblk或者fdisk -l查看硬盘情况(rom、loop、airoot的设备可忽略掉)。使用fdisk分区:fdisk /dev/sda,按g并回车将磁盘分区表设置为GPT格式,按n并回车新增一个分区,分区号默参直接回车,起始扇区默参直接回车,结束位置输入+300M并回车表示分区大小为300M。重复n命令三次,完成剩余的三个分区的工作。按t并回车更改分区类型,输入分区编号1并回车,输入分区类型1并回车(1代表EFI system partition)。重复t命令,将2、3、4号分区分别改为类型19(SWAP),类型23(Linux root (x86-64)),类型42(Linux home)。最后按w并回车保存分区表。df -h查看分区情况。
  8. 磁盘格式化
    1
    2
    3
    4
    mkfs.fat -F 32 /dev/sda1
    mkswap /dev/sda2
    mkfs.ext4 /dev/sda3
    mkfs.ext4 /dev/sda4
  9. 挂载文件系统
    挂载boot
    1
    2
    3
    4
    5
    mount /dev/sda3 /mnt
    mkdir -p /mnt/home #创建/mnt/home目录供挂载
    mount /dev/sda4 /mnt/home
    mkdir -p /mnt/boot #创建/mnt/boot目录供挂载
    mount /dev/sda1 /mnt/boot
    挂载swap:swapon /dev/sda2
  10. 安装系统:pacstrap /mnt base linux linux-firmware nano
  11. 生成fstab文件:genfstab -U /mnt >> /mnt/etc/fstab。检查fstab文件内容:cat /mnt/etc/fstab
  12. 更换当前的根目录到安装到硬盘上的系统:arch-chroot /mnt
  13. 将时区设置为亚洲/上海:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  14. 同步硬件时钟:hwclock --systohc
  15. 配置本地化设置:nano /etc/locale.genctrl+w搜索,分别找到#en_US,#zh_CN带有UTF-8的两行,去掉前面的#号。ctrl+o并回车保存文件,ctrl+x并回车退出nano。生成配置:locale-gen
  16. 创建并修改/etc/locale.conf文件,填入LANG=en_US.UTF-8并保存。
    1
    2
    touch /etc/locale.conf
    nano /etc/locale.conf
  17. 配置网络主机名:echo "archlinux" >> /etc/hostname
  18. 设置root密码:passwd
  19. 设置引导程序
    1
    2
    3
    pacman -S dosfstools grub efibootmgr  # 安装引导程序
    grub-install --target=x86_64-efi --efi-directory=/boot --recheck # 将grub安装至EFI分区
    grub-mkconfig -o /boot/grub/grub.cfg # 生成grub配置
  20. 安装新系统必要的包:pacman -S networkmanager network-manager-applet dhcpcd dialog os-prober mtools ntfs-3g base-devel linux-headers reflector git。更新软件包缓存:sudo pacman -Syy。更新系统:sudo pacman -Syu
  21. 开启dhcpcd
    1
    2
    systemctl start dhcpcd  # 启动dhcpcd
    systemctl enable dhcpcd # 使dhcpcd自启
  22. 启用sshd服务并远程控制
    1
    2
    3
    4
    5
    6
    systemctl start sshd
    systemctl enable sshd
    nano /etc/ssh/sshd_config
    # 将其中PermitRootLogin前面#号去掉并且将值设置为yes
    # 将其中PasswordAuthentication前面#号去掉并且将值设置为yes
    systemctl restart sshd
  23. 添加普通用户
    1
    2
    3
    4
    5
    6
    7
    useradd -m kin # 添加用户名为kin的用户
    passwd kin # 为用户kin设置密码
    # 添加用户的更多选项
    # useradd -m -G additional_groups -s login_shell username
    pacman -S sudo
    nao /etc/sudoers
    # 打开/etc/sudoers文件后,在root ALL=(ALL:ALL) ALL一行下,添加kin ALL=(ALL:ALL) ALL。
  24. 退出chroot环境,卸载掉挂载的硬盘并重启
    1
    2
    3
    4
    5
    exit  # 返回至arch-chroot之前的环境
    umount /mnt/home
    umount /mnt/boot
    umount /mnt
    reboot # 重启

分区方案(列表顺序就是实际的分区顺序)

  • /boot/efi 300M
  • swap(内存大小×1.5)
  • / 40G
  • /home 剩余全部空间

Swap分区的大小分配推荐方案

Amount of RAM in the systemRecommended swap spaceRecommended swap space if allowing for hibernation
⩽ 2GB2 times the amount of RAM3 times the amount of RAM
> 2GB – 8GBEqual to the amount of RAM2 times the amount of RAM
> 8GB – 64GBAt least 4 GB1.5 times the amount of RAM
> 64GBAt least 4 GBHibernation not recommended

2   安装KDE桌面环境

  1. 安装显示Xorg服务器:sudo pacman -S xorg
  2. 安装KDE Plasma桌面环境和其他KDE软件包:sudo pacman -S plasma kde-applications
  3. 安装显示管理器(开机图形界面登录)
    1
    2
    sudo pacman -S sddm
    systemctl enable sddm.service # 开机自启动sddm服务
  4. 进入桌面环境
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 手动进入桌面环境
    startx
    # 修改当前帐户bash配置,让账户登录后自动进入桌面环境
    nano ~/.bash_profile
    # 或者修改Shell的全局启动配置文件
    nano /etc/profile
    # 文件末尾处添加如下内容
    if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
    exec startx
    fi

3   参考文献

[1] 在ProxmoxVE(PVE)7.0中安装ArchLinux[EB/OL]. https://www.raobee.com/archives/343/.
[2] Arch Linux + KDE 的安装和配置[EB/OL]. https://peoxin.github.io/blog/2022/05/01/Arch%20Linux%20+%20KDE%20%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AE/.
[3] Installation guide[EB/OL]. https://wiki.archlinux.org/title/Installation_guide.
[4] How to Install Deepin Desktop in Arch Linux [Complete Guide][EB/OL]. https://www.debugpoint.com/2021/01/deepin-arch-linux-install-20/.
[5] Easy Step - Arch Linux ( EFI ) With Clover ( EFI )[EB/OL]. https://www.insanelymac.com/forum/topic/294443-easy-step-arch-linux-efi-with-clover-efi/.
[6] 10 Commands to Check Disk Partitions and Disk Space on Linux[EB/OL]. https://www.binarytides.com/linux-command-check-disk-partitions/.
[7] Can't establish an internet connection in Arch Linux[EB/OL]. https://superuser.com/questions/751961/cant-establish-an-internet-connection-in-arch-linux.
[8] Deepin Desktop Environment (简体中文)[EB/OL]. https://wiki.archlinux.org/title/Deepin_Desktop_Environment_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87).
[9] Localization (简体中文)/Simplified Chinese (简体中文)[EB/OL]. https://wiki.archlinux.org/title/Localization_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/Simplified_Chinese_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87).
[10] VirtualBox/Install Arch Linux as a guest[EB/OL]. https://wiki.archlinux.org/title/VirtualBox/Install_Arch_Linux_as_a_guest.
[11] How to enable a Virtualbox shared folder for Linux guest systems[EB/OL]. https://averagelinuxuser.com/virtualbox-shared-folder/.
[12] Recommended Partitioning Scheme[EB/OL]. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-x86.