[toc]
本节从安装最基础的无图形化 ArchLinux 系统开始。官方安装指南
1.禁用 reflector 2020 年新版 archliveiso 加入了 reflector 服务,它会自己更新 mirrorlist。在特定情况下,它会误删某些有用的源信息。这里启动后的第一件事就是将其禁用。也许它是一个好用的工具,但是很明显,它并不适合在安装的时候面向新手启用,尤其在中国。
1 systemctl stop reflector.service
2.再次确保是否为 UEFI 模式 在一系列的信息刷屏后,可以看到已经以 root 登陆安装系统了,此时可以执行的命令:
1 ls /sys/firmware/efi/efivars
若输出了一堆东西,即 efi 变量,则说明已在 UEFI 模式。否则请确认你的启动方式是否为 UEFI。
3.连接网络 无线连接: 无线连接使用 iwctl 进行:
1 2 3 4 5 6 iwctl device list station wlan0 scan station wlan0 get-networks station wlan0 connect CMCC-5AQ7 exit
有线连接 正常来说,只要插上一个已经联网的路由器分出的网线(DHCP),直接就能联网。
可以等待几秒等网络建立链接后再进行下步测试网络的操作。
4.测试网络
稍等片刻,若能看到数据返回,即说明已经联网,ctrl+c 终止退出当前命令。如果还是无法连接,使用 ip link set xxx up
命令确认你已经激活了对应的网卡,再重新继续网络链接与测试。若看到类似Operation not possible due to RF-kill
的报错,继续尝试rfkill unblock wifi
来解锁无线网卡。[1]
5.更新系统时钟 1 2 timedatectl set-ntp true timedatectl status
6.更换国内镜像源加快下载速度 1 vim /etc/pacman.d/mirrorlist
放在最上面的是会使用的更新源,把中科大 ustc 的或者清华的放在最上面。
7.分区 这里总共设置三个分区,可以满足绝大多数人的需求。此步骤会清除磁盘中全部内容,请事先确认。
EFI 分区: /efi
800M
根目录: /
100G
用户主目录: /home
剩余全部 越大越好
这里根目录的大小仅为参考,一般来说个人日常使用的 linux 分配 100G 已经够用了。根目录最小建议不小于 50G,根目录过小会造成无法更新系统软件包等问题。
首先将磁盘转换为 gpt 类型
1 2 3 4 5 lsblk parted /dev/sdx (parted)mktable New disk label type ? gpt quit
接下来使用 cfdisk 命令对磁盘分区
1 2 cfdisk /dev/sdx fdisk -l
cfdisk 分区的详细操作见视频中的操作。一般建议将 EFI 分区设置为磁盘的第一个分区,据说有些主板如果不将 EFI 设置为第一个分区,可能有不兼容的问题。
8.格式化 这里的 sdax 只是例子,具体根据你的实际情况来,请注意视频中的操作。
1 2 3 mkfs.ext4 /dev/sdax mkfs.vfat /dev/sdax
9.挂载 在挂载时,挂载是有顺序的,需要从根目录开始挂载 这里的 sdax 只是例子,具体根据你的实际情况来,请注意视频中的操作。
1 2 3 4 5 mount /dev/sdax /mnt mkdir /mnt/homemount /dev/sdax /mnt/home mkdir /mnt/efimount /dev/sdax /mnt/efi
10.安装系统基础包 1 pacstrap /mnt base base-devel linux linux-firmware
功能性软件
1 pacstrap /mnt dhcpcd iwd vim sudo bash-completion
11.生成 fstab 文件 fstab 用来定义磁盘分区
1 genfstab -U /mnt >> /mnt/etc/fstab
复查一下 /mnt/etc/fstab 确保没有错误
12.change root 把环境切换到新系统的/mnt 下
13.设置主机名与时区 首先在/etc/hostname
设置主机名
加入你想为主机取的主机名,这里比如叫 myarch。
接下来在/etc/hosts
设置与其匹配的条目。
加入如下内容
1 2 3 127.0.0.1 localhost ::1 localhost 127.0.1.1 myarch.localdomain myarch
某些情况下如不设置主机名,在 KDE 下可能会存在网络情况变更时无法启动 GUI 应用的问题,在终端中出现形如No protocol specified qt.qpa.xcb: could not connect to display
的错误,这种情况较为少见。相关参考链接:[1] ,[2]
随后设置时区,在/etc/localtime 下用/usr 中合适的时区创建符号连接。
1 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
14.硬件时间设置 将系统时间同步到硬件时间
15.设置 Locale Locale 决定了软件使用的语言、书写习惯和字符集。
编辑 /etc/locale.gen,去掉 en_US.UTF-8 行以及 zh_CN.UTF-8 的注释符号(#)。
然后使用如下命令生成 locale。
向 /etc/locale.conf 输入内容
1 echo 'LANG=en_US.UTF-8' > /etc/locale.conf
16.为 root 用户设置密码
17.安装微码 1 2 pacman -S intel-ucode pacman -S amd-ucode
18.安装引导程序 1 2 pacman -S grub efibootmgr grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
接下来编辑/etc/default/grub 文件,去掉GRUB_CMDLINE_LINUX_DEFAULT
一行中最后的 quiet 参数,同时把 log level 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错。同时加入 nowatchdog 参数,这可以显著提高开关机速度。不会 vim 的同学注意视频中的操作。
最后生成 GRUB 所需的配置文件
1 grub-mkconfig -o /boot/grub/grub.cfg
在某些主板安装完成后,你会发现没有启动条目。这是因为某些主板的 UEFI 固件在显示 UEFI NVRAM 引导条目之前,需要在特定的位置存放可引导文件,不支持自定义存放 efi 文件(如微星 Z170-A Gaming PRO)。解决方案是在默认启动路径下安装 GRUB。重新插入安装优盘,挂载目录,chroot 到/mnt,然后你可以直接把已经生成好的 efi 文件移动到默认目录下,如下代码所示。只有安装完成后你的主板不出现启动条目才需要尝试如下命令,正常安装无需执行。官方参考文档
1 2 mkdir -p /efi/EFI/BOOTmv /efi/EFI/GRUB/grubx64.efi /efi/EFI/BOOT/BOOTX64.EFI
19.完成安装 1 2 3 exit umount -R /mnt reboot
注意,重启前要先拔掉优盘,否则你重启后还是进安装程序而不是安装好的系统。重启后,开启 dhcp 服务,即可连接网络
1 2 systemctl start dhcpcd ping www.gnu.org
若为无线链接,则还需要启动 iwd 才可以使用 iwctl 连接网络
1 2 systemctl start iwd iwctl
到此为止,一个基础的,无 UI 界面的 Arch Linux 已经安装完成了。紧接着下一节,我们来安装图形界面。
archlinux 在 2021 年 4 月在安装镜像中内置了一个安装脚本 ,其就是类似一个一键安装脚本,提供一些选项,即可快速安装。其和所有一键安装脚本类似,提供自动化,且不灵活的安装过程。缺陷为:只提供有限的文件系统格式、只可限定在一个磁盘、不能指定源、只提供有限的桌面选择、自动分区不可手动干预、输入错误直接崩溃退出、仅支持 UEFI 等。不建议使用这种安装脚本,除了以上各种原因,初学者也无法在这种安装过程中学到任何东西。如果你因为任何原因需要快速启动一个基础的 archlinux 环境,那么可以尝试此脚本。
官方文档: 安装后的工作 本节只介绍最基本的,能使系统真正意义上可用所需的组件 相关视频链接: 安装 KDE 与常用软件 视频文字结合效果更好 注: 文档中带有 AUR 角标的软件代表是用户自行打包的第三方软件AUR ,不在 Arch 官方支持范围内,可能会出现更新不及时、无法安装、使用出错等各种问题。如果不是实在没有官方支持的同类软件,则不建议使用。
如果你在做完上一节的内容后,重启并放置过一段时间,那需要先按照上节末尾处的方式重新连接网络,然后更新系统。
添加用户,比如新增加的用户叫 testuser
1 useradd -m -G wheel -s /bin/bash testuser
设置新用户 testuser 的密码
编辑 sudo 文件
找到这样的一行,把前面的注释符号#去掉,:wq
保存并退出即可。
这里稍微解释一下 %wheel 代表是 wheel 组,百分号是前缀 ALL= 代表在所有主机上都生效(如果把同样的sudoers
文件下发到了多个主机上) (ALL) 代表可以成为任意目标用户 ALL 代表可以执行任意命令 一个更详细的例子:
1 2 %mailadmin snow,rain=(root) /usr/sbin/postfix, /usr/sbin/postsuper, /usr/bin/doveadm nobody ALL=(root) NOPASSWD: /usr/sbin/rndc reload
组 mailadmin 可以作为 root 用户,执行一些邮件服务器控制命令。可以在 “snow” 和 “rain”这两台主机上执行 用户 nobody 可以以 root 用户执行rndc reload
命令。可以在所有主机上执行。同时可以不输入密码。(正常来说 sudo 都是要求输入调用方的密码的)
1 pacman -S plasma-meta konsole dolphin
在桌面环境中,交换分区或文件用来实现休眠(hibernate)的功能,即将当前环境保存在磁盘的交换文件或分区部分。除此之外,某些特定软件需要 swap 才可以正确运行。交换文件与分区性能相同,且交换文件更为灵活,可随时变更大小,增加与删除。[1]
1 2 3 4 dd if =/dev/zero of=/swapfile bs=1M count=16384 status=progress chmod 600 /swapfile mkswap /swapfile swapon /swapfile
最后,向/etc/fstab 中追加如下内容:
1 /swapfile none swap defaults 0 0
KDE 自身提供开箱即用的睡眠功能(suspend),即将系统挂起到内存,消耗少量的电量。休眠(hibernate)会将系统挂起到交换分区或文件,几乎不消耗电量。sleep 睡眠功能已可满足绝大多数人的需求,如果你一定需要休眠功能,可以参考官方文档 设置休眠相关步骤。
去掉[multilib]一节中两行的注释,来开启 32 位库支持。 在文档结尾处加入下面的文字,来开启 ArchLinuxCN 源。
1 2 [archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
上面服务器的地址是中科大的,也可用下面清华的。
1 Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
此处 为 archlinuxcn 全部仓库地址 可以根据自己实际情况另行选择。
最后:wq 保存退出,刷新 pacman 数据库
重启电脑,即可看到欢迎界面,输入新用户的密码即可登录桌面
进入桌面后,搜索 konsole。它是 KDE 桌面环境默认的命令行终端。
首先先进行桌面环境中的网络设置:
1 2 3 sudo systemctl disable iwd sudo systemctl stop iwd sudo systemctl enable --now NetworkManager
接下来安装一些基础功能包。
1 2 3 4 5 6 7 8 sudo pacman -S ntfs-3g sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra sudo pacman -S firefox chromium sudo pacman -S ark sudo pacman -S packagekit-qt5 packagekit appstream-qt appstream sudo pacman -S gwenview sudo pacman -S steam
最后要安装 archlinuxcn 源的相关步骤。
1 2 sudo pacman -S archlinuxcn-keyring sudo pacman -S yay
若安装 archlinuxcn-keyring 时报错,是由于密钥环的问题,可先按照此链接 执行其中的命令,再安装 archlinuxcn-keyring
打开 System Settings > Regional Settings > Language -> Add languages 中选择中文加入,再拖拽到第一位,Apply。
再将System Settings > Regional Settings > Formats 中的值设为中文-简体中文(zh_CN)
最后重新登陆即可。
很多人会错误的更改 System Settings > Regional Settings > Formats 中的值为中文蒙古(mn_CN),默认,或者其他值,这会导致系统中一半英文一般中文。这里的值要保持默认的 en_US 或 zh_CN,或者改为你在 locale.gen 中添加的任意一种语言。
Fcitx5 官方文档 中文及日文输入法均体验良好。
1 2 3 4 5 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 vim /etc/environment
加入以下内容。konsole 以及 dophin 都需要这些环境变量,倒是 chrome 和 firefox 都不需要就可以输入中文
1 2 3 4 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx
打开 系统设置 > 区域设置 > _输入法_,先点击运行Fcitx
即可,拼音为默认添加项。如你还需要更多输入法如五笔,则再点击添加输入法
,找到简体中文下的五笔 ,点击添加即可加入五笔输入法。
接下来点击 拼音 右侧的配置按钮,点选云拼音
和在程序中显示预编辑文本
最后应用。
回到输入法设置,点击配置附加组件
,找到 经典用户界面 在主题里选择一个你喜欢的颜色 最后应用。
注销,重新登陆,就可以发现已经可以在各个软件中输入中文了
默认情况下,Arch Linux 在一些终端编辑场景使用 vi 编辑器,但是我们使用 vim。如果不做一个额外配置,在 git 等场景下,在终端调用编辑器会出错。编辑~/.bashrc 文件,加入如下内容,将 vim 设置为默认 EDITOR
如果你有蓝牙设备,需要启用蓝牙服务。随后在系统设置中进行添加设备与连接即可。
1 sudo systemctl enable --now bluetooth