U盘引导进入系统之后停止reflector服务 禁止自动更新服务器列表
systemctl stop reflector.service
连接网络
有线连接 若是连接到已经有网的路由器可以自动联网
如无法连接上网络可尝试使用dhcpcd
命令
无线连接(WIFI)
iwctl
列出无线网卡设备
device list
用wlan0
网卡扫描网络
station wlan0 scan
列出网络
station wlan0 get-networks
连接网络网络SSID不支持中文
station wlan0 connect 无线网名字
输入密码,连接成功后使用exit
或者quit
同步网络时间
timedatectl set-ntp true
修改软件源
把中国的服务器排在前列
nano /etc/pacman.d/mirrorlist
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
刷新软件包
pacman -Sy
安装ssh远程软件
pacman -S openssh
启用sshd服务
systemctl start sshd
passwd
设置当前root账户的密码
ip a
查看ip地址
局域网内使用其他设备连接SSH操作更方便
磁盘分区
lsblk
显示当前磁盘和分区情况
cfdisk /dev/nvme0n1
系统格式可使用Btrfs或者EXT4
首先创建 Swap 分区。选中 Free space
> 再选中操作 [New]
> 然后按下回车 Enter
以新建 swap
分区(类似 Windows 的交换文件)
我们再只需要一个分区即可(因为使用 Btrfs
文件系统,所以根目录和用户主目录在一个分区上),所以类似的:选中 Free space
> 再选中操作 [New]
> 然后按下回车 Enter
以新建分区
分区类型默认即可,无需更改。接下来选中操作 [Write]
并回车 Enter
> 输入 yes
并回车 Enter
确认分区操作
选中操作 [Quit]
并回车 Enter
以退出 cfdisk
分区工具
EFI引导分区可使用Windows的ESP分区。如没有可自行创建300MB
的EFI引导分区
格式化 Swap 分区
mkswap /dev/nvme0n1px
格式化 Btrfs 分区或者EXT4(二选一)
mkfs.btrfs -L Arch /dev/nvme0n1px
mkfs.ext4 /dev/nvme0n1px
挂载分区
Btrfs文件格式
将 Btrfs
分区挂载到 /mnt
下
mount -t btrfs -o compress=zstd /dev/nvme0n1px /mnt
创建 Btrfs 子卷
通过以下命令创建两个 Btrfs
子卷,之后将分别挂载到 /
根目录和 /home
用户主目录:
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
复查子卷情况
btrfs subvolume list -p /mnt
子卷创建好后,我们需要将 /mnt
卸载掉,以挂载子卷
umount /mnt
挂载/
目录
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme0n1px /mnt
创建home
目录
mkdir /mnt/home
挂载/home目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvme0n1px /mnt/home
创建 /boot/efi
目录
mkdir -p /mnt/boot/efi
挂载 /boot/efi
目录
mount /dev/nvme0n1px /mnt/boot/efi
EXT4文件格式
mount /dev/nvme0n1px /mnt
创建 /boot/efi 目录
mkdir -p /mnt/boot/efi
挂载 /boot/efi 目录(使用Windows系统ESP分区)
mount /dev/nvme0n1px /mnt/boot/efi
挂载交换分区
swapon /dev/nvme0n1px
安装系统
往/mnt
目录里安装系统
其中最基础的四个包是base
base-devel
linux
linux-firmware
pacstrap /mnt base base-devel linux linux-firmware dhcpcd iwd vim sudo bash-completion nano net-tools openssh man git wget zsh fish
生成 fstab 文件
genfstab -U /mnt >> /mnt/etc/fstab
复查一下 /mnt/etc/fstab
确保没有错误:
cat /mnt/etc/fstab
change root
使用以下命令把系统环境切换到新系统下:
arch-chroot /mnt
设置主机名与时区
首先在 /etc/hostname
设置主机名:
nano /etc/hostname
然后在 /etc/hosts
设置与其匹配的条目:
127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch.localdomain myarch
随后设置时区,在 /etc/localtime
下用 /usr
中合适的时区创建符号链接:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
硬件时间设置
hwclock --systohc
设置 Locale
Locale
决定了软件使用的语言、书写习惯和字符集。
编辑 /etc/locale.gen
,去掉 en_US.UTF-8 UTF-8
以及 zh_CN.UTF-8 UTF-8
行前的注释符号(#
):
nano /etc/locale.gen
然后使用如下命令生成 locale
locale-gen
向 /etc/locale.conf
输入内容:
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
为 root 用户设置密码
passwd root
开启 32 位支持库与 Arch Linux 中文社区仓库(archlinuxcn)
nano /etc/pacman.conf
ctrl+w 搜索Color
注意大小写 删除#号
系统报错会彩色显示 方便用户排查
[multilib]
这两行前面的#号删除
再手动添加[archlinuxcn]
源
我这里以中科大和网易开源镜像站为例
其他地址 如清华 阿里云 或者你所在的高校有archlinuxcn源 可以自行添加
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
官方源
[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch
添加非 root 用户
新建用户名arch
可自行更改用户名
useradd -m -G wheel -s /bin/bash arch
设置arch
用户名的密码
passwd arch
编辑arch
用户的权限
EDITOR=nano visudo
ctrl+w搜索%wheel
找到# %wheel ALL=(ALL:ALL)ALL
删除前面的#号
安装CPU微码和引导软件
通过以下命令安装对应芯片制造商的微码:
intel-ucode # Intel
amd-ucode # AMD
os-prober #查找已安装的操作系统
pacman -S intel-ucode grub efibootmgr os-prober
安装 GRUB 到 EFI 分区:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch
接下来 编辑 /etc/default/grub
文件:
nano /etc/default/grub
进行如下修改:
- 去掉
GRUB_CMDLINE_LINUX_DEFAULT
一行中最后的quiet
参数 - 把
loglevel
的数值从3
改成5
。这样是为了后续如果出现系统错误,方便排错 - 加入
nowatchdog
参数,这可以显著提高开关机速度 - 为了引导 win10,则还需要添加新的一行
GRUB_DISABLE_OS_PROBER=false
# GRUB boot loader configuration
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false
...
最后生成 GRUB
所需的配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
如遇到报错或无法引导Windows
分区可使用下面的命令
sudo LANG=C grub-mkconfig -o /boot/grub/grub.cfg
安装KDE桌面 字体 浏览器等软件包
pacman -S plasma-meta konsole dolphin # plasma-meta 元软件包、konsole 终端模拟器和 dolphin 文件管理器
pacman -S ntfs-3g **可以读取ntfs格式磁盘 **
pacman -S os-prober **查找已安装的操作系统 **
中文字体 这里如果不安装 之后设置语言的时候都是框框不好辨认
pacman -S adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts wqy-zenhei wqy-microhei noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-dejavu
安装火狐浏览器等软件
pacman -S firefox ark gwenview packagekit-qt5 packagekit appstream-qt appstream man neofetch net-tools networkmanager openssh git wget pamac
开机启动 登陆管理器 网络管理 SSH
systemctl enable NetworkManager sddm sshd
立即启动登陆管理器
systemctl start sddm
安装完成
卸载本机的/mnt目录
umount -R /mnt
重启
reboot
输入密码登录进桌面环境
安装AUR助手 前提是开启AUR中国源
sudo pacman -S archlinuxcn-keyring && sudo pacman -S yay
启动蓝牙(若有)
sudo pacman -S bluez bluez-utils
sudo systemctl enable --now bluetooth
安装音频驱动
sudo pacman -S alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth
安装显卡驱动
Intel 核芯显卡
sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel
不建议安装 xf86-video-intel
,而应使用 Xorg 的 modesetting 驱动(也就是什么都不用装的意思)
注意,只有 Intel HD 4000 及以上的核显才支持 vulkan。
不建议安装 xf86-video-intel
,而应使用 Xorg 的 modesetting 驱动(也就是什么都不用装的意思)
注意,只有 Intel HD 4000 及以上的核显才支持 vulkan。
题外如果太久没更新 密钥环失效
sudo pacman -Sy archlinux-keyring
pacman-key --refresh-keys
题外
更换LTS内核
pacman -S linux-lts linux-lts-headers
pacman -Rsdd linux
grub-mkconfig -o /boot/grub/grub.cfg
开启BBR
echo "tcp_bbr" > /etc/modules-load.d/modules.conf
echo "net.core.default_qdisc=fq" > /etc/sysctl.d/bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/bbr.conf
sysctl --system
校验
sysctl net.ipv4.tcp_congestion_control
安装cron定时任务
pacman -S cronie
默认 editor 为 vi, 在 /etc/environment 下配置环境变量
EDITOR=nano
清理系统日志文件 保留的最新日志文件大小为100M
journalctl --vacuum-size=100M
设置系统日志只保留100M
nano /etc/systemd/journald.conf
修改#SystemMaxUse=
为SystemMaxUse=100M
重新加载 systemd-journald
服务以应用更改
systemctl restart systemd-journald