这里记录安装 archlinux 的进程。

首先,建议看一下 archlinux 安装指南。以下仅是一些注意事项。 我的笔记本电脑是UEFI启动模式的。

连接无线网络

在Live 系统中连接网络

在进入安装介质后,live 系统会提供 iwctl 这个命令来允许你联网。步骤为:

  1. iwctl # 进入 iw 这个工具的环境中
  2. station list # 查看你的无线网络接口
  3. station DEVICE scan # DEVICE 就是你之前看到的接口,如 wlan0, wlp2s0, …
  4. station DEVICE get-networks # 列出可用网络
  5. station DEVICE connect SSID # SSID就是网络的名字

然后就可以成功联网。

但是,iwctl 不会随着你的安装进入安装后的系统。因此要在运行 pacstrap -K /mnt base linux linux-firmware 时,在后面加入下列东西:

  1. iw
  2. iwd
  3. wpa_supplicant (提供 WiFi 密码认证服务)
  4. netctl (另一个Network Manager, 但是安装后默认不会启动,但是它有自动连接WiFi的功能,可自行查阅 man page. 此外,在 GNOME 桌面环境下如果你要使用图形化的无线网络管理功能,那就必须要有一个 Network Manager.
  5. dialog (被 wifi-menu 依赖。但是 wifi-menu 似乎已经不被推荐了,而被 Intel 的 iwctl 命令替代。)

这样,你才能在安装完成进入新系统时有联网的能力。

安装成功后配置无线网络

此小节的动作在安装成功后再操作。

Live 系统的所有配置不会进入新安装的系统。所以需要重新配置各文件。

配置 iwd

我使用的 WLAN 是学校提供的,因此需要 DHCP(动态IP分配) 功能。这个功能可由 iwd 提供。但需要配置:

  1. vim /etc/iwd/main.conf
  2. 添加如下内容并保存退出:
    [General]
    EnableNetworkConfiguration=true

使能(enable)并启动相关守护进程(daemons)

Wi-Fi 功能总需要一个程序来维护,所以我们需要启动它。这里我们要启用

  1. systemd-resolved (负责DNS)
  2. iwd

执行:

1
2
3
4
systemctl enable systemd-resolved
systemctl enable iwd
systemctl start systemd-resolved
systemctl start iwd

然后,就可以运行 iwctl 命令并联网。

蓝牙

  • 安装 bluez 包,其提供基本的蓝牙协议栈。
  • 安装 bluez-utils,其提供 bluetoothctl 功能。
  • 检查核心模组 btusb 是否加载。使用 modinfo | grep -i btusb 检查。为加载模组,使用 modprobe module_name.
  • 开启、使能 bluetooth.service.

命令行具体使用方法查看文档。安装完成后,GNOME的蓝牙管理器应该就可以正常运行了。

使用蓝牙前,使用 rfkill 以确认没有被 block. rfkill功能介绍:tool for enabling and disabling wireless devices.

更新系统时间

使用 gdisk 分区

Linux Swap 的编码是 8200. 分区范式参考:https://wiki.archlinuxcn.org/wiki/安装指南

注意:如果已经有一个系统在某硬盘上,就不需要创建新的 EFI System Partition.

格式化分区

挂载文件系统

注意:先挂载root分区,再挂载EFI系统分区(一般是 /dev/sda1);且EFI 系统分区必须挂载到 /mnt/boot.

安装必要软件

1
pacstrap -K /mnt base linux linux-firmwre iw iwd dialog netctl wpa_supplicnat vim

生成fstab, chroot, timezone, locale, hostname, root password

https://wiki.archlinuxcn.org/wiki/安装指南#Fstab

语系的设定档为 /etc/locale.conf. 显示系统语系:localectl. 显示当前软件语系:locale. 为设置语系,使用 localectl set-locale LANG=en_US.UTF-8.

安装 grub

  1. 确认已经将 EFI 系统分区挂载到 /boot
  2. 自己选一个名字给grub,比如 Arch-Linux. 然后进入 EFI 系统分区的挂载点,再进入其 EFI 子目录。新建一个名为 Arch-Linux 的空目录。
  3. 安装 grub, efibootmgr 这两个包。注意,因为已经 chroot,所以需要用 pacman -S pgk_name 来安装。
  4. 运行 grub-install --target=x86_64-efi --efi-derectory=/boot --bootloader-id=Arch-Linux
  5. grub-mkconfig -o /boot/grub/grub.cfg

探测其他操作系统

注意:这一步需要在你重启系统成功登入以后再进行。

  1. 安装 os-prober 并挂载其他系统的启动分区。
  2. 编辑 /etc/default/grub 设置 GRUB_DISABLE_OS_PROBER=false
  3. 运行 grub-mkconfig -o /boot/grub/grub.cfg

这样,下次你启动时,grub 的菜单中就有你其他的系统了。

注意:探测其他的操作系统有一定安全风险,所以 archlinux 默认是disable这个功能的。所以在我们成功探测之后,就把设定档改回来吧!

删除系统

如果你不想要这个系统了怎么办?好办。进入Windows,以管理员身份运行 cmd, 然后运行 diskpart. 选中操作系统所在的 disk, 然后选中不想要的分区,删除就好。

然后,选中 EFI 系统分区,assign letter p, 然后用 cmd 进入磁盘 p. 进入 名为 EFI 的目录,删除 Arch-Linux 就好。

配置镜像

配置阿里云镜像。因为默认的镜像不好用,所以需要配置。镜像列表存在 /etc/pacman.d/mirrorlist . 在最顶部加入 https://mirrors.aliyun.com/archlinux 即可。

关于其他镜像源头,见:pacman-mirrorlist..

安装 gnome

pacman -S gnome. 里面的软件可以全部安装。然后启动并 enable gdm.service:

1
2
systemctl enable gdm.service
systemctl start gdm.service

建立普通用户

新系统默认只有 root,但是长期用root登入比较危险,所以需要建置新的普通用户。我建立的是一个管理员用户。

如果是自己用,最好给 /home 单独挂载一个 partition.

  • 用 gdisk 新建一个分区并执行 partprobe /dev/sda 来刷新分区表。
  • lsblk -f 查看新分区的 UUID,复制下来。
  • vim /etc/fstab 将新建立的分区添加到最后。注意:/etc/fstab 中各个文件系统的顺序是有讲究的,必须把 /root 分区放在最前面。并且,除了 /root 分区外,其他分区的最后一列都填 2. 注意: 在修改 /etc/fstab 后,需要 mount -a 测试一下有没有问题。如果 fstab 有问题并且你重启,那么开机将会出现两个结果之一:失败,或耗费极长的时间(30min 以上)。
    用 gdisk 新建分区后,还需要执行 partprobe 命令以告知操作系统分区表的变化
  • systemctl daemon-reload 以刷新分区表。
  • 把刚创建的分区 (/dev/sdaN) 挂载到家目录:mount /dev/sdaN /home
  • 添加用户 usradd -m username
  • 改密码 passwd username
  • 安装 sudo 和 vi
  • 执行 visudo ,修改配置。详细配置选项自行查看 man 手册或者百度。
  • (可选)如果想用刚新建的用户做管理员,可以将其加入 wheel 组。usermod -aG USERNAME wheel,adm,rfkill* 登出 root,改用普通账户登录。

配置中文环境

安装中文字体

1
2
pacman -S noto-fonts-cjk
pacman -S noto-fonts

字体都存在 /usr/share/fonts. 所以可以下载字体后手动将字体文件复制到此目录以手动安装。

安装中文输入法。我选择 rime.

pacman -S ibus-rime 以下载rime。
ibus engine rime 以启动rime。

按下F4可以调整输入方式为简体,如选择“明月拼音”。这样就可以使用全拼了。

如果需要安装新的输入方式(如我用的小鹤立双拼),则需要安装「东风破」(plum)。方式:

1
curl -fsSL https://raw.githubusercontent.com/rime/plum/master/rime-install | bash

注意:执行这个命令前,确认你已经安装了git。

下载完成后,进入 ~/plum 目录键入 rime-install pkg_name 即可。pkg_name 是你想安装的包的名字。

比如我想安装双拼,那就运行:
bash rime-install double-pinyin`

然后,你需要修改rime的配置文件,以使得双拼出现在〔方案选单〕中。

  • 进入 ~/.config/ibus/rime
  • vim default.custom.yaml
  • 输入配置:
1
2
3
4
5
6
7
# default.custom.yaml
patch:
schema_list:
- schema: double_pinyin_flypy
- schema: luna_pinyin_simp
- schema: luna_pinyin
- schema: emoji
  • 部署rime,结束。

一个问题:少数几个字,如一、体,会显示得不一样。他俩的共同点是:都在未安装中文时可以正常显示。当你把区域和语言设置为中文这个现象就会消失。但是设置成中文时,有的英文字体可能会不太好看。

其他

Wine

Wine (Wine Is Not an Emulator) 是一个模拟器,可以让 exe 文件以为它运行在 Windows 下。注意,Wine 不是 Sandbox,软件可以获得你物理机器的东西。

下载使用 Wine: Enable multilib: edit /etc/pacman.conf and uncomment the [multilib] section. Then upgrade the system to download all the multilib packages. 当然,你也可以仅仅使用 sudo pacman -Sy wine. 不过这有可能导致依赖出现问题。

OpenSSH

下载 openssh 包就可以使用了。

来自 阮一峰 的教程:https://wangdoc.com/ssh