Arch Linux目前作为我的日常系统之一已经使用了一段时间,很早之前就听说过其大名,但是一直因为自己的“拖延症”,没有早点去尝试。现在用下来感觉真香。安装其实也并不复杂,目前我安装了两台(一台笔记本、一台台式机),最大的难点其实就是磁盘分区那块,虽然对于老手来说可能很简单,但是对于我这样子的新手来说,还是存在一定的”害怕”心理,因为已经安装完毕,当时也没记录过程中的图片,所以只能用文字的方式回忆并记录自己的安装笔记,特别是一些点,会在其步骤中详细说明,避免后续自己或者看到这边文章的你后续踩坑,祝愿Arch Linux越来越好,一直滚更,一直滚更,不会挂。
安装前准备
Bios中设置主板引导项为UEFI + 关闭安全启动(Secure Boot)
一个刻录好Arch Linux Live镜像的U盘
一台非主力机(最好不要直接在自己的主力机上使用,避免BOOM后没办法操作)
另外一台可以上网设备(用来看wiki文档和命令、安装教程)
启动安装
设备使用U盘启动,进入安装界面
连接网络
如果是有线网络,Arch Linux一般会自动识别可以通过ping来检查网络的联通性
ping 8.8.8.8
如果是无线网络,使用iwctl
进行连接
iwctl #进入iwctl程序
device list #查看无线网卡
station wlan0 scan #扫描可使用的Wifi
station wlan0 connect <ssid> #连接自己的wifi
更新时钟
timedatectl set-ntp true
磁盘分区
这个是我认为整个安装过程中最容易踩坑的点,一不小心可能就会丢失数据。因此在安装之前如何有啥数据一定要提前备份,这也是我主张使用一台非主力机进行安装尝试,后面熟练了再逐步切换到主力使用,而且Arch + Xfce4真的非常轻量级,我多年前的电脑目前安装了后,也能成为自己的好帮手。
这里我使用fdisk工具进行安装
查询当前的设备
fdisk -l
会展示如下类似的信息
Disk /dev/sdb: 223.57 GiB, 240057409536 bytes, 468862128 sectors
Disk model: KINGSTON SA400S3
比如我需要安装在这个名为sdb
的KINGSTON(223.57GB)硬盘上,后续的操作都是要使用sdb,使用sdb,使用sdb。
有些教程会直接说sda,这是不对的,一定要自己查询然后确定这个设备的名称,这个非常重要不然容易翻车。
我们需要创建两个分区,一个是EFI分区(ESP),另外一个是Linux根分区。当然分区可以根据你自己的喜好挂载,比如你的用户目录要挂载到其他磁盘都是可以的。
fdisk /dev/sdb #请执行前再次确认要安装的磁盘名称是否为sdb
n #输入n创建第一个分区并设置大小为512M
回车键 #输入硬盘start(起始位置),一般为默认
+512M #输入结束位置为起始位置开始的后面512M
t #输入t设置分区类型,选择1设置为EFI类型
n #创建第二个分区根分区
回车键(两次) #起始位置和结束位置都让系统自动分配,空间都利用上即可
w #保存并退出
格式化EFI分区和根分区
mkfs.fat -F32 /dev/sdb1 # EFI分区(第一个创建的)
mkfs.ext4 /dev/sdb2 # 根分区
挂载分区(先挂载到mnt)
mount /dev/sdb2 /mnt
mkdir /mnt/boot #创建boot文件夹
mount /dev/sdb1 /mnt/boot #挂载EFI分区到boot
基于上面这些操作,已经把整个安装过程中最复杂的一项解决了,后面可以愉快的进行下一步安装。
安装Linux 基本系统
使用pacstrap
进行安装
pacstrap /mnt base base-devel linux linux-firmware vim
配置系统
使用genfstab命令生成fstab文件
genfstab -U /mnt >> /mnt/etc/fstab
切换到新系统
arch-chroot /mnt
设置时区及语言
设置时区(shanghai)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
设置语言(先设置英语优先,设置中文后续会在命令行中出现方块字,等字体安装后再操作)
vim /etc/locale.gen
#取消下面两个注释,建议使用find查询
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
:wq #保存并退出vim
locale-gen #生成语言环境
echo LANG=en_US.UTF-8 > /etc/locale.conf
设置主机名和本地网络
echo archlinux > /etc/hostname #archlinux可以改成自己喜欢的名字
vim /etc/hosts
#添加如下内容,i插入,wq保存
127.0.0.1 localhost
::1 localhost
127.0.0.1 archlinux.localdomain archlinux
安装引导工具
安装grub
和efibootmgr
pacman -S grub efibootmgr
安装引导加载工具到EFI分区
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
生成GRUB配置
grub-mkconfig -o /boot/grub/grub.cfg
其他配置项
设置root密码
passwd #根据提示设定root的密码
安装并配置网络管理工具,管理Wifi(但好像没这么简单,最好备用一个USB的有线网口,我记得安装笔记本的时候切换了好多次live CD才搞好无语,后续再验证一下)
pacman -S networkmanager iwd iw wireless_tools wpa_supplicant dialog
pacman -S network-manager-applet
systemctl enable NetworkManager
安装蓝牙
sudo pacman -S bluez bluez-utils
sudo systemctl start bluetooth
sudo systemctl enable bluetooth
sudo pacman -S blueman #蓝牙管理图形化工具
安装常用软件
pacman -S sudo vim git firefox timeshift
创建一个自己的用户(root权限太大,不安全)
useradd -m -G wheel -s /bin/bash dandy #示例中的dandy可以改成其他的
passwd dandy #设置新用户的密码
#编辑/etc/sudoers文件,允许wheel组用户使用sudo
%wheel ALL=(ALL:ALL) ALL #取消这行注释
退出chroot环境并重启系统(进入Arch Linux)
exit
umount -R /mnt
reboot
Arch Linux 装修
电脑重启后,会进入Arch Linux初始不带桌面的”高效“状态。为了能够更好的符合自己的日常使用,我们进行桌面的环境安装,这里选择xfce4 + xfce-goodies,我个人倾向是使用Linux桌面资源占用越少越好,当然可以根据自己的需要选择gnome和kde 。
安装桌面环境
pacman -S xfce4 xfce4-goodies #装上默认所有的,涵盖terminal,thunar文件管理器,Mousepad轻量级文本编辑器
pacman -S xf86-video-intel #安装intel集成显卡驱动
pacman -S nvidia nvidia-utils #安装nvida驱动,根据硬件的实际情况选择
pacman -S lightdm lightdm-gtk-greeter #安装显示管理器DM用来登录系统,这里选择lightdm
systemctl enable lightdm
systemctl start lightdm
安装中文输入法
这里我选择fcitx5框架以及Rime中文输入法
sudo pacman -S fcitx5 fcitx5-configtool kwindowsystem fcitx5-qt fcitx5-rime
fcitx5-configtool-qt这老小子需要依赖于kwindowsystem,不然打不开qt界面直接会提示报错。
配置fcitx5作为基本输入
vim ~/.xprofile
#粘贴如下内容
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export INPUT_METHOD=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=fcitx
#使配置生效
source ~/.xprofile
创建一个4GB的swap文件作为保底,避免内存不足使系统产生自回收,导致卡死
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon -s
sudo vim /etc/fstab #将swap文件设置为开机自启
/swapfile none swap sw 0 0 #添加这条内容到文件末尾
安装一些工具包(yay、xterminal、clash-verge)
上面提及的三个包都比较强依赖于网络的通畅性,首次安装难免比较缓慢,可以直接安装ZST
格式的离线包,这些都是基于官方的编译脚本,手工打出来的,有需要可以私信联系。
sudo pacman -U yay-bin-12.4.2-1-x86_64.pkg.tar.zst
sudo pacman -U clash-verge-rev-bin-2.1.0-1-x86_64.pkg.tar.zst
sudo pacman -U xterminal-bin-2.9.3-1-x86_64.pkg.tar.zst
手动校验时间
有些情况下时间没有自动同步,可以手工调用ntp同步
sudo timedatectl set-timezone Asia/Shanghai
timedatectl
sudo timedatectl set-ntp true
timedatectl
安装zsh 和 oh-my-zsh(插件)
sudo pacman -S zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
配置zsh为默认,custom commnd修改为/usr/bin/zsh
,如下图
编辑 ~/.zshrc
文件,找到以下行:
ZSH_THEME="robbyrussell"
将 robbyrussell
替换为你喜欢的主题,例如 agnoster
找到 ~/.zshrc
中的 plugins
部分,可以添加插件,例如:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
source ~/.zshrc
为了避免显示三角箭头显示乱码我选择一下支持的字体
安装常用字体
yay -S ttf-ms-win11-auto
yay -S ttf-ms-win11-auto-zh_cn
yay -S ttf-ms-fonts
yay -S ttf-wps-fonts
yay -S freetype2-wps
日常软件
yay -S firefox-nightly-bin google-chrome wechat-bin wps-office-cn rustdesk-bin
滚动更新
尽量1~2周执行一次,长时间不更新一次性更新太大的包容易滚挂掉
sudo pacman -Syu
软件也可以执行yay
进行更新。