这不是一个教程!!!

原因

最近发现bun.js挺火的,但是不支持windows,只支持*uix。我就想起来尘封已久的ArchLinux。但是好久没更新上系统的时候已经滚挂了,所以就重新安装一下

安装前准备

再次提醒这不是教程,有问题请访问ArchWiki

下载镜像

这里建议通过镜像站来下载,如果你魔法上网非常好的话可以去Arch下载站 这里列举几个镜像站

刻录镜像

准备一个大于2G的U盘(建议上8g),刻录镜像当启动盘。 刻录软件推荐Ventoy,把镜像文件丢进去就行了,可以在弄一个WindowsPE镜像进去这样出了什么问题就可以随时还原

基本系统安装

插上U盘选择U盘启动,然后选择第一个就可以进入Arch的安装环境了

禁用 reflector 服务

这玩意一定要块,进入安装环境第一件事就是把它ban了,我之前安装遇到pacman半天没网的情况,结果是它给我调度到了非洲的镜像源。它或许是个好东西(特定情况)但是时好时坏的东西还是ban掉 使用下面的代码来关闭和检测有没有关闭

Zsh
systemctl stop reflector.service
systemctl status reflector.service

连接网络

我是电脑直接插了网线不需要通过命令来连接无线网络,所以这里是放了一下,等安装桌面在连接无线网络。

更新系统时间

在很多日志等操作需要正确的系统时间来保证没有问题

Zsh
timedatectl set-ntp true # 将系统时间与网络时间进行同步
timedatectl status # 检查服务状态

换镜像源

由于刚才我们手动禁用了reflector使用我们的镜像源是没有改变的,如果改变了也不要紧,手动改掉就行了 使用 vim 编辑器修改 /etc/pacman.d/mirrorlist 文件

Zsh
vim /etc/pacman.d/mirrorlist

这里推荐中科大源,将下面的镜像源放在最上面即可

MIRRORLIST
Server=http://mirrors.ustc.edu.cn/archlinux/$repo/os/$archServer=https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch

安装ssh和net-tools

我很懒啊,在维基上找了教程,然后输到这里我就不想输了,然后我就拿上我的mac准备连接ssh了

Zsh
pacman -Syu  # 换了源先更新系统软件包
pacman -S openssh # 安装ssh
pacman -S net-tools # 我们需要找到IP才能连接ssh

启动和连接ssh

net-tools只是一个随时运行的工具,所以不需要启动,我们需要启动openssh来保持我们的连接

Zsh
systemctl start sshd

sshd就是openssh了,我们只需要启动它就行了,不需要让它开机自启。然后我们连接ssh,ssh什么软件都可以连接,我用的是termius,在连接ssh之前我们需要查看IP和设置root密码

Zsh
ifconfig # 和window的不一样不是ipconfig
passwd root # 设置root密码

然后使用ssh软件连接就行了,这样一对代码就能复制粘贴了

需要注意这里设置的root密码等下回到原系统还需要设置一遍,不然登录不上

分区和格式化

如果你是和Windows安装在一个盘下,请带好眼镜,别格错了盘,生命诚可贵 数据价更高

  1. 使用lsblk来查看查看分区情况
  2. 使用 cfdisk 命令对磁盘分区
  3. (可选)创建efi分区,如果你是和window安装到一个盘这里就不需要创建efi分区,但是我是拿古老的机械来安装,所以我需要创建一个efi分区
  4. 创建swap分区 这里建议为内存的60%~100%
  5. 剩下的容量就全部给Btrfs分区就行
  6. 修改分区类别 efi分区需要选择Efi System swap需要选择Linux Swap 其他分区不用动
  7. 格式化Efi分区
Zsh
mkfs.fat -F32 /dev/sdx # 刚刚创建的Efi分区

如果你是和window一个盘别格式化

  1. 格式化swap
Zsh
mkswap /dev/sdxn # 刚刚创建的swap分区
  1. 格式化 Btrfs 分区
Zsh
mkfs.btrfs -L myArch /dev/sdxn

myArch是分区的名字类似于windows的本地磁盘、新建卷这种分区名字

  1. Btrfs 分区挂载到 /mnt
Zsh
mount -t btrfs -o compress=zstd /dev/sdxn /mnt
  1. 创建 Btrfs 子卷
Zsh
btrfs subvolume create /mnt/@ # 创建 / 目录子卷
btrfs subvolume create /mnt/@home # 创建 /home 目录子卷

挂载

使用以下命令挂载目录

Zsh
mount -t btrfs -o subvol=/@,compress=zstd /dev/sdxn /mnt # 挂载 / 目录
mkdir /mnt/home # 创建 /home 目录
mount -t btrfs -o subvol=/@home,compress=zstd /dev/sdxn /mnt/home # 挂载 /home 目录
mkdir -p /mnt/boot # 创建 /boot 目录
mount /dev/sdxn /mnt/boot # 挂载 /boot 目录
swapon /dev/sdxn # 挂载交换分区

