安装Arch Linux的踩坑记录总结
1   安装arch系统镜像
- 下载镜像:点击跳转,使用PE U盘或者虚拟机加载CD方式加载系统镜像。
- 选择
Arch Linux install medium (x86_64, UEFI)
。 - 验证启动模式:
ls /sys/firmware/efi/efivars
。若正确输出目录且无错误,则证明是UEFI模式。 - 连接网络(由路由器DHCP自动下发分配IP),ping测试联网状态(
ip addr
查看IP),可用ssh连接完成后面的工作,方便复制粘贴命令(systemctl status sshd
查看ssh保护进程运行状态),passwd修改当前环境root账户的密码。 - 重新设置镜像源mirrorlist,使用reflector获取速度最快的6个镜像,并保存至指定路径
/etc/pacman.d/mirrorlist
。手动设置镜像源:1
2reflector -c China -a 6 --sort rate --save /etc/pacman.d/mirrorlist
reflector -c China -a 6 --sort rate --save /mnt/etc/pacman.d/mirrorlist1
2
3
4nano /etc/pacman.d/mirrorlist
# 顶部添加如下镜像源
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://repo.archlinuxcn.org/$arch - 打开自动同步时间:
timedatectl set-ntp true
。检测命令生效情况:timedatectl status
。 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
查看分区情况。- 磁盘格式化
1
2
3
4mkfs.fat -F 32 /dev/sda1
mkswap /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4 - 挂载文件系统
挂载boot挂载swap:1
2
3
4
5mount /dev/sda3 /mnt
mkdir -p /mnt/home #创建/mnt/home目录供挂载
mount /dev/sda4 /mnt/home
mkdir -p /mnt/boot #创建/mnt/boot目录供挂载
mount /dev/sda1 /mnt/bootswapon /dev/sda2
- 安装系统:
pacstrap /mnt base linux linux-firmware nano
- 生成fstab文件:
genfstab -U /mnt >> /mnt/etc/fstab
。检查fstab文件内容:cat /mnt/etc/fstab
。 - 更换当前的根目录到安装到硬盘上的系统:
arch-chroot /mnt
- 将时区设置为亚洲/上海:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
。 - 同步硬件时钟:
hwclock --systohc
。 - 配置本地化设置:
nano /etc/locale.gen
,ctrl+w
搜索,分别找到#en_US
,#zh_CN
带有UTF-8的两行,去掉前面的#号。ctrl+o
并回车保存文件,ctrl+x
并回车退出nano。生成配置:locale-gen
。 - 创建并修改/etc/locale.conf文件,填入
LANG=en_US.UTF-8
并保存。1
2touch /etc/locale.conf
nano /etc/locale.conf - 配置网络主机名:
echo "archlinux" >> /etc/hostname
, - 设置root密码:
passwd
。 - 设置引导程序
1
2
3pacman -S dosfstools grub efibootmgr # 安装引导程序
grub-install --target=x86_64-efi --efi-directory=/boot --recheck # 将grub安装至EFI分区
grub-mkconfig -o /boot/grub/grub.cfg # 生成grub配置 - 安装新系统必要的包:
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
。 - 开启dhcpcd
1
2systemctl start dhcpcd # 启动dhcpcd
systemctl enable dhcpcd # 使dhcpcd自启 - 启用sshd服务并远程控制
1
2
3
4
5
6systemctl start sshd
systemctl enable sshd
nano /etc/ssh/sshd_config
# 将其中PermitRootLogin前面#号去掉并且将值设置为yes
# 将其中PasswordAuthentication前面#号去掉并且将值设置为yes
systemctl restart sshd - 添加普通用户
1
2
3
4
5
6
7useradd -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。 - 退出chroot环境,卸载掉挂载的硬盘并重启
1
2
3
4
5exit # 返回至arch-chroot之前的环境
umount /mnt/home
umount /mnt/boot
umount /mnt
reboot # 重启
分区方案(列表顺序就是实际的分区顺序)
/boot/efi
300Mswap
(内存大小×1.5)/
40G/home
剩余全部空间
Swap分区的大小分配推荐方案
Amount of RAM in the system | Recommended swap space | Recommended swap space if allowing for hibernation |
---|---|---|
⩽ 2GB | 2 times the amount of RAM | 3 times the amount of RAM |
> 2GB – 8GB | Equal to the amount of RAM | 2 times the amount of RAM |
> 8GB – 64GB | At least 4 GB | 1.5 times the amount of RAM |
> 64GB | At least 4 GB | Hibernation not recommended |
2   安装KDE桌面环境
- 安装显示Xorg服务器:
sudo pacman -S xorg
。 - 安装KDE Plasma桌面环境和其他KDE软件包:
sudo pacman -S plasma kde-applications
。 - 安装显示管理器(开机图形界面登录)
1
2sudo pacman -S sddm
systemctl enable sddm.service # 开机自启动sddm服务 - 进入桌面环境
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.