Arch Linux 软件安装完全指南

Arch Linux 软件安装完全指南

本指南详细介绍 Arch Linux 系统中安装软件的各种方法,包括官方仓库、AUR、AppImage、Flatpak、Snap 以及源码编译。

目录

  1. 官方仓库 (pacman)
  2. AUR (Arch User Repository)
  3. AppImage
  4. Flatpak
  5. Snap
  6. 源码编译
  7. 卸载与清理
  8. 最佳实践
  9. 故障排除
  10. 附录: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>

# 安装软件包组(如 gnome 组)
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

# 使用 paccache 保留最近 3 个版本
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
# 在 [options] 部分
Color # 启用彩色输出
ParallelDownloads = 5 # 并行下载数量
VerbosePkgLists # 显示详细更新信息

添加第三方仓库

1
2
3
# 在文件末尾添加(如 archlinuxcn 仓库)
[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
# 1. 克隆软件包仓库
git clone https://aur.archlinux.org/<软件包名>.git

# 2. 进入目录
cd <软件包名>

# 3. 检查 PKGBUILD(重要!)
less PKGBUILD

# 4. 构建并安装
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
# 安装 yay
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

# 使用 yay 安装软件
yay -S <软件包名>

# 搜索软件
yay -Ss <关键词>

# 更新所有软件包(包括 AUR)
yay -Syu

paru

1
2
3
4
5
6
7
8
# 安装 paru
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si

# 使用 paru 安装软件
paru -S <软件包名>

2.4 安全注意事项

  1. 检查 PKGBUILD: 安装前务必检查 PKGBUILD 内容
  2. 查看评论: 阅读 AUR 页面上的用户评论
  3. 验证来源: 确保软件来源可信
  4. 定期更新: AUR 包不自动更新,需手动更新

3. AppImage

AppImage 是一种便携式软件分发格式,无需安装即可运行。

3.1 基本使用

1
2
3
4
5
6
7
8
# 1. 下载 AppImage 文件
wget https://example.com/software.AppImage

# 2. 添加执行权限
chmod +x software.AppImage

# 3. 运行
./software.AppImage

3.2 系统集成

安装到用户目录

1
2
3
4
5
6
7
8
# 创建本地 bin 目录(如果不存在)
mkdir -p ~/.local/bin

# 移动 AppImage
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
# 安装 appimaged
sudo pacman -S appimaged

# 启用服务
systemctl --user enable appimaged
systemctl --user start appimaged

AppImageLauncher

1
2
# 从 AUR 安装
yay -S appimagelauncher

3.4 优缺点

优点:

  • 无需安装,便携式
  • 自包含所有依赖
  • 不影响系统

缺点:

  • 文件体积较大
  • 需要手动更新
  • 集成度较低

4. Flatpak

Flatpak 是另一种通用软件包管理系统。

4.1 安装与配置

1
2
3
4
5
6
7
# 安装 Flatpak
sudo pacman -S flatpak

# 添加 Flathub 仓库(主要软件源)
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
# 安装 GNOME Software(支持 Flatpak)
sudo pacman -S gnome-software

# 安装 Discover(KDE 支持 Flatpak)
sudo pacman -S discover

4.4 优缺点

优点:

  • 跨发行版兼容
  • 沙箱隔离,更安全
  • 自动更新

缺点:

  • 首次下载运行时较大
  • 启动速度略慢
  • 沙箱可能限制某些功能

5. Snap

Snap 由 Ubuntu 开发,也是一种通用包管理系统。

5.1 安装与配置

1
2
3
4
5
6
7
8
9
10
# 安装 snapd
sudo pacman -S snapd

# 启用 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
# 1. 安装编译工具
sudo pacman -S base-devel

# 2. 下载源码
wget https://example.com/software.tar.gz
tar -xzf software.tar.gz
cd software

# 3. 配置(检查依赖)
./configure

# 4. 编译
make

# 5. 安装
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 注意事项

  1. 依赖管理: 需要手动安装所有依赖
  2. 更新困难: 需要手动下载新版本重新编译
  3. 冲突风险: 可能与系统包管理器冲突
  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
# 使用 pacman 命令卸载(与官方包相同)
sudo pacman -Rs <软件包名>

# 使用 yay 卸载
yay -Rs <软件包名>

# 清理 AUR 缓存
yay -Sc

7.3 AppImage 卸载

1
2
3
4
5
6
7
8
9
10
11
# 删除 AppImage 文件
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

# 删除所有 Flatpak 数据
rm -rf ~/.local/share/flatpak

7.5 Snap 卸载

1
2
3
4
5
# 卸载软件
sudo snap remove <软件包名>

# 清理 Snap 缓存
sudo rm -rf /var/lib/snapd/cache/*

7.6 系统清理

清理包缓存

1
2
3
4
5
6
7
8
# 使用 paccache 保留最近 3 个版本
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 安装优先级

  1. 官方仓库: 优先使用,稳定可靠
  2. AUR: 官方没有时使用,注意安全
  3. Flatpak/Snap: 跨平台软件或需要沙箱时使用
  4. AppImage: 便携式使用或测试软件
  5. 源码编译: 最后选择,需要特殊配置时使用

8.2 安全建议

  1. 定期更新: 每周运行 sudo pacman -Syu
  2. 检查来源: 安装前验证软件来源
  3. 备份配置: 重要配置文件定期备份
  4. 使用快照: 考虑使用 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
# 删除锁文件(确保没有 pacman 进程运行)
sudo rm /var/lib/pacman/db.lck

部分更新问题

1
2
# 强制同步数据库
sudo pacman -Syyu

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
# 设置并行编译线程数
MAKEFLAGS="-j$(nproc)"

优化编译标志

1
2
3
# 针对当前 CPU 优化
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
# 添加 archlinuxcn 仓库(如果尚未添加)
sudo nano /etc/pacman.conf
# 在文件末尾添加:
# [archlinuxcn]
# Server = https://repo.archlinuxcn.org/$arch

# 导入密钥
sudo pacman -S archlinuxcn-keyring

# 安装 cc-switch
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
# 下载 x86_64 版本
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日


Arch Linux 软件安装完全指南
https://tingfeng347.github.io/2026/02/07/Arch Linux 软件安装完全指南/
作者
Tingfeng
发布于
2026年2月7日
许可协议