Arch Linux 软件安装完全指南
本指南详细介绍 Arch Linux 系统中安装软件的各种方法,包括官方仓库、AUR、AppImage、Flatpak、Snap 以及源码编译。
目录
- 官方仓库 (pacman)
- AUR (Arch User Repository)
- AppImage
- Flatpak
- Snap
- 源码编译
- 卸载与清理
- 最佳实践
- 故障排除
- 附录:CC-Switch 安装示例
1. 官方仓库 (pacman)
pacman 是 Arch Linux 的包管理器,用于管理官方仓库中的软件包。
1.1 基本操作
安装软件
1 2 3 4 5 6 7 8
| sudo pacman -S <软件包名>
sudo pacman -S <包1> <包2> <包3>
sudo pacman -S gnome
|
搜索软件
1 2 3 4 5 6 7 8 9 10 11
| pacman -Ss <关键词>
pacman -Qs <关键词>
pacman -Si <软件包名>
pacman -Qi <软件包名>
|
更新系统
1 2 3 4 5 6 7 8
| sudo pacman -Syu
sudo pacman -Sy
sudo pacman -S <软件包名>
|
卸载软件
1 2 3 4 5 6 7 8
| sudo pacman -R <软件包名>
sudo pacman -Rs <软件包名>
sudo pacman -Rns <软件包名>
|
1.2 高级操作
清理缓存
1 2 3 4 5 6 7 8
| sudo pacman -Sc
sudo pacman -Scc
sudo paccache -r
|
查询文件
1 2 3 4 5 6 7 8
| pacman -Qo /path/to/file
pacman -Ql <软件包名>
pacman -F <文件名>
|
依赖分析
1 2 3 4 5 6 7 8
| pactree <软件包名>
pactree -r <软件包名>
pacman -Qdt
|
1.3 配置文件
pacman 的主要配置文件位于 /etc/pacman.conf,镜像列表位于 /etc/pacman.d/mirrorlist。
常用配置选项
1 2 3 4
| Color ParallelDownloads = 5 VerbosePkgLists
|
添加第三方仓库
1 2 3
| [archlinuxcn] Server = https://repo.archlinuxcn.org/$arch
|
2. AUR (Arch User Repository)
AUR 是社区维护的软件仓库,包含大量官方仓库没有的软件包。
2.1 基本概念
- PKGBUILD: 构建脚本,描述如何编译和打包软件
- makepkg: 构建工具,读取 PKGBUILD 并生成可安装的包
- AUR helper: 辅助工具,自动化 AUR 包的安装过程
2.2 手动安装(推荐用于学习)
准备工作
1 2
| sudo pacman -S base-devel git
|
安装步骤
1 2 3 4 5 6 7 8 9 10 11
| git clone https://aur.archlinux.org/<软件包名>.git
cd <软件包名>
less PKGBUILD
makepkg -si
|
makepkg 常用选项
-s: 自动安装依赖
-i: 构建完成后自动安装
-r: 构建后删除构建依赖
-c: 清理临时文件
2.3 使用 AUR Helper
AUR helper 可以自动化 AUR 包的安装过程。
yay (Yet Another Yogurt)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sudo pacman -S git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si
yay -S <软件包名>
yay -Ss <关键词>
yay -Syu
|
paru
1 2 3 4 5 6 7 8
| sudo pacman -S git base-devel git clone https://aur.archlinux.org/paru.git cd paru makepkg -si
paru -S <软件包名>
|
2.4 安全注意事项
- 检查 PKGBUILD: 安装前务必检查 PKGBUILD 内容
- 查看评论: 阅读 AUR 页面上的用户评论
- 验证来源: 确保软件来源可信
- 定期更新: AUR 包不自动更新,需手动更新
3. AppImage
AppImage 是一种便携式软件分发格式,无需安装即可运行。
3.1 基本使用
1 2 3 4 5 6 7 8
| wget https://example.com/software.AppImage
chmod +x software.AppImage
./software.AppImage
|
3.2 系统集成
安装到用户目录
1 2 3 4 5 6 7 8
| mkdir -p ~/.local/bin
mv software.AppImage ~/.local/bin/
ln -s ~/.local/bin/software.AppImage ~/.local/bin/software
|
创建桌面快捷方式
1 2 3 4 5 6 7 8 9 10 11 12 13
| cat > ~/.local/share/applications/software.desktop << EOF [Desktop Entry] Name=Software Name Comment=Software description Exec=/home/$USER/.local/bin/software.AppImage Icon=application-x-executable Terminal=false Type=Application Categories=Utility; EOF
update-desktop-database ~/.local/share/applications/
|
3.3 AppImage 管理工具
appimaged
1 2 3 4 5 6
| sudo pacman -S appimaged
systemctl --user enable appimaged systemctl --user start appimaged
|
AppImageLauncher
1 2
| yay -S appimagelauncher
|
3.4 优缺点
优点:
缺点:
4. Flatpak
Flatpak 是另一种通用软件包管理系统。
4.1 安装与配置
1 2 3 4 5 6 7
| sudo pacman -S flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
4.2 基本操作
安装软件
1 2 3 4 5 6 7 8
| flatpak search <关键词>
flatpak install flathub <软件包名>
flatpak run <软件包名>
|
管理软件
1 2 3 4 5 6 7 8 9 10 11
| flatpak list
flatpak update
flatpak uninstall <软件包名>
flatpak uninstall --unused
|
4.3 图形界面工具
1 2 3 4 5
| sudo pacman -S gnome-software
sudo pacman -S discover
|
4.4 优缺点
优点:
缺点:
- 首次下载运行时较大
- 启动速度略慢
- 沙箱可能限制某些功能
5. Snap
Snap 由 Ubuntu 开发,也是一种通用包管理系统。
5.1 安装与配置
1 2 3 4 5 6 7 8 9 10
| sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
|
5.2 基本操作
安装软件
1 2 3 4 5 6 7 8
| snap find <关键词>
sudo snap install <软件包名>
sudo snap install <软件包名> --channel=stable
|
管理软件
1 2 3 4 5 6 7 8
| snap list
sudo snap refresh <软件包名>
sudo snap remove <软件包名>
|
5.3 通道系统
Snap 使用通道(channel)系统管理版本:
stable: 稳定版(默认)
candidate: 候选版
beta: 测试版
edge: 开发版
1 2 3 4 5 6
| snap info <软件包名>
sudo snap switch <软件包名> --channel=beta sudo snap refresh
|
5.4 优缺点
优点:
缺点:
6. 源码编译
某些软件需要从源码编译安装。
6.1 基本步骤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo pacman -S base-devel
wget https://example.com/software.tar.gz tar -xzf software.tar.gz cd software
./configure
make
sudo make install
|
6.2 使用 CMake
1 2 3 4 5 6 7 8 9 10 11
| mkdir build && cd build
cmake ..
make
sudo make install
|
6.3 使用 Meson
1 2 3 4 5 6 7 8
| meson setup build
ninja -C build
sudo ninja -C build install
|
6.4 注意事项
- 依赖管理: 需要手动安装所有依赖
- 更新困难: 需要手动下载新版本重新编译
- 冲突风险: 可能与系统包管理器冲突
- 卸载困难: 没有标准的卸载方法
7. 卸载与清理
7.1 pacman 卸载
1 2 3 4 5 6 7 8 9 10 11
| sudo pacman -R <软件包名>
sudo pacman -Rs <软件包名>
sudo pacman -Rns <软件包名>
sudo pacman -Rdd <软件包名>
|
7.2 AUR 卸载
1 2 3 4 5 6 7 8
| sudo pacman -Rs <软件包名>
yay -Rs <软件包名>
yay -Sc
|
7.3 AppImage 卸载
1 2 3 4 5 6 7 8 9 10 11
| rm ~/.local/bin/software.AppImage
rm ~/.local/bin/software
rm ~/.local/share/applications/software.desktop
update-desktop-database ~/.local/share/applications/
|
7.4 Flatpak 卸载
1 2 3 4 5 6 7 8
| flatpak uninstall <软件包名>
flatpak uninstall --unused
rm -rf ~/.local/share/flatpak
|
7.5 Snap 卸载
1 2 3 4 5
| sudo snap remove <软件包名>
sudo rm -rf /var/lib/snapd/cache/*
|
7.6 系统清理
清理包缓存
1 2 3 4 5 6 7 8
| sudo paccache -r
sudo pacman -Sc
sudo pacman -Scc
|
清理孤立包
1 2 3 4 5
| pacman -Qdt
sudo pacman -Rs $(pacman -Qdtq)
|
清理日志
1 2
| sudo journalctl --vacuum-time=2weeks
|
8. 最佳实践
8.1 安装优先级
- 官方仓库: 优先使用,稳定可靠
- AUR: 官方没有时使用,注意安全
- Flatpak/Snap: 跨平台软件或需要沙箱时使用
- AppImage: 便携式使用或测试软件
- 源码编译: 最后选择,需要特殊配置时使用
8.2 安全建议
- 定期更新: 每周运行
sudo pacman -Syu
- 检查来源: 安装前验证软件来源
- 备份配置: 重要配置文件定期备份
- 使用快照: 考虑使用 Timeshift 等工具创建系统快照
8.3 维护建议
1 2 3 4 5
| sudo pacman -Syu sudo paccache -r pacman -Qdt sudo journalctl --vacuum-time=2weeks
|
9. 故障排除
9.1 常见问题
依赖冲突
1 2 3 4 5
| sudo pacman -Syu 2>&1 | grep conflict
sudo pacman -Syu --overwrite /path/to/file
|
密钥错误
1 2 3 4 5 6 7 8
| sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -S archlinux-keyring
|
数据库锁定
1 2
| sudo rm /var/lib/pacman/db.lck
|
部分更新问题
9.2 AUR 问题
构建失败
1 2 3 4 5 6 7 8
| sudo pacman -Syu
makepkg -c
makepkg -s
|
签名验证失败
1 2
| gpg --recv-keys <KEY_ID>
|
9.3 性能优化
并行编译
编辑 /etc/makepkg.conf:
优化编译标志
1 2 3
| CFLAGS="-march=native -O2" CXXFLAGS="$CFLAGS"
|
10. 附录:CC-Switch 安装示例
10.1 通过 pacman 安装(推荐)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| sudo nano /etc/pacman.conf
sudo pacman -S archlinuxcn-keyring
sudo pacman -S cc-switch
sudo pacman -Rns cc-switch
|
10.2 通过 AppImage 安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| wget https://github.com/user/repo/releases/download/v3.16.0/CC-Switch-v3.16.0-Linux-x86_64.AppImage
mkdir -p ~/.local/bin cp CC-Switch-v3.16.0-Linux-x86_64.AppImage ~/.local/bin/cc-switch.AppImage chmod +x ~/.local/bin/cc-switch.AppImage
ln -s ~/.local/bin/cc-switch.AppImage ~/.local/bin/cc-switch
cat > ~/.local/share/applications/cc-switch.desktop << EOF [Desktop Entry] Name=CC-Switch Comment=All-in-One assistant tool for Claude Code, Codex, OpenCode, openclaw & Gemini CLI Exec=/home/$USER/.local/bin/cc-switch.AppImage Icon=utilities-terminal Terminal=false Type=Application Categories=Development;Utility; EOF
update-desktop-database ~/.local/share/applications/
rm ~/.local/bin/cc-switch.AppImage rm ~/.local/bin/cc-switch rm ~/.local/share/applications/cc-switch.desktop update-desktop-database ~/.local/share/applications/
|
10.3 对比
| 方面 |
pacman |
AppImage |
| 版本 |
v3.15.0 |
v3.16.0 |
| 依赖 |
系统依赖 |
自包含 |
| 更新 |
自动 |
手动 |
| 权限 |
需要 sudo |
用户权限 |
| 位置 |
系统目录 |
用户目录 |
| 集成 |
完全集成 |
需要手动配置 |
参考资源
最后更新:2026年6月1日