Archlinux安装及折腾全记录

本文详细记录了Archlinux从系统安装到各种折腾和配置的全过程

写在前面


最近花费两千五百多块钱入手了一台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

磁盘分区


可以通过lsblkfdisk -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

安装一些基础软件包


需要注意,下面的命令中的baselinuxlinux-firmware是必须要装的,amd-ucodeintel-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.localdomainmypc按照自己的主机名进行匹配修改

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输入法删掉),然后点应用即可

image

注:刚安装后默认为半角+繁体,可以在输入法图标右键,选择漢字 --> 汉字选项即可

image


接下来安装雾凇拼音(Rime-Ice),需要已按上述操作安装了fcitx5fcitx5-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  # 候选词个数

然后右键输入法图标,找到中州韵 - 雾凇拼音 - 重新部署,点击一下就完成啦!

image

代理软件V2rayA


我们使用V2rayA来作为代理软件,首先执行下面指令安装

sudo pacman -S v2ray v2raya xray

sudo systemctl enable --now v2raya  # 启动并配置开机自启

这里我们安装了V2rayXray内核,但是需要注意默认情况下V2rayA使用的是V2ray内核,但如果我们想使用Reality协议,则需要用到Xray内核

因此需要切换内核,可参考官方文档,下面提供两种方法(只需要按一种设置即可):

  1. 编辑修改/etc/default/v2raya配置文件

首先打开/etc/default/v2raya文件

sudo nano /etc/default/v2raya

然后找到V2RAYA_V2RAY_BINV2RAYA_V2RAY_ASSETSDIR两个环境变量,将其前面的#去掉,并将其值按如下修改

V2RAYA_V2RAY_BIN=/usr/bin/xray

V2RAYA_V2RAY_ASSETSDIR=/usr/share/xray

其中/usr/bin/xray指的是xray可执行文件,而/usr/share/xray指的是xray数据文件目录(包含了geosite.datgeoip.dat文件)

然后重启v2raya服务即可

sudo systemctl restart v2raya
  1. 编辑修改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

image

Konsole配置


打开Konsole后,按顺序找到并打开设置 - 配置Konsole - 配置方案 - 新建,打开新建配置方案窗口,随便起一个配置名字并勾选默认配置方案选项;然后打开外观,选择Breeze微风,点击编辑,将透明度改为10%;返回外观,将字体改为喜欢的字体,例如Cascadia Code

写在最后


不得不说,安装和配置Archlinux确实挺折腾的,需要有耐心,但好在本次安装与配置过程基本顺利,没有出现太大问题,并花了较多时间将过程详细记录了下来以备自己查阅,也希望能给看到这篇文章的Arch初装者一些启发

参考


安装过程参考了许多Wiki、博客和文章,在此感谢各位文章作者

转载请注明出处喔!( •̀ ω •́ )✧
发表了46篇文章 · 总计88.65k字
·
Built with Hugo
主题 StackJimmy 设计