写在前面
最近花费两千五百多块钱入手了一台Honor X14笔记本,打算装Linux系统日常使用,而目前Linux Distro是众多,虽然现阶段也比较忙,感觉在计算机上花费的时间和精力感觉大不如前,但初心未泯,还是想折腾一下
考虑到服务器长期使用Debian,所以就不再考虑Debian系的系统,在Archlinux、Arch系的Manjaro和EndeavourOS、Fedora和OpenSUSE这几个里思考良久后,本着折腾的原则最终还是选择了Archlinux(剩余的几个也很感兴趣,等来日有机会再研究吧)
注1:本文介绍的是安装Archlinux单系统(覆盖磁盘全部数据),并不适用于Windows+Archlinux双系统(如果安装双系统的话,个别步骤会有差异,例如分区情况以及配置grub引导加载程序的时候等)
注2:由于本文记录的是实体机安装过程,所以没有安装过程的截图,但已尽可能详细地记录了操作步骤
准备工作
烧录镜像
需要准备一个U盘 (需要清空),一个下载好的Archlinux iso镜像文件,一个烧录软件
使用的烧录软件是Rufus,可以直接到官网下载,可以直接下载便携版(portable),免安装方便使用
插好U盘,打开Rufus,选中要烧录的U盘和镜像文件,分区类型选择GPT,目标系统类型选择UEFI,文件系统和簇大小用默认的FAT32和32K字节就好,然后点击开始烧录等待完成即可
Bios 设置
电脑插好烧录好的U盘,开机后疯狂摁F2(针对Honor笔记本,其他品牌需自行百度或询问京东客服进入Bios的方法)
进入Bios界面后找到安全启动(Secure Boot)选项,需要将其关闭(设置为disable)
然后找到引导顺序(Boot Sequence),将USB启动设为首位,点击保存,随后会自动重启,进入U盘启动界面
开始安装
在上一步U盘启动后,等待加载片刻就进入到了安装的命令行环境
设置网络
如果直接插的网线,一般不需要在进行配置就可以联网,但如果你和我一样想用WiFi网络,那么需要手动操作
镜像中提供了iwctl
这个工具可以让我们管理WiFi网络,首先我们直接在终端执行iwctl
就可以进入iwctl
的命令行交互界面
iwctl
然后按照下面操作连接无线网络(注意要将你要连接的无线网络名称改为英文,否则中文输出会乱码)
[iwd]# device list # 查看电脑的无线设备列表,通常应该是wlan0
[iwd]# station [device] scan # 扫描无线网络,将[device]替换为上一条命令显示的设备名称
[iwd]# station [device] get-networks # 列出刚刚扫描到的无线网络名称
[iwd]# station [device] connect [SSID] # 连接到指定的无线网络,[SSID]为无线网络名称,这一步还会要求输入无线网络的密码
[iwd]# exit # 退出交互界面
回到命令行界面后,可以执行ping baidu.com
,检测网络是否连通
更新系统时间
执行下面命令设置NTP时间同步
timedatectl set-ntp true
磁盘分区
可以通过lsblk
和fdisk -l
来查看磁盘和驱动器
lsblk
fdisk -l
因为我只有一块500G的固态硬盘,分区方案考虑为800M的efi系统分区,200G的根目录(/
)分区,剩下200多G全部为用户目录(/home
)分区,大家可以根据自己的情况调整
从上面命令输出中可以找到有个差不多500G的nvme0n1
设备,接下来就要在这块磁盘上使用fdisk
进行分区,按如下步骤操作:
fdisk /dev/nvme0n1 # 执行后进入交互界面,下面均为在交互界面下按顺序输入的指令,供参考
g # 创建GPT分区表
n # 添加新分区
[Enter] # 要求输入分区号(Partition Number),默认回车就行
[Enter] # 要求输入起始扇区(First Sector),默认回车就行
+800M # 要求输入结束扇区(Last Sector),这里我们首先创建800M的efi分区
t # 修改分区类型,由于新建的分区默认为Linux FileSystem类型,需要改为efi类型,由于现在只有一个分区,执行后默认选定该分区
1 # 输入分区类型的编号,1代表efi类型
n # 再添加一个新分区
[Enter] # 要求输入分区号(Partition Number),默认回车就行
[Enter] # 要求输入起始扇区(First Sector),默认回车就行
+200G # 要求输入结束扇区(Last Sector),这里我们创建200G的/目录分区
n # 再添加一个新分区
[Enter] # 要求输入分区号(Partition Number),默认回车就行
[Enter] # 要求输入起始扇区(First Sector),默认回车就行
[Enter] # 要求输入结束扇区(Last Sector),输入回车后会将剩余空间全部分给该分区,用于/home目录分区
p # 打印刚刚分配好的分区表
w # 保存并退出
上述执行完后打印出的分区表如下(因为是安装完系统后截图的所以是中文显示):
格式化分区
下面我们要对刚刚分的三个分区进行格式化,其中efi分区用fat32格式化,文件系统用的ext4格式化,具体操作如下:
mkfs.fat -F32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
mkfs.ext4 /dev/nvme0n1p3
挂载分区
接下来对格式化的分区进行挂载,其中efi分区挂载到启动目录,剩余两个分区分别挂载到根目录和家目录,要注意Linux分区需要从根分区开始,所以必须先将根分区挂载到根目录,然后创建目录挂载其他分区,具体按如下命令操作
mount /dev/nvme0n1p2 /mnt # 先挂载根目录
mkdir /mnt/home
mount /dev/nvme0n1p3 /mnt/home # 挂载家目录
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot # 挂载启动目录
挂载后可以用df
命令查看三个分区是否挂载好了
df -h
修改软件源
为了更快的进行后续软件包的下载和安装,我们需要将软件源替换为国内镜像
通过执行下面指令可以将软件源替换为官方指定的CN区域镜像源
curl -L -o /etc/pacman.d/mirrorlist "https://www.archlinux.org/mirrorlist/?country=CN"
然后编辑/etc/pacman.d/mirrorlist
,只保留下面几个源就好,将其他的都删掉(虽然都是国内的,但有些源速度还是不行)
## China
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch
Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch
安装一些基础软件包
需要注意,下面的命令中的base
、linux
和linux-firmware
是必须要装的,amd-ucode
和intel-ucode
根据处理器的牌子选一个安装,其余的根据情况安装,也可以后续再装
pacstrap /mnt base linux linux-firmware amd-ucode intel-ucode bash-completion vim networkmanager pacman-contrib sudo
安装完成后,执行下面指令生成fstab
文件:
genfstab -U /mnt >> /mnt/etc/fstab
然后切换系统环境到新系统下:
arch-chroot /mnt
设置时区和主机名
将时区设为上海
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 将时区设为上海
hwclock --systohc # 将系统时间同步到硬件时间
编辑/etc/hostname
文件,设置一个主机名,例如mypc
vim /etc/hostname
然后编辑/etc/hosts
文件,内容如下,注意将文件中的mypc.localdomain
和mypc
按照自己的主机名进行匹配修改
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
127.0.0.1 mypc.localdomain mypc
网络设置
按下面指令安装并启用网络管理程序
pacman -S dhcpcd iwd networkmanager
systemctl enable dhcpcd
systemctl enable iwd
systemctl enable NetworkManager
本地化
编辑/etc/locale.gen
文件,将下面三行内容前面的#去掉
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_HK.UTF-8 UTF-8
然后执行下面命令生成本地化配置文件
locale-gen
然后创建一个/etc/locale.conf
文件,写入下面内容
LANG=en_US.UTF-8
设置 root 密码
接下来执行passwd
设置root密码(非常重要,务必牢记)
passwd root
添加新用户
下面添加一个平常登陆使用的普通用户
useradd -m -G wheel -s /bin/bash <username> # 创建用户并添加到wheel组,将<username>替换为自己的用户名
passwd <username> # 为新用户设置密码,同样将<username>替换为自己的用户名
然后将其添加至sudoers
用于使用sudo
命令,由于我们创建用户的时候将其添加至了wheel
组(wheel
组是一个特殊组,通常与管理员权限相关),因此我们只需要确保wheel
组被添加到/etc/sudoers
文件中即可
执行visudo
命令编辑/etc/sudoers
文件
然后找到下面这一行,将最前面的#去掉即可
# %wheel ALL=(ALL:ALL) ALL
执行完后,以后wheel
组的所有成员都将可以使用sudo
命令
安装引导加载程序
使用grub
作为引导加载程序,执行下面命令安装相关程序
pacman -S grub efibootmgr efivar
然后安装grub
到efi分区
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --recheck
最后生成grub
配置文件
grub-mkconfig -o /boot/grub/grub.cfg
注意要确保整个过程没有任何错误
退出chroot环境并重启
按顺序执行下面命令:
exit # 退回安装环境
umount -R /mnt # 卸载分区
reboot # 重启
到此为止,系统层面的安装过程就全部完成了
另外,这里重启的时候可以先不要拔U盘,先再进一次Bios界面把引导顺序改回去,也就是将U盘选项下移,磁盘选项上移,然后保存退出后拔出U盘就好了
安装后的配置工作
刷新包数据库并升级系统中所有软件包
在上一步重启后,可以使用之前创建的普通用户登录,然后在终端界面执行下面命令来更新系统全部软件包
sudo pacman -Syu # 这个命令会先更新本地的软件包数据库(包括所有仓库的索引),然后将系统中所有已安装的软件包升级到最新版本
或者如果遇到签名验证错误,可以按下面指令执行
sudo pacman -S archlinux-keyring # 先更新密钥
sudo pacman -Syu # 再更新系统
一路回车即可
配置图形化界面 (GUI)
安装KDE Plasma
本次安装使用KDE Plasma图形化界面,执行下面命令安装:
sudo pacman -S plasma-meta konsole dolphin # konsole和dolphin分别是终端模拟器和文件管理器
sudo pacman -S wayland # 使用Wayland替代X11管理图形界面,plasma 6默认也会安装X11,但据说plasma 7后将默认使用Wayland
启用图形化界面登陆管理器SDDM
安装好桌面环境后,需要启用SDDM
服务来启动桌面会话,执行下面命令启用:
sudo systemctl enable sddm # 设置开机自启
sudo systemctl start sddm # 直接启动sddm,执行后会直接跳转到图形化登录界面
首次进入图形化登录界面后,默认使用X11管理,如果希望用Wayland管理,需要手动在左下角更改为Wayland
图形化界面网络管理设置
我们在安装系统的时候使用iwctl
连接了WiFi网络,之后会将该网络记住,但在图形界面中我们使用NetworkManager
进行管理,为了避免冲突,需要让iwctl
忘记之前的连接
执行iwctl
进入交互界面,然后按如下操作
[iwd] known-networks list # 列出以前连接过的网络
[iwd] known-networks <SSID> forget # 忘记已知的网络
开启32位支持库和Archlinuxcn中文社区库
需要编辑/etc/pacman.conf
文件,将[multilib]
部分的两行注释去掉即可开启32位库支持
[multilib]
Include = /etc/pacman.d/mirrorlist
然后在文件最下面添加以下内容来添加Archlinuxcn
源,选一个添加即可:
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch # 中国科学技术大学开源镜像站
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch # 清华大学开源软件镜像站
Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch # 哈尔滨工业大学开源镜像站
Server = https://repo.huaweicloud.com/archlinuxcn/$arch # 华为开源镜像站
然后执行下面指令刷新数据库并更新:
sudo pacman -S archlinuxcn-keyring # 导入GPG key
sudo pacman -Syyu # 刷新数据库并更新
安装和启用常用软件包和服务
蓝牙服务
登陆系统后会发现默认是没有启用蓝牙服务的,需要执行下面命令启用:
sudo systemctl enable --now bluetooth
AMD GPU驱动安装
如果你的显卡跟我一样是AMD,那么可以执行下面命令
sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon
可以安装nvtop
程序来查看GPU利用率
sudo pacman -S nvtop
Proxychains
命令行代理工具
sudo pacman -S proxychains
Yay
yay
命令可用于安装AUR中的软件
sudo pacman -S yay
有时候经常需要让yay
命令走代理,可以在.bashrc
中加入下面一行内容
alias yay='https_proxy=socks5://127.0.0.1:10808 http_proxy=socks5://127.0.0.1:108
08 yay' # 更改为自己的socks服务地址
浏览器
安装Firefox浏览器
sudo pacman -S firefox
sudo pacman -S firefox-i18n-zh-cn
字体
安装几个开源中文字体
sudo pacman -S adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei
安装谷歌开源字体及表情
sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
安装完后,就可以到系统设置里修改系统语言啦
修改后,可以从网络上下载自己喜欢的字体文件,例如霞鹜文楷和Cascadia Code,然后到系统设置
- 文字和字体
- 字体管理
里面添加字体,然后在字体
选项中设置为系统字体,让系统的文字变得更加好看
图片查看器
sudo pacman -S gwenview
压缩软件
sudo pacman -S ark # 压缩软件,在 dolphin 中可用右键解压压缩包
输入法
注意,下面介绍的是在Wayland
环境下安装fcitx5
输入法的步骤,如果在X11
环境下安装会有所不同,可以参考Fcitx5官方文档
sudo pacman -S fcitx5-im # 输入法基础包组
sudo pacman -S fcitx5-chinese-addons # 官方中文输入引擎
sudo pacman -S fcitx5-anthy # 日文输入引擎
sudo pacman -S fcitx5-pinyin-moegirl # 萌娘百科词库
sudo pacman -S fcitx5-material-color # 输入法主题
sudo pacman -S fcitx5-pinyin-zhwiki # 中文维基百科创建的词库
安装完成后,进入系统设置
- 键盘
- 虚拟键盘
中选中Fcitx5
应用即可
注:基于
Chromium
的程序(包括浏览器和使用Electron
的程序)如果发现无法调用输入法,则需要加入--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime
启动参数
安装体验更好的Rime输入法(基于Fcitx5输入法框架,由Fcitx团队开发和维护)
sudo pacman -S fcitx5-rime
安装后进入系统设置
- 输入法
会提示发现了新安装的更新,先点击更新
,然后点击添加输入法
,找到中州韵
点击添加
(可以将原来的Pinyin
输入法删掉),然后点应用
即可
注:刚安装后默认为半角+繁体,可以在输入法图标右键,选择
漢字 --> 汉字
选项即可
接下来安装雾凇拼音(Rime-Ice),需要已按上述操作安装了fcitx5
和fcitx5-rime
然后执行下面命令安装
sudo pacman -S rime-ice
然后以补丁的方式创建配置文件在rime
中使用,首先需要在fcitx5-rime
的用户目录下创建default.custom.yaml
文件
nano ~/.local/share/fcitx5/rime/default.custom.yaml
然后写入以下配置(详细配置可以查看官方文档):
patch:
# 仅使用「雾凇拼音」的默认配置,配置此行即可u
__include: rime_ice_suggestion:/
# 以下根据自己所需自行定义,仅做参考。
# 针对对应处方的定制条目,请使用 <recipe>.custom.yaml 中配置,例如 rime_ice.cus
tom.yaml
__patch:
menu/page_size: 5 # 候选词个数
然后右键输入法图标
,找到中州韵
- 雾凇拼音
- 重新部署
,点击一下就完成啦!
代理软件V2rayA
我们使用V2rayA
来作为代理软件,首先执行下面指令安装
sudo pacman -S v2ray v2raya xray
sudo systemctl enable --now v2raya # 启动并配置开机自启
这里我们安装了V2ray
和Xray
内核,但是需要注意默认情况下V2rayA
使用的是V2ray
内核,但如果我们想使用Reality
协议,则需要用到Xray
内核
因此需要切换内核,可参考官方文档,下面提供两种方法(只需要按一种设置即可):
- 编辑修改
/etc/default/v2raya
配置文件首先打开
/etc/default/v2raya
文件sudo nano /etc/default/v2raya
然后找到
V2RAYA_V2RAY_BIN
和V2RAYA_V2RAY_ASSETSDIR
两个环境变量,将其前面的#
去掉,并将其值按如下修改V2RAYA_V2RAY_BIN=/usr/bin/xray V2RAYA_V2RAY_ASSETSDIR=/usr/share/xray
其中
/usr/bin/xray
指的是xray
可执行文件,而/usr/share/xray
指的是xray
数据文件目录(包含了geosite.dat
和geoip.dat
文件)然后重启
v2raya
服务即可sudo systemctl restart v2raya
- 编辑修改
systemd
管理的配置文件新建一个文件夹
/etc/systemd/system/v2raya.service.d
,然后进入文件夹新建一个文件xray.conf
,类似的,写入以下内容[Service] Environment="V2RAYA_V2RAY_BIN=/usr/bin/xray" Environment="V2RAYA_V2RAY_ASSETSDIR=/usr/share/xray"
然后执行下面指令重新加载
V2rayA
服务即可sudo systemctl daemon-reload && sudo systemctl restart v2raya
然后我们从应用中找到V2rayA Web Panel
就可以进入网页版配置界面,导入我们的规则
下面重点说一下路由分流,由于我通常使用浏览器插件Zero Omega
来配置代理,所以通常仅开启代理服务器但不启动系统代理,因此流量通过浏览器插件转发至代理服务器,然后再进行路由选择,具体配置如下
点击右上角的设置,关闭透明代理/系统代理
选项,然后将规则端口的分流模式
选为RoutingA
,随后点击右边的配置
选项,填入以下内容:
default: proxy
# write your own rules below
domain(geosite:cn)->direct
ip(geoip:private)->direct
ip(geoip:cn)->direct
然后保存,注意此时这些规则并不会生效,因为V2rayA
专门为socks
协议和http
协议设置了带分流规则的端口(流量发送进来会按照分流规则分流)和不带分流规则端口(流量进来后并不会按照规则分流),而且默认只设置了http
的分流端口,我们可以点开设置页面左下角的地址与端口
选项,然后填写带分流规则的socks端口
并保存,如下图:
然后在Zero Omega
中设置为带分流端口的socks
地址,按上图也就是socks5://127.0.0.1:20170
,这样流量就可以正常分流了
其他软件包
sudo pacman -S packagekit-qt5 packagekit appstream-qt appstream # 确保 Discover(软件中心)可用,需重启
sudo pacman -S ntfs-3g # 使系统可以识别 NTFS 格式的硬盘
其他自用软件
笔记软件 Obsidian
sudo pacman -S obsidian
PDF阅读器
sudo pacman -S okular
Telegram
sudo pacman -S telegram-desktop
LibreOffice
sudo pacman -S libreoffice-still libreoffice-still-zh-cn
WPS
yay -S wps-office-cn wps-office-mui-zh-cn ttf-wps-fonts wps-office-mime-cn ttf-ms-win10-auto wps-office-fonts
相机
sudo pacman -S kamoso
科学计算器
sudo pacman -S kcalc
Notepad–
一款国产开源很好用的编辑器,替代Notepad++
yay -S notepad--
XfreeRDP
一款用于连接RDP远程桌面的软件
sudo pacman -S freerdp # 注意不是xfreerdp
使用方法简介:
xfreerdp /v:1.2.3.4:3389 /u:administrator /p:"your_password" /cert:ignore
Gnuplot
sudo pacman -S gnuplot
Scilab
yay -S scilab-bin
GNU Octave
sudo pacman -S octave
Grub美化
GNOME-LOOK网站提供了许多Grub美化方案,进入网站后找到Categories
- Grub Themes
即可查看
本次配置使用了这个项目:grub2-themes
Konsole配置
打开Konsole
后,按顺序找到并打开设置
- 配置Konsole
- 配置方案
- 新建
,打开新建配置方案窗口,随便起一个配置名字并勾选默认配置方案
选项;然后打开外观
,选择Breeze微风
,点击编辑
,将透明度
改为10%
;返回外观
,将字体
改为喜欢的字体,例如Cascadia Code
写在最后
不得不说,安装和配置Archlinux确实挺折腾的,需要有耐心,但好在本次安装与配置过程基本顺利,没有出现太大问题,并花了较多时间将过程详细记录了下来以备自己查阅,也希望能给看到这篇文章的Arch初装者一些启发
参考
安装过程参考了许多Wiki、博客和文章,在此感谢各位文章作者