本教程最后更新时间2022年4月22日
Thanks a lot for Shikikan_Neko08
He helped me solve a lot of problems during the install Artix Linux process
非常感谢Shikikan_Neko08,他帮我解决了安装 Artix Linux 过程中的很多问题
Warning
本文仅为 Artix Linux 的第三方安装教程,不代表 Artix Linux 官方,因此跟Artix Linux Wiki中的Installation有所差异,但这也意味着本教程的内容将会更为全面
Artix Linux的特点是systemd-free(无systemd),是指没有systemd的Linux
systemd相当于Windows中的注册表,没有它就不能正常运行,但是Linux社区因为某种原因讨厌systemd,出现了无systemd的内核(例如OpenRC、runit、s6)
一般情况下,如果你只是普通的日常使用Linux,使用systemd作为内核的Linux就已经足够了
而且因为种种原因,我不推荐所有Linux新手使用没有systemd的Linux
一般情况下,我推荐你使用runit,所以本文将会以runit的Artix Linux作为演示
Artix Linux和Arch Linux 一样的特点是Rolling Update(滚动更新),是指软件开发中经常性将更新发送到软件的概念
也就是说,Artix Linux 的软件库是经常性更新的,你也需要经常更新软件源,操作方法很简单,只要
sudo pacman -Syu
即可;如果不经常更新,则可能导致滚动更新后无法正常使用系统如果你并不想
或者说懒经常更新软件源,我建议你使用linux-lts
内核
准备操作
首先你需要确保你的网络畅通(放心,这不需要你准备梯子,Artix Linux是有南京大学镜像源的),Artix Linux是在线安装
下载LiveCD
下载完成后备用
刻录到U盘
你可以使用以下几种方式来将Artix Linux镜像刻录到U盘中
刻录到U盘会导致数据丢失,请在操作之前备份好你的U盘数据
推荐使用Ventoy,因为Ventoy只需要一次安装到U盘之后就不再需要刻录的操作,还可以跟资料共存
名称 | 使用方式 | 备注 |
---|---|---|
Ventoy | 将Ventoy安装到U盘后直接把ISO文件复制到U盘中即可 | 一次安装,一盘多用 |
Rufus | 选择ISO文件然后选择U盘直接刻录即可 | 注意选择引导方式 |
balenaEtcher | 选择ISO文件然后选择U盘点击Flash开始刻录 | 最简单的方法 |
确定分区(必要)
在纯文字的环境中你可能很难分辨分区,如果操作失误(删错分区)则删库跑路
所以我建议你事先在Windows环境中确定要安装的系统分区,以确保不会出现失误导致的数据灰飞烟灭
引导设置(UEFI用户)
进入BIOS中,如果你是有UEFI的电脑那么你应该能看到带有CSM字样的选项,将他Disable掉
还有一些电脑带有Secure Boot(安全启动),找到Secure Boot的字样Disable即可
重启开始安装
确保您的U盘已经写入了镜像、分区已经确定好没问题之后,就可以重启进入LiveCD
LiveCD
登录
Artix Linux的LiveCD并不会自动登录,LiveCD的用户名为artix
密码为artix
登录之后输入su
进入root账号
确保网络畅通
前面提到,Artix Linux是在线安装方式,所以你必须要确保LiveCD中的系统已经连接到了网络
有线网络
如果你是有线网络,大概率不需要担心网络问题,因为LiveCD已经通过DHCP服务自动联网
不过发现网络出现玄学问题,你可以执行sv restart dhcpcd
来重启DHCP服务让Live CD重新获取IP
WiFi连接
LiveCD中自带连接WiFi的工具,你可以一步一步让Live CD连接到WiFi
artixlinux:[artix]:$ iwctl # 进入 iwd 的交互提示符
[iwd]# device list # 列出所有 WiFi 设备
[iwd]# station <device> scan # 扫描 WiFi 网络
[iwd]# station <device> connect <ssid> # 连接到 WiFi 网络
(以上文段来自Chi_Tang的博客)
测试网络
最简单的办法就是用Ping
ping -c 3 artixlinux.org
没有报错则网络连接正常
分区
先通过lsblk
或fdisk -l
的方式确定硬盘,出现/dev/某某某
的就是这个硬盘的设备名,记住硬盘的设备名,等会要用到
分区的工具
LiveCD中有parted
、fdisk
、cfdisk
等工具,前两个比较麻烦,cfdisk
拥有半图形界面,更适合小白使用
首先我们要打开cfdisk
设sdX为你的硬盘号
cfdisk /dev/sdX # 后面这个就是硬盘设备名
然后就会出现一个界面,这里以一个中文化的界面作为对照
分区格式
用户资料分区是可选的,可以将用户资料存放在系统盘中
MBR(传统引导)推荐分区格式:
用途 | 文件系统 | 分区推荐大小 | 挂载点 | 文章中的分区号 |
---|---|---|---|---|
系统分区 | ext4 | 50GiB | / | /dev/sda2 |
用户资料分区(可选) | ext4 | 50GiB | /home | (本文章中没有设置用户资料分区) |
GPT(UEFI引导)推荐分区格式:
如果你之前已经在硬盘中另外装了其他使用UEFI引导的系统(比如Windows)请务必不要把引导分区删掉重建,否则会导致原来的系统无法进入!
用途 | 文件系统 | 分区推荐大小 | 挂载点 | 文章中的分区号 |
---|---|---|---|---|
引导分区 | FAT32 | 300MiB | /boot | /dev/sda1 |
系统分区 | ext4 | 50GiB | / | /dev/sda2 |
用户资料分区(可选) | ext4 | 50GiB | /home | (本文章中没有设置用户资料分区) |
格式化分区
如果你之前已经在硬盘中另外装了其他使用UEFI引导的系统(比如Windows)请务必不要把引导分区格式化,否则会导致原来的系统无法进入!
设引导分区为 /dev/sda1,系统分区为 /dev/sda2
mkfs.ext4 /dev/sda2 # 格式化 /dev/sda2 为 ext4 文件系统(系统分区或用户资料分区)
mkfs.vfat /dev/sda1 # 格式化 /dev/sda1 为 FAT32 文件系统(引导分区)
挂载分区
GPT
设引导分区为 /dev/sda1,系统分区为 /dev/sda2,用户资料分区为/dev/sda3
mount /dev/sda2 /mnt # 挂载系统分区到 /mnt( / 分区)
mkdir /mnt/boot /mnt/home # 新建 /mnt/boot 文件夹和 /mnt/home 文件夹
mount /dev/sda1 /mnt/boot # 挂载引导分区到 /mnt/boot
mount /dev/sda3 /mnt/home # 挂载用户资料分区到 /mnt/home ( /home 分区,在有用户资料分区的情况下才执行)
MBR
mount /dev/sda1 /mnt # 挂载系统分区到 /mnt( / 分区)
mkdir /mnt/home # 创建 /mnt/home 文件夹
mount /dev/sda2 /mnt/home # 挂载用户资料分区到 /mnt/home( /home 分区,在有用户资料分区的情况下才执行)
(以上文段参考了Chi_Tang的博客并进行修改)
更换软件源
接下来我们需要更新一下镜像源以加快我们的下载速度
nano /etc/pacman.d/mirrorlist # 新建软件源列表
在软件源列表中第一行写入Server = 地址
即可,这里给大家列几个镜像源
在上面选择一个镜像源,假如我要用清华的,那就Server = https://mirrors.tuna.tsinghua.edu.cn/artixlinux/$repo/os/$arch
当然如果速度还是上不去可以尝试删除其他镜像源
保存并退出即可
安装本体到硬盘
内核的选择
下面为Artix Linux官方源中可选的部分内核,可以根据你自己的需求选择
内核 | 特点 |
---|---|
linux |
官方的默认内核 |
linux-lts |
官方的长期支持内核,版本较低,但相对不容易滚挂 |
linux-zen |
社区制作的更适合日常使用的内核 |
(以上表格来自Chi_Tang的博客)
安装命令
首先安装runit
basestrap /mnt base base-devel runit elogind-runit
然后安装内核
basestrap /mnt <linux-kernel> linux-firmware
生成分区表
fstabgen -U /mnt >> /mnt/etc/fstab
可以自己检查一下 /mnt/etc/fstab
以确保信息正确无误
切换到安装好的系统
接下来我们要通过chroot切换到我们安装好的系统的终端进行初步的系统设置
artix-chroot /mnt
要退出返回LiveCD就直接输入
exit
即可
切换之后安装一下vim作为文本编辑器
pacman -S vim
设置时区
ln -sf /usr/share/zoneinfo/<Region>/<City> /etc/localtime
hwclock --systohc
<Region>
和<City>
分别是你所在的地区和城市,例如上海时间Asia/Shanghai
配置本地化
locale.gen
vim /etc/locale.gen
在文件中找到 en_US.UTF-8 UTF-8
及 zh_CN.UTF-8 UTF-8
,删除前面的 #
以取消注释
同样地,在这里也可以设置其他语言的的 locale
,例如 ja_JP.UTF-8 UTF-8
locale-gen # 生成本地化文件
locale.conf
vim /etc/locale.conf
在文件中加入以下设置
export LANG="en_US.UTF-8"
export LC_COLLATE="C"
保存并退出
请不要在这里设置任何其他的语言,否则可能会导致终端乱码
安装引导
安装GRUB本体
pacman -S grub os-prober efibootmgr
如果你需要GRUB能引导到其他系统(例如Windows)我们要先开启GRUB使用os-prober才可以让GRUB引导到其他系统
vim /etc/default/grub
在结尾或者其他位置中添加GRUB_DISABLE_OS_PROBER="false"
保存并退出即可
UEFI + GPT
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # 在 /boot 中安装GRUB引导
grub-mkconfig -o /boot/grub/grub.cfg # 生成 GRUB 配置
Legacy + MBR
设sdX为你的硬盘号
grub-install --target=i386-pc /dev/sdX # 在 /dev/sdX 安装引导,不要加分区号
grub-mkconfig -o /boot/grub/grub.cfg # 生成 GRUB 配置
设置网络
计算机名
vim /etc/hostname
在文件中写入你的计算机名,例如 my-pc-1s-artixlinux
保存并退出
hosts 文件
vim /etc/hosts
在文件中写入下面的内容
127.0.0.1 localhost
::1 localhost
127.0.1.1 <hostname>.localdomain <hostname>
将 <hostname>
替换为你的计算机名,保存并退出
安装NetworkManager或Connman
如果进入系统后突然发现系统联网不正常,一般来说装个NetworkManager或Connman就能解决
pacman -S networkmanager-runit
ln -s /etc/runit/service/NetworkManager /run/runit/sv
一般情况下我推荐你用NetworkManager
如果NetworkManager不起作用可以尝试Connman
pacman -S connman-runit connman-gtk # 安装Connman
将Connman开机自启动
ln -s /etc/runit/sv/connmand /etc/runit/runsvdir/default
(Thanks for Shikikan_Neko08)
重启前的准备
passwd root # 设置root的密码
重启
到这里,我们的LiveCD的安装步骤就完成了,曙光就在眼前了!接下来我们进入系统进行初步设定
系统初步配置
创建新用户
很多软件是不能直接使用root用户的,而且直接使用root用户是很危险的,比如运行一个rm -rf /*
都不带sudo
的
useradd -m -G wheel 用户名
passwd 用户名
将新建的用户设置权限
在终端中运行
EDITOR=vim visudo
在这个配置文件中找到%wheel ALL=(ALL:ALL) ALL
,如果前面带个#
号就给它删掉,保存并退出
设置SWAP(交换文件)
sudo dd if=/dev/zero of=/swapfile bs=1M count=<size> # 在 size 处填写需要的 swap 空间大小(单位 MiB)
sudo mkswap /swapfile
sudo chmod 600 /swapfile
sudo swapon /swapfile
使用vim编辑/etc/fstab
,在末尾中加入
/swapfile none swap defaults 0 0 # 注意空格
设置pacman.conf
sudo vim /etc/pacman.conf
pacman美化
这一步是可选的,只是为了让你的pacman更好看
把Color
前面的#
去掉,让pacman能显示出颜色(能帮助你更好地判断内容)
把 VerbosePkgLists
前面的#
去掉,让 pacman 以表格显示更详细的信息
额外软件源
lib32
lib32
软件源中包含一些 32 位的依赖包
滑到文件后面,找到
#[lib32]
#Include = /etc/pacman.d/mirrorlist
去掉这两行前面的 #
以启用 lib32
软件源
Arch Linux Source
为了能使用Arch Linux的软件源(如multilib
)以适配部分Arch Linux软件,你需要安装artix-archlinux-support
sudo pacman -S artix-archlinux-support
然后让它信任Arch Linux的密钥
sudo pacman-key --populate archlinux
这样就可以使用了
Arch Linux CN
Artix Linux是可以偷Arch Linux CN
源的,Arch Linux CN
中包含许多在国内使用 Linux 常用的软件包,而且软件包下载速度比较快
在文件最后面添加下面这两行
[archlinuxcn]
Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch
保存并退出后更新软件源
sudo pacman -Sy
安装 archlinuxcn-keyring
sudo pacman -S archlinuxcn-keyring
如果安装archlinuxcn-keyring
出现了以下错误
那么往下看本文章末尾的疑难解答
AUR
AUR源包含着很多有用的个人开发者软件,所以安装AUR工具可以让我们从AUR源中获取很多个人开发者的优秀软件
sudo pacman -S yay
安装中文
安装Fcitx5输入法
sudo pacman -S fcitx5-im # Fcitx5本体组
sudo pacman -S fcitx5-chinese-addons # 中文输入引擎
yay -S fcitx5-pinyin-zhwiki-rime # 中文维基百科词库
yay -S fcitx5-pinyin-moegirl # 萌娘百科词库(二刺螈词库)
因为萌娘百科词库本体在Github,所以你可能需要开梯子才能访问
如果出现了这个
那么可以尝试安装fcitx5-git
安装好之后就可以继续了
设置环境变量
vim ~/.xprofile
添加下面这几行:
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export GTK_IM_MODULE=fcitx # 带有fcitx字样的是为了能让Fcitx5输入法能正常使用
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
Fcitx5输入法需要进入图形界面的“设置”中才能进一步地设置Fcitx5
安装字体
安装下面几个字体以让中文能正常显示
sudo pacman -S noto-fonts noto-fonts-emoji noto-fonts-extra #Noto Sans
yay -S wqy-microhei-nightly_build # 文泉驿
图形界面
显卡驱动
部分显卡驱动需要启用mutilib源(问题不大,我们前面已经启用了)
还有一些带有AUR的就是来自AUR的软件包,前面我们已经安装了yay所以问题不大
以下资料整理来自Chi_Tang的博客
Intel 显卡
sudo pacman -S xf86-video-intel # 驱动本体
sudo pacman -S mesa # OpenGL 支持
sudo pacman -S lib32-mesa # 32 位 OpenGL 支持
sudo pacman -S vulkan-intel # Vulkan 支持
paru -S intel-opencl # OpenCL 支持
NVIDIA 显卡
专有驱动
本体:
GeForce 930(NV110 及更新) | GeForce 630-920(NVE0) | GeForce 400/500/600(NVCx & NVDx) | GeForce 8/9(NV5x, NV8x, NV9x, NVAx) 不推荐安装专有驱动 | GeForce 7 及以下 | |
---|---|---|---|---|---|
linux | nvidia | nvidia-470xx-dkmsAUR | nvidia-390xx-dkmsAUR | nvidia-340xx-dkmsAUR | 不支持 |
linux-lts | nvidia-lts | nvidia-470xx-dkmsAUR | nvidia-390xx-dkmsAUR | nvidia-340xx-dkmsAUR | 不支持 |
其他 | nvidia-dkms | nvidia-470xx-dkmsAUR | nvidia-390xx-dkmsAUR | nvidia-340xx-dkmsAUR | 不支持 |
sudo pacman -S <driver> # 驱动本体
sudo pacman -S <driver>-utils # OpenGL 支持
sudo pacman -S lib32-<driver>-utils # 32 位 OpenGL 支持
sudo pacman -S opencl-nvidia # OpenCL 支持
开源驱动
sudo pacman -S xf86-video-nouveau # 驱动本体
sudo pacman -S mesa # OpenGL 支持
sudo pacman -S lib32-mesa # 32 位 OpenGL 支持
AMD / ATI 显卡
开源驱动
架构 | 驱动 | OpenGL | 32 位 OpenGL | Vulkan | 32 位 Vulkan |
---|---|---|---|---|---|
RDNA, RDNA 2, GCN 1, GCN 2, GCN 3, GCN 4, GCN 5 | xf86-video-amdgpu | mesa | lib32-mesa | amdvlk | lib32-amdvlk |
GCN 1, GCN 2, TeraScale 或更老 | xf86-video-ati | mesa | lib32-mesa | vulkan-radeon | lib32-vulkan-radeon |
sudo pacman -S opencl-mesa # OpenCL 支持
闭源驱动
AMD 闭源驱动仅支持 RDNA
, RDNA 2
, GCN 3
, GCN 4
, GCN 5
架构的显卡
sudo pacman -S xf86-video-amdgpu # 驱动本体
paru -S amdgpu-pro-libgl # OpenGL 支持
paru -S opencl-amd # OpenCL 支持
paru -S vulkan-amdgpu-pro # Vulkan 支持
其他显卡
sudo pacman -S xorg-drivers
sudo pacman -S mesa # OpenGL 支持
sudo pacman -S lib32-mesa # 32 位 OpenGL 支持
安装Xorg
sudo pacman -S xorg
图形桌面
常见的图形桌面且能安装在Artix Linux有以下两种
名称 | 官方预览图 |
---|---|
KDE Plasma | ![]() |
Xfce 4 | ![]() |
GNOME因为需要依赖
systemd
所以无法使用
我推荐你使用KDE Plasma,比较简洁美观
KDE Plasma
sudo pacman -S plasma kde-applications
kde-applications
是可选的,其中包含 KDE 的其他应用
XFCE
sudo pacman -S xfce4 xfce4-goodies
xfce4-goodies
是可选的,其中包含 XFCE 的其他应用
图形登陆管理器
图形登录管理器用于更方便地启动桌面环境及登录账户
SDDM
推荐与 KDE Plasma 配合使用
sudo pacman -S sddm-runit # 给runit使用的sddm
然后设置开机启动SDDM
ln -s /etc/runit/sv/sddm /run/runit/service/sddm
(Thanks for Shikikan_Neko08)
疑难解答
如何设置开机自启动(systemctl command not found)
前面说到,Artix Linux是没有systemd的,所以不能使用systemd的方式开机自启动
以下命令适用于runit内核
ln -s /<service-location/ /etc/runit/service
不行的话试试下面这个
ln -s /<service-location> /run/runit/<service>
<service-location>
为应用路径,不知道的自己搜一下就是
Grub没有引导项(Grub only have UEFI Firmware Settings)
如果你出现了安装完重启后Grub没有引导项的情况(如图)
出现这种情况可以尝试重新安装内核(因为可能是vmlinuz
和initrd.img
不见了)
basestrap /mnt <linux-kernel> linux-firmware
重新安装后查看/mnt/boot
是否有vmlinuz-linux
文件,如果有,就成功了
然后artix-chroot /mnt
,重新生成Grub配置文件
grub-mkconfig -o /boot/grub/grub.cfg
重启后应该就能恢复正常了
archlinuxcn-keyring: signature from “farseerfc farseerfc@archlinuxcn.org“ is unknown trust
如果出现了以下错误就是Artix Linux不信任ArchLinuxCN的密钥
那么你可以尝试让Artix Linux不检查密钥
vim /etc/pacman.conf
将SigLevel
改为Never
再次安装就正常了
SDDM无法启动
如果你遇到了sddm无法启动的问题,可以尝试重装sddm
、sddm-runit
、elogind
和Plasma桌面环境
在我发现Waline这个东西的时候,试了一下,发现这是个好东西,所以我就没有用Valine了