什么是一般规则,决定何时从官方的.deb软件包存储库安装软件包,而不是使用语言的软件包管理器进行安装?上游存储库中的软件包经常至少稍微过时,但我也不想让我的软件包与“官方”软件包发生冲突,而且似乎aptitude在许多情况下都会强制我安装官方软件包。
.deb
软件包(基于Pypi/CPAN/&c或者上游源代码),并保留这些软件包的仓库(对于那些你发现官方.deb
仓库太少或者过时的软件包)。这不比其他方式安装麻烦多少(手动跟踪语言外的依赖),而且有助于识别“孤立软件包”等问题(此外,如果你发布你的打包工作,还可以帮助其他人;-))。我一直反对使用Aptitude来管理来自另一个软件包管理器的软件包。CPAN、Gems、Pecl、Pear等都是各自语言的软件包管理器。根据我的观点,你应该首选它们,因为它们就是为此而设计的。更不用说现在大多数这些管理器都能处理升级和更新了(比如gem update、gem upgrade等)。就好像在Ubuntu机器上使用yum来安装Apache一样。
话虽如此,确实有少数情况下Aptitude版本更胜一筹。其中一个情况是从语言包管理器安装模块失败时(通常是由于配置问题不同),我很少遇到这个问题,但当我遇到时,Aptitude中的相应软件包可以解决问题。
在我看来,优先选择语言包管理器 > Aptitude。