Archlinux 2022安装配置(一)
本安装指南假设你至少知道在 Linux 如何执行命令以及一些基础的电脑知识。
搭配官方Wiki https://wiki.archlinux.org/title/Installation_guide_(简体中文)
准备工作
你需要一台支持 UEFI 引导的 64 位(x86-64)的电脑,最好拥有有线网络连接,务必不要使用蓝牙鼠标。
如果你的电脑不支持 UEFI,那么以下某些步骤可能不适合你
下载系统,前往 https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/ 下载 ArchLinux 的镜像文件
准备一个U盘,U盘容量大于镜像文件大小即可,用于制作安装盘。
使用 Rufus 制作启动盘
注意:制作过程将清空 U 盘数据,制作之前务必做好数据备份。
版本区别
archlinux 的 iso 镜像文件自 2020.06.01 开始改了很多东西,大概就这几个方面:
- archiso默认的 shell 是 zsh ,不再是 bash 了。
- archlinux摒弃了之前的 wifi-menu ,改为使用 iwd 来管理网络。
- 对于镜像源的管理,采用 reflector 进行管理,终于不用去手动更改镜像源的位置了,使用 reflector 一条命令就搞定了。
安装 ArchLinux
将 U盘 插入主机 进入 UEFI 选择U盘启动进入 Archlinux 安装界面
PS:如果你的电脑启用了 UEFI 安全启动,必须关闭安全启动才可以成功启动。
执行检测当前引导模式是否是 UEFI
ls /sys/firmware/efi/efivars
如果没有列出文件,表示当前没有以 UEFI 模式启动,检查你的电脑是否支持以及 BIOS 设置 。
连接网络
判断无线网卡是否被锁
# rfkill list
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: yes
如果出现以上内容,可以调节网卡开关打开它。如果没有开关,那就使用以下命令:
# rfkill unblock wifi
使用 Iwctl 连接 WIFI
$ iwctl
[iwd]# help // 可以查 看帮助
[iwd]# device list //列出你的无线设备名称,一般以wlan0命名
[iwd]# station <device> scan // 扫描当前环境下的网络
[iwd]# station <device> get-networks // 会显示你扫描到的所有网络
[iwd]# station <device> connect <network name>
password:输入密码
[iwd]# exit //退出当前模式,回到安装模式
测试网络是否连通:
ping baidu.com
更新为国内镜像源
reflector --country China --age 72 --sort rate --protocol https --save /etc/pacman.d/mirrorlist
已将最新的镜像源更新为国内的,保存在/etc/pacman.d/mirrorlist目录下
更新系统时间
timedatectl set-ntp true
# 确保设置成功
timedatectl status
系统分区
分区 | 挂载点 | 建议大小 |
---|---|---|
EFI Sytem | /mnt/efi | >512M |
Linux Swap | [swap] | 16G |
Linux Root(/) | /mnt | 90G |
Linux Home | /mnt/home | 剩余的全部空间 |
检查硬盘
lsblk
[图片]
建立分区
cfdisk /dev/nvme0n1
格式化分区
按照上面的步骤建立好分区之后,我们需要将每个分区用对应的文件系统进行格式化。
对于 root 分区、home 分区等直接使用 ext4 文件系统进行格式化:
mkfs.ext4 /dev/nvme0n1p3
mkfs.ext4 /dev/nvme0n1p4
格式化 EFI 系统分区:
mkfs.fat -F32 /dev/nvme0n1p1
格式化 Swap
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2
挂载分区
首先挂载root分区:
mount /dev/nvme0n1p3 /mnt
对于其他分区(swap分区除外,不需要),需要自己手动创建挂载点:
mkdir /mnt/efi
mount /dev/nvme0n1p1 /mnt/efi
mkdir /mnt/home
mount /dev/nvme0n1p4 /mnt/home
安装必须软件包
pacstrap /mnt base linux linux-firmware vim
生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
检查生成的fstab文件
cat /mnt/etc/fstab
如图说明一切正确
配置新系统
arch-chroot /mnt
设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后运行 hwclock 以生成 /etc/adjtime:
hwclock --systohc
本地化
本地化的程序与库若要本地化文本,都依赖Locale,后者明确规定地域、货币、时区日期的格式、>字符排列方式和其他本地化标准等等。
- 在下面两个文件设置:locale.gen 与 locale.conf。
首先编辑/etc/locale.gen文件,然后将需要的地区的注释移除,
vim etc/locale.gen
将en_US UTF-8
和zh_CN UTF-8
都取消注释。
- 创建并写入/etc/locale.conf文件
创建locale.conf文件并编辑LANG这一变量(将系统locale 设置为en_US.UTF-8,系统的 Log 就会用英文显示,这样更容易问题的判断和处理。):
这里最好不要设置为中文locale,会导致TTY乱码
echo LANG=en_US.UTF-8 > /etc/locale.conf
cat /etc/locale.conf
- 执行命令生成locale。
locale-gen
主机名
- 创建 hostname 文件:
echo lzscxb > /etc/hostname
cat /etc/hostname
- 添加对应的信息到 hosts(5):
vim /etc/hosts
如果系统有常设的 IP 地址,请使用这个常设的 IP 地址而不是 127.0.1.1。
127.0.0.1 localhost
::1 localhost
127.0.1.1 lzscxb.localdomain lzscxb # 主机名.本地域名 主机名
Root 密码
passwd
安装及配置引导程序
安装基本包
警告: 这是安装的最后但也至关重要的一步,请按上述指引正确安装好引导加载程序后再重新启动。否则将无法正常进入系统。
如果你不知道这些包的作用,请务必确保输入的指令与下面的一致
[修改有待观察是否需要那么多包,可能是多系统才需要]
pacman -S grub efibootmgr networkmanager sudo base-devel
检查完毕回车,需要选择直接回车就好,等待安装结束
配置 Grub
因为我的EFI分区在 /efi 目录下,所以上述命令的 --efi-directory 参数就设置为 /efi
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=ArchLinux
生成grub配置文件
grub-mkconfig -o /boot/grub/grub.cfg
安装微码
如果你是 Intel 的 CPU,需要安装intel的微码文件
pacman -S intel-ucode
如果是 amd
pacman -S amd-ucode
启用 NetworkManager
systemctl enable NetworkManager
重启系统
exit
umount -a
reboot
启动时请拔出u盘
新建用户
useradd -m -G wheel lzscxb
passwd lzscxb
设置权限
vim /etc/sudoers
# 取消这行注释
%wheel ALL=(ALL) ALL
# 在 root ALL=(ALL) ALL 下面添加
用户名 ALL=(ALL) ALL
切换用户
su 用户名
添加 archlinuxcn 源
sudo vim /etc/pacman.conf
# 取消注释
[multilib]
Include = /etc/pacman.d/mirrorlist
# 添加以下内容
[archlinuxcn]
SigLevel = Never
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
导入 GPG key
sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring
解决关机慢或等待1分30秒问题
1.打开需要编辑的文件
sudo vim /etc/systemd/system.conf
去除文件中默认的注释,修改为:
DefaultTimeoutStartSec=5s
DefaultTimeoutStopSec=5s
DefaultRestartSec=100ms
- 使配置文件生效
sudo systemctl daemon-reload
蓝牙 bluez
https://github.com/bluez
https://wiki.archlinux.org/index.php/Bluetooth_(简体中文)
安装软件包
sudo pacman -S bluez bluez-utils bluedevil
PS:如果你打开APP蓝牙会断开的话请检查 blue版本是否是5.62
如果是 5.62 则需要安装编译安装git上最新的版本即可解决
yay -S bluez-git