ArchLinux 旧记录归档
太阳作者太阳
原创内容采用 CC-4.0 协议发布,转载请注明出处
ArchLinuxLinux旧记录归档

ArchLinux 旧记录归档

以前有一段时间,我主要用 ArchLinux。那时候留下了不少零散笔记:裸机安装、GNOME 桌面、ArchLinuxCN、Yay、Zsh、Docker、Samba、GRUB、WPS、OneDrive、Python 环境、命令行工具,还有几份已经找不到原文的 Yay 包清单。

这篇就是把那些没有必要继续单独放着的旧记录收在一起。它不是新的安装教程,也不是推荐清单,只是给自己留个索引:当时我到底装过什么、配过什么、迁移前又想保留哪些命令。

ArchLinux 本身挺好的。文档完整,包管理清楚,系统细节也摊得很开。这里写的是我当时的使用痕迹,不评价发行版本身。

裸机安装

我当时把裸机安装拆成几步:先处理磁盘和文件系统,再进 arch-chroot,最后补引导、网络、SSH 和普通用户。

parted /dev/sdb
mklabel gpt
# 或旧 BIOS 场景使用:
# mklabel msdos

cfdisk /dev/sdb

mkfs.ext4 /dev/sdb2
mkfs.fat -F 32 /dev/sdb1

mount /dev/sdb2 /mnt
mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot

后面是基础系统和引导:

vim /etc/pacman.d/mirrorlist
# Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

pacman -Syy
pacstrap /mnt base linux linux-firmware
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt

pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

pacman -S vi networkmanager openssh sudo
systemctl enable NetworkManager
systemctl enable sshd

现在看这段,最需要提醒自己的还是磁盘路径。/dev/sdb/dev/sda 这种东西不能凭记忆敲,得按当时机器确认。

GNOME 桌面

桌面环境那套记录比较完整。我先装 GNOME 和 Nautilus 这类基础包,再启用 GDM。

sudo pacman -S gdm \
    xdg-user-dirs-gtk \
    gnome-shell \
    gnome-control-center \
    gnome-keyring \
    gnome-menus \
    gnome-terminal \
    gnome-tweaks \
    gnome-logs \
    gnome-power-manager \
    gnome-system-monitor \
    nautilus

sudo systemctl enable gdm

Intel 核显和 ArchLinuxCN 也放在这套桌面初始化里:

sudo pacman -S intel-media-sdk intel-gpu-tools vulkan-intel

sudo vi /etc/pacman.conf