安装系统

通过如下命令使用 pacstrap 脚本安装基础包,也可以用pacman

Zsh
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs
# 如果使用btrfs文件系统,额外安装一个btrfs-progs包

安装必要软件

Zsh
pacstrap /mnt networkmanager vim sudo zsh zsh-completions

生成分区

使用 genfstab 自动根据当前挂载情况生成并写入 fstab 文件

Zsh
genfstab -U /mnt > /mnt/etc/fstab

切换新系统

使用以下命令把系统环境切换到新系统下

Zsh
arch-chroot /mnt

设置主机名与时区

  1. 首先在 /etc/hostname 设置主机名
Zsh
vim /etc/hostname
  1. 接下来在 /etc/hosts 设置与其匹配的条目
Zsh
127.0.0.1   localhost
::1         localhost
127.0.1.1   Arch.localdomain Arch
  1. 设置时区
Zsh
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  1. 同步硬件时间
Zsh
hwclock --systohc

设置Locale

  1. 编辑 /etc/locale.gen,去掉 en_US.UTF-8 UTF-8 以及 zh_CN.UTF-8 UTF-8 行前的注释符

```号(#

Zsh
vim /etc/locale.gen
  1. 然后使用如下命令生成 locale
Zsh
locale-gen
  1. /etc/locale.conf 输入内容
Zsh
echo 'LANG=en\_US.UTF-8'  > /etc/locale.conf

设置root密码

刚刚我们在安装环境里设置了root密码,但是切换回系统我们就需要重新设置密码。

Zsh
passwd root

创建非root账号

这里可以现在创建也可以等下重启完了再创建

  1. 通过以下命令添加用户,比如新增加的用户叫myusername
Zsh
useradd -m -G wheel -s /bin/bash myusername
  1. 通过以下命令根据提示设置新用户 myusername 的密码
Zsh
passwd myusername
  1. 使用 vim 编辑器通过 visudo 命令编辑 sudoers 文件
Zsh
EDITOR=vim visudo
  1. 找到如下这样的一行,把前面的注释符号 # 去掉
VISUDO
`#%wheel ALL=(ALL:ALL) ALL`

安装微码

通过以下命令安装对应芯片制造商的微码

Zsh
pacman -S intel-ucode # Intel
pacman -S amd-ucode # AMD

安装引导

  1. 安装相应的包
Zsh
pacman -S grub efibootmgr os-prober
  1. 安装 GRUB 到 EFI 分区
Zsh
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
  1. 接下来使用 vim 编辑 /etc/default/grub 文件
Zsh
vim /etc/default/grub

进行如下修改:

  • 去掉 GRUB_CMDLINE_LINUX_DEFAULT 一行中最后的 quiet 参数
  • loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错
  • 加入 nowatchdog 参数,这可以显著提高开关机速度
  • 加入 GRUB_DISABLE_OS_PROBER=false
  1. 最后生成 GRUB 所需的配置文件
Zsh
grub-mkconfig -o /boot/grub/grub.cfg

基础安装完成

退回安装环境并卸载mnt分区,拔掉U盘再重启

Zsh
exit # 退回安装环境
umount -R /mnt # 卸载新分区
reboot # 重启

连接网络

Zsh
systemctl enable --now NetworkManager # 设置开机自启并立即启动 NetworkManager 服务

安装桌面环境

干前端需要浏览器怎么能不装桌面呢 懒。。。等我有空再写吧 又到了心心念念的桌面环境了,不过在此之前我们需要先更新系统,[font color="#FF4500"]注意了,一段时间再开机以后需要更新不然就会和我一样挂滚[/font]

Zsh
pacman -Syu

开启32位库和中文社区支持

  1. 编辑 /etc/pacman.conf 文件
Zsh
vim /etc/pacman.conf
  1. 去掉 [multilib] 一节中两行的注释,来开启 32 位库支持
2023-11-30T17:33:43.png
2023-11-30T17:33:43.png
  1. 在文档结尾处加入下面的文字,来添加 archlinuxcn 源
Zsh
[archlinuxcn]
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch # 中国科学技术大学开源镜像站
  1. 保存并退出 vim 编辑器

  2. 通过以下命令刷新 pacman 数据库并更新

Zsh
pacman -Syyu

安装KDE桌面环境

这里我使用的KDE你也可以使用其他桌面比如GNOME等等

  1. 使用以下命令安装相关包
Zsh
pacman -S plasma-meta konsole dolphin 
pacman -S  plasma-wayland-session xdg-desktop-portal egl-wayland 
# 这里我习惯用Wayland你可以不装用x11 egl-wayland是n卡要装的
  1. 启动桌面环境
Zsh
systemctl enable sddm # 这里直接用enable就能开机自启,不用每次都手动启动桌面环境
systemctl start ssdm # 手动开启桌面就不用重启了

完成安装

这样桌面环境就安装成功了,默认启动的是你配置的用户,输入密码就可以登录进去了,可以在登录页面选择是x11还是Wayland