Archlinux 安装以及后续配置
这里记录安装 archlinux 的进程。
首先,建议看一下 archlinux 安装指南。以下仅是一些注意事项。 我的笔记本电脑是UEFI启动模式的。
连接无线网络
在Live 系统中连接网络
在进入安装介质后,live 系统会提供 iwctl 这个命令来允许你联网。步骤为:
- iwctl # 进入 iw 这个工具的环境中
- station list # 查看你的无线网络接口
- station DEVICE scan # DEVICE 就是你之前看到的接口,如 wlan0, wlp2s0, …
- station DEVICE get-networks # 列出可用网络
- station DEVICE connect SSID # SSID就是网络的名字
然后就可以成功联网。
但是,iwctl
不会随着你的安装进入安装后的系统。因此要在运行 pacstrap -K /mnt base linux linux-firmware
时,在后面加入下列东西:
- iw
- iwd
- wpa_supplicant (提供 WiFi 密码认证服务)
- netctl (另一个Network Manager, 但是安装后默认不会启动,但是它有自动连接WiFi的功能,可自行查阅 man page. 此外,在 GNOME 桌面环境下如果你要使用图形化的无线网络管理功能,那就必须要有一个 Network Manager.
- dialog (被 wifi-menu 依赖。但是 wifi-menu 似乎已经不被推荐了,而被 Intel 的 iwctl 命令替代。)
这样,你才能在安装完成进入新系统时有联网的能力。
安装成功后配置无线网络
此小节的动作在安装成功后再操作。
Live 系统的所有配置不会进入新安装的系统。所以需要重新配置各文件。
配置 iwd
我使用的 WLAN 是学校提供的,因此需要 DHCP(动态IP分配) 功能。这个功能可由 iwd 提供。但需要配置:
- vim /etc/iwd/main.conf
- 添加如下内容并保存退出:
[General]
EnableNetworkConfiguration=true
使能(enable)并启动相关守护进程(daemons)
Wi-Fi 功能总需要一个程序来维护,所以我们需要启动它。这里我们要启用
systemd-resolved
(负责DNS)iwd
执行:
1 | systemctl enable systemd-resolved |
然后,就可以运行 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
- 确认已经将 EFI 系统分区挂载到 /boot
- 自己选一个名字给grub,比如 Arch-Linux. 然后进入 EFI 系统分区的挂载点,再进入其 EFI 子目录。新建一个名为 Arch-Linux 的空目录。
- 安装
grub, efibootmgr
这两个包。注意,因为已经 chroot,所以需要用pacman -S pgk_name
来安装。 - 运行
grub-install --target=x86_64-efi --efi-derectory=/boot --bootloader-id=Arch-Linux
grub-mkconfig -o /boot/grub/grub.cfg
探测其他操作系统
注意:这一步需要在你重启系统成功登入以后再进行。
- 安装 os-prober 并挂载其他系统的启动分区。
- 编辑 /etc/default/grub 设置 GRUB_DISABLE_OS_PROBER=false
- 运行 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 | systemctl enable 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 | pacman -S noto-fonts-cjk |
字体都存在 /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 是你想安装的包的名字。
比如我想安装双拼,那就运行:
b
ash rime-install double-pinyin`
然后,你需要修改rime的配置文件,以使得双拼出现在〔方案选单〕中。
- 进入
~/.config/ibus/rime
vim default.custom.yaml
- 输入配置:
1 | # default.custom.yaml |
- 部署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