🇨🇳每日一言:
丢掉幻想,准备斗争。—— 毛泽东选集

在 Arch Linux 中,pacman 是系统的核心包管理器。它将简单的二进制包格式与易于使用的构建系统结合在一起。
以下是对 pacman 常用命令、参数及其注意事项的全面总结。
💯核心操作命令总结
pacman 的主要功能由一个主参数(大写字母)配合多个子参数(小写字母)实现。
| 操作类型 | 命令 | 说明 |
|---|---|---|
| 🐵系统更新 | pacman -Syu 最常用。 | 同步数据库并全面更新系统。 |
| 🐵安装软件 | sudo pacman -Syu <包名> | 从仓库安装指定软件包。 |
| 🐵本地安装 | pacman -U <路径> | 安装本地包文件(.pkg.tar.zst)或从 URL 安装。 |
| 🐵卸载软件 | pacman -Rs <包名> | 删除包及其未被其他软件使用的依赖。 |
| 🐵搜索软件 | pacman -Ss <关键字> | 在远程仓库中搜索匹配的包。 |
| 🐵查询本地 | pacman -Qs <关键字> | 在已安装的包中搜索。 |
| 🐵清理缓存 | pacman -Sc | 清理旧版本缓存; |
| 🐵清理缓存 | pacman -Scc | 清理所有缓存。 |
💯参数深度解析
理解这些字母的含义可以帮你自由组合命令:
-S (Sync): 同步。用于与远程仓库相关的操作。
-y (refresh): 刷新。从服务器下载最新的软件包数据库。
-u (sysupgrade): 升级。升级所有版本过时的软件包。
-q (quiet): 静默。减少输出信息,适合脚本使用。
-i (info): 信息。查看软件包的详细描述、版本、依赖等。
-l (list): 列表。列出包包含的所有文件。
-R (Remove): 删除。从系统中移除软件包。
-n (nosave): 不保存。删除包时不保留备份配置文件(.pacsave)。

💯使用注意事项
使用 pacman 时,如果不注意以下几点,可能会导致系统“滚挂”:
- ⚠️ 严禁部分更新 :
不要运行 pacman -Sy 后直接安装软件,也不要只运行 pacman -S <包名> 而不更新系统。
原因: Arch 是滚动更新,包与包之间有严格的版本依赖。如果只更新数据库或只更新单个包,会导致依赖版本不匹配。
正确做法: 始终使用 sudo pacman -Syu。
- ⚠️ 谨慎使用 -Rf:
-Rf (Force) 会强制删除包。这可能会破坏其他软件的依赖链,除非你非常明确自己在做什么,否则不要使用。
- ⚠️ 卸载时的最佳实践:
建议使用 pacman -Rs 而不是单纯的 pacman -R。
单纯的 -R 会留下“孤儿软件”(不再需要的依赖),占用系统空间并可能导致未来的冲突。
- ⚠️ 更新前的公告:
在进行大规模更新(尤其是涉及内核或显卡驱动时),习惯性查看 Arch Linux 新闻官网。如果有重大变更,官方会给出手动干预的指导。
- ⚠️ 锁文件问题:
如果看到 error: failed to init transaction (unable to lock database),通常是因为之前的 pacman 进程被强制中断了。
解决方法: 确认没有其他安装程序在运行后,手动删除 /var/lib/pacman/db.lck。
💯常用高级组合
🎄查找不再需要的孤儿包: pacman -Qtdq(配合 pacman -Rns $(pacman -Qtdq) 可批量清理)。

🎄列出所有已安装的包: pacman -Qe(显式安装的包)。
🎄查看某个文件属于哪个包: pacman -Qo /path/to/file。

