🧑🏻‍💻 博世

【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。