为什么说Arch Linux的pacman包管理系统更先进

从技术架构上来说, pacman 比 apt/rpm 新很多,从而能做到一个 C 写的程序(以及现在分出了一个 C 的库 libalpm)涵盖绝大多数核心功能。这至少有两点好处:

统一的命令格式。所有命令都是 pacman 加一个主要动作(D/S/Q/R/U/F/T)加一些额外选项(s/w/u之类的)加目标,清晰简洁。不像 apt/rpm 系都有很多不同的前端支持不同的命令格式,谁能帮我理清楚 dpkg/apt-get/apt-cache/apt 之间的关系?

更少的依赖使其更加独立。不像 apt/rpm 系的包管理工具经常依赖大量的库,甚至要依赖 perl/python 环境才能用, pacman 非常独立,甚至有个 pacman-static 在 AUR 里根本不依赖任何库包括 libc 。这一点对包管理器来说至关重要,因为面对一个病入膏肓的系统,你通常需要依赖包管理器本身能正常工作从而修复好系统,如果包管理器有太多依赖关系,那麼它坏掉的概率就大大增加了。