Loading... ## 1 安装系统 ### 1.1 连接网络 #### 1.1.0 有线连接 一般插上网线就可以了 #### 1.1.1 WiFi连接 ```shell iwctl #进入命令行 device list #查看网卡设备 station wlan0 scan #扫描WiFi列表,wlan0为我的无线网卡 station wlan0 get-networks #显示WiFi列表 station wlan0 connect <WiFi名字> #连接WiFi,有密码会跳出输入,<>不需要加 ``` ### 1.2 同步时间 ```shell timedatectl set-ntp true #将系统时间与网络时间进行同步 timedatectl status #检查服务状态 ``` ### 1.3 更换国内源 ```shell vim /etc/pacman.d/mirrorlist #打开配置 /ustc #找到中科大源,按回车 #选中当前行后按两下d剪切 #按两下g跳转到文件首部 #单击p粘帖 #单击Esc退出编辑模式 #:wq保存退出 上海交大: Server = https://mirror.sjtu.edu.cn/archlinux/$repo/os/$arch ``` ### 1.4 磁盘分区 使用btrfs文件系统 + EFI `/boot` 1G + 根目录 `/` `/home` 剩余部分 + 交换分区 `swap` 32G ```shell #使用lsblk查看分区 #分区划分 parted /dev/(sdx, nvmex) #转换磁盘类型 mktable gpt #转换为gpt quit cfdisk #分区图形化不详写,四个分区类型分别为EFI System,默认,swap和默认 #格式化分区 mkfs.fat -F 32 /dev/sdax #EFI mkswap /dev/sdax #swap mkfs.btrfs -L archOS /dev/nvmexn1pn swapon /dev/sdax #激活swap #挂载 mount -t btrfs -o compress=zstd /dev/nvmexn1pn /mnt df -h # -h 选项会使输出以人类可读的单位显示 btrfs subvolume create /mnt/@ # 创建 / 目录子卷 btrfs subvolume create /mnt/@home # 创建 /home 目录子卷 btrfs subvolume create /mnt/@log btrfs subvolume create /mnt/@pkg umount /dev/sda3 # 卸载分区 # 挂载根目录 mount /dev/sda3 /mnt -o subvol=@,noatime,discard=async,compress=zstd # 挂载家目录 mkdir /mnt/home mount /dev/sda3 /mnt/home -o subvol=@home,noatime,discard=async,compress=zstd # 挂载 /var/log 目录 mkdir -p /mnt/var/log mount /dev/sda3 /mnt/var/log -o subvol=@log,noatime,discard=async,compress=zstd # 挂载 /var/cache/pacman/pkg 目录 mkdir -p /mnt/var/cache/pacman/pkg mount /dev/sda3 /mnt/var/cache/pacman/pkg -o subvol=@pkg,noatime,discard=async,compress=zstd chattr +C /mnt/var/log chattr +C /mnt/var/cache/pacman/pkg mkdir /mnt/boot #创建EFI目录 mount /dev/sdax /mnt/boot #挂载EFI ``` ### 1.5 安装系统 基础包 `pacstrap -K /mnt base linux linux-firmware btrfs-progs` 软件 `pacstrap /mnt dhcpcd iwd vim sudo` ### 1.6 生成fstab文件 `genfstab -U /mnt > /mnt/etc/fstab` ### 1.7切换到新系统 `arch-chroot /mnt` ### 1.8 时区 `ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime` ### 1.9 硬件时间 `hwclock --systohc` ### 1.10 本地化 `vim /etc/locale.gen` 取消注释 `en_US.UTF-8`和 `zh_CN.UTF-8` `locale-gen`生成 `echo 'LANG=en_US.UTF-8' > /etc/locale.conf` ### 1.11 网络配置 创建 `/etc/hostname` 文件,写入自定义的主机名: ``` (my_hostname) ``` 编辑本地主机名解析 `/etc/hosts`,写入:(编辑 `/etc/hosts` 时空白建议用 `Tab` 键) ``` 127.0.0.1 localhost ::1 localhost 127.0.1.1 (my_hostname) ``` ### 1.12 设置root密码 `passwd root` ### 1.13 安装微码 ```shell pacman -S intel-ucode #Intel pacman -S amd-ucode #AMD ``` 在 chroot 进入新系统后,除了官方推荐的配置,对于 btrfs 文件系统,需要编辑 mkinitcpio 文件,通常位于 /etc/mkinitcpio.conf,找到 MODULES=() 一行,在括号中添加 btrfs,这是为了在系统启动时提前加载 btrfs 内核模块,从而正常启动系统。记得每次编辑完 mkinitcpio 文件后都需要手动重新生成 initramfs: mkinitcpio -P ### 1.14 安装引导程序 ```bash pacman -S grub efibootmgr ``` 双系统启动设置 下载 `os-prober`: `sudo pacman -S os-prober` 想要让 `grub-mkconfig` 探测其他已经安装的系统并自动把他们添加到启动菜单中,编辑 `/etc/default/grub` 并取消下面这一行的注释: `GRUB_DISABLE_OS_PROBER=false` 想要让 GRUB 记住上一次启动的启动项,首先将 `GRUB_DEFAULT` 的值改为 `saved`,再取消下面这一行的注释: `GRUB_SAVEDEFAULT=true` 把 loglevel 的数值从 3 改成 5。这样是为了后续如果出现系统错误,方便排错 GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog" ``` grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Archlinux #将grubx64.efi安装到之前的指定位置 grub-mkconfig -o /boot/grub/grub.cfg #生成GRUB所需的配置文件 ``` ### 1.15 退出 ```shell exit # 退回安装环境# umount -R /mnt # 卸载新分区 reboot # 重启 ``` --- ## 2 安装桌面环境和常用应用 ### 2.0更新系统 `pacman -Syyu` ### 2.1 准备用户 ```shell useradd -m -G wheel -s /bin/bash name passwd name EDITOR=vim visudo #取消注释 #%wheel ALL=(ALL) ALL ``` ### 2.2 桌面环境 ```shell pacman -S plasma-meta konsole dolphin #桌面,终端,文件管理器 systemctl enable sddm #登陆界面 pacman -S networkmanager systemctl enable NetworkManager ``` ### 2.3 32 位支持库与 ArchLinuxCN 支持库 ```shell pacman -S base-devel paru yay vim /etc/pacman.conf #取消[multilib]注释,[custom]替换成 [archlinuxcn] Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux-cn/$arch pacman -Syyu #刷新数据库 sudo pacman -S archlinuxcn-keyring #安装key ``` ### 2.4 常用应用 ```shell sudo pacman -S ntfs-3g firefox #识别NTFS格式的硬盘 #输入法 sudo pacman -S fcitx5-im #基础包组 sudo pacman -S fcitx5-chinese-addons #官方中文输入引擎 sudo pacman -S fcitx5-anthy #日文输入引擎 sudo pacman -S fcitx5-pinyin-moegirl #萌娘百科词库 二刺猿必备(ArchLinuxCn) sudo pacman -S fcitx5-material-color #主题 环境设置编辑变量文件vim ~/.pam_environment加入以下内容 INPUT_METHOD DEFAULT=fcitx5 GTK_IM_MODULE DEFAULT=fcitx5 QT_IM_MODULE DEFAULT=fcitx5 XMODIFIERS DEFAULT=\@im=fcitx5 SDL_IM_MODULE DEFAULT=fcitx sudo systemctl enable --now bluetooth #蓝牙 ``` ### 2.5 显卡驱动 sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon 建议参考[原文](https://archlinuxstudio.github.io/ArchLinuxTutorial/#/rookie/graphic_driver)还没搞明白 ## 3 日常使用 ## 3.1 pacman使用 下载软件包:`sudo pacman -S (package_name)` 删除软件包:`sudo pacman -R (package_name)` 删除软件包,及其所有未被其他已安装软件包依赖的软件包: `sudo pacman -Rs (package_name)` 删除软件包,及其 `pacman` 备份文件: `sudo pacman -Rn (package_name)` 更新所有软件包: `sudo pacman -Syu` 搜索软件包 `pacman` 使用 `-Q` 参数查询本地软件包数据库,`-S` 查询远程数据库(包含全部软件包),以及 `-F` 查询文件数据库 在远程数据库中查询软件包: `pacman -Ss (package_name)` 搜索已安装的软件包:(`-s` 会使用正则表达式匹配所有相似的结果,如果没有 `-s` 会只显示全词匹配) `pacman -Qs (package_name)` 列出所有已安装的软件包:`pacman -Q` 列出所有已安装的仓库外(一般就是 AUR)软件包:`pacman -Qm` 列出所有孤立软件包(不再作为依赖的软件包),可以加 `-q` 选项不显示版本号: `pacman -Qdt` 检查依赖关系 以树状图的形式展示某软件包的依赖关系:(需要下载 `pacman-contrib` 软件包) `pactree (package_name)` 降级软件包 清理缓存 `pacman-contrib` 软件包提供的 `paccache` 脚本默认会删除所有缓存的版本和已卸载的软件包,除了最近的3个会被保留: `sudo paccache -r` 更激进的方式是使用 `pacman` 清理全部软件安装包缓存:(即删除 `/var/cache/pacman/pkg/`、`/var/lib/pacman/` 下的全部内容)` sudo pacman -Scc` 清理无用的孤立软件包: `sudo pacman -R $(pacman -Qdtq)` **若不小心终止了 `pacman` 进程,则需要先删除 `/var/lib/pacman/db.lck` 才能再次启动 `pacman`** Linux 挂载 Windows 磁盘 使用 fstab 文件 首先要确保设备加密和快速启动已经关闭,以下内容针对 Linux 5.15 及之后的内核中引入的 NTFS3 驱动 官方推荐的方法是使用 UUID,以分别挂载 C 盘和 D 盘到 /home/(user_name)/C 和 /home/(user_name)/D 为例,在终端中输入: lsblk -f 在输出结果中可以发现 Windows 的硬盘分区,其中第一列(NAME)是卷标,第四列(UUID)是 UUID: NAME FSTYPE LABEL UUID ├─(name_C) ntfs C (UUID_C) ├─(name_D) ntfs D (UUID_D) 接着就来修改系统文件: sudo vim /etc/fstab 在最后加入这两行:(编辑 /etc/fstab 时空白建议用 Tab 键) UUID=(UUID_C) /home/(user_name)/C ntfs3 defaults,uid=1000,gid=1000,nohidden,windows_names,discard 0 0 UUID=(UUID_D) /home/(user_name)/D ntfs3 defaults,uid=1000,gid=1000,nohidden,windows_names,discard 0 0 此处的挂载选项可以在此基础上自行选择增减,参见: NTFS3 — The Linux Kernel documentation 重启电脑后,即可自动挂载 最后修改:2025 年 01 月 09 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