Featured image of post 【arch】pacman命令总结

【arch】pacman命令总结

🇨🇳每日一言:

丢掉幻想,准备斗争。—— 毛泽东选集


image.png

在 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)。 image.png

💯使用注意事项

使用 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。 image.png

💯常用高级组合

  • 🎄查找不再需要的孤儿包: pacman -Qtdq(配合 pacman -Rns $(pacman -Qtdq) 可批量清理)。 image.png

  • 🎄列出所有已安装的包: pacman -Qe(显式安装的包)。

  • 🎄查看某个文件属于哪个包: pacman -Qo /path/to/file。

热爱生活 学无止境
使用 Hugo 构建
主题 StackJimmy 设计