[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

sudo pacman -Syy
sudo pacman -S archlinuxcn-keyring
sudo pacman -S yay

桌面常用包我当时装得很全:

# 桌面常用包(安装用途)
yay -S alsa-utils              # ALSA 声音工具
yay -S wqy-zenhei              # 中文字体
yay -S ibus-libpinyin          # IBus 拼音输入法
yay -S vlc                     # 视频播放器
yay -S telegram-desktop        # Telegram 桌面客户端
yay -S chromium                # Chromium 浏览器
yay -S remmina                 # 远程桌面客户端
yay -S gimp                    # 图片编辑
yay -S audacity                # 音频编辑
yay -S inkscape                # 矢量图编辑
yay -S wps-office              # WPS Office
yay -S wps-office-mui-zh-cn    # WPS Office 中文语言包
yay -S netease-cloud-music     # 网易云音乐客户端

GNOME 扩展和桌面美化也留了一串:

yay -S gnome-shell-extension-dash-to-dock-git gnome-shell-extension-bing-wallpaper \
    newaita-icons-git chrome-gnome-shell ocs-url gvfs-smb

Yay 和包清单

Yay 是当时这套环境的核心工具之一。安装、查询、导出显式安装包清单,这几条命令反复出现。

sudo pacman -S archlinuxcn-keyring
sudo pacman -S yay

yay -Qe > soft/yay.Qe.txt
yay -Si yay

当时还提到过几份备份:

# Yay 包清单备份文件(历史记录)
echo "yay.book.txt"          # 70 个包
echo "yay.company.txt"       # 78 个包
echo "yay.mini.txt"          # 37 个包
echo "yay.workstation.txt"    # 80 个包

这些原始文件现在不在工作树里了,只剩下当时写过的说明。能恢复出来的包,我按用途放在下面。

基础构建与 Shell

# 基础构建与 Shell(常用基础工具)
yay -S base-devel               # AUR 构建常用基础工具集合
yay -S fakeroot                # 构建包时模拟 root 权限
yay -S binutils                # 编译、链接和二进制处理工具
yay -S zsh                     # Shell
yay -S zsh-autosuggestions     # Zsh 历史命令建议
yay -S zsh-completions         # Zsh 补全扩展
yay -S zsh-syntax-highlighting # Zsh 命令高亮
yay -S pkgfile                 # 查询文件归属包(command-not-found 类体验)

开发环境

# 开发环境相关包
yay -S git                      # 版本控制
yay -S visual-studio-code-bin   # VS Code 二进制版本
yay -S jdk-temurin              # Temurin JDK
yay -S python                   # Python 运行时
yay -S python-pip               # Python 包管理工具
yay -S pyenv                    # Python 版本管理
yay -S nodejs                   # Node.js
yay -S npm                      # Node.js 包管理工具
yay -S maven                    # Java 构建工具
yay -S dotnet-sdk-bin           # .NET SDK 二进制包
yay -S aspnet-targeting-pack-bin # ASP.NET 目标包

服务端与同步

# 服务端与同步相关包
yay -S docker                  # 容器运行时
yay -S docker-compose          # Docker Compose 包(后续常用 docker compose)
yay -S samba                   # SMB 文件共享
yay -S metasploit              # 安全测试框架
yay -S onedrive-abraunegg      # OneDrive 第三方同步客户端
yay -S zram-generator          # systemd ZRAM 配置生成器

工具与实验项

# 工具与实验项
yay -S grub-customizer      # 图形化配置 GRUB
yay -S linux-lts            # LTS 内核
yay -S anything-sync-daemon # 将指定目录同步到内存策略中,减少高频写盘
yay -S viddy                # 增强版 watch 的命令输出观察工具
yay -S duf                  # 磁盘空间查看工具

初始化和服务器

初始化脚本里,我主要在处理镜像源、Pacman keyring、ArchLinuxCN、Yay、Zsh 和 Docker。

sudo vim /etc/pacman.d/mirrorlist

Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

killall gpg-agent
rm -rf /etc/pacman.d/gnupg/
pacman-key --init
pacman-key --populate archlinux
pacman -Syyu
pacman -S git openssh

服务器那边更偏小主机和服务节点:

yay -S zsh zsh-autosuggestions zsh-completions zsh-syntax-highlighting pkgfile
yay -S git docker docker-compose samba
yay -S metasploit
yay -S jdk-temurin python nodejs
yay -S maven python-pip npm
yay -S dotnet-sdk-bin aspnet-targeting-pack-bin

Docker 和 Samba 的服务启用命令也一并留着:

sudo systemctl enable docker
sudo systemctl start docker
sudo groupadd -f docker
sudo usermod -aG docker $USER
sudo systemctl daemon-reload
sudo systemctl restart docker

sudo systemctl enable nmb smb
sudo systemctl start nmb smb

小内存机器上还配过 ZRAM 和 2G 静态 swap:

[zram0]
zram-size = ram / 2
compression-algorithm = zstd
swap-priority = 100
fs-type = swap
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon --priority 99 /swapfile

办公和同步

WPS 这段当时就是为了在 Linux 桌面上装主程序、中文包、字体和 MIME 支持。

yay -S wps-office
yay -S wps-office-mui-zh-cn

当时还记了可选依赖:

cups
libjpeg-turbo
pango
curl
ttf-wps-fonts
ttf-ms-fonts
wps-office-fonts
wps-office-mime
wps-office-mui-zh-cn

原脚本里标注过这几个已经装了:

libjpeg-turbo
pango
curl

OneDrive 同步主要留下了安装、查看配置、dry-run 和正式同步这几步。

yay -S onedrive-abraunegg
onedrive --display-config
onedrive --synchronize --verbose --dry-run
onedrive --synchronize

同步目录和账号信息没有放进正文,只保留命令形态。

其他片段

Termux 里也试过 PRoot-Distro 的 ArchLinux / ArchLinux ARM:

proot-distro install archlinux
proot-distro login archlinux
echo 'Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo' >> /etc/pacman.d/mirrorlist

Docker 那边还留下过一个观察:以前常见的是 docker-compose 包,后来更常用 Docker Compose plugin,也就是 docker compose

tools.md 里还写过一句对 ArchLinux 的主观评价。那就是当时的个人感受,留在页面里就行,不在这里展开。

回头看

这些旧记录放在一起,能看出当时的使用路径:先装系统,再补桌面和输入法;桌面能用之后,开始补开发环境、Docker、Samba、同步工具;最后再把显式安装包导出来,给下一台机器复用。

它们现在不一定还是最佳写法,但作为旧记录是有价值的。以后再看到某条 yay -S 或某段 pacman 命令,至少知道它曾经属于哪一段使用经历。