为什么Linux发行版有不同的包管理器?
我发现这很奇怪,因为其他软件,如文本编辑器,桌面环境和图形软件(Inkscape,Blender,GIMP)在发行版之间共享.为什么不使用通用的设置工具?
像UNIX世界中存在重复行为的大多数事情一样,它是许多事物的组合,但主要是历史,政治/宗教,以及建立更好的捕鼠器/ NiH综合症的愿望.开源支持者经常称赞执行等效任务的多个系统组件的存在是一个有用的特性.
从广义上讲,您最需要担心的是四种包装管理系统.你有debian派生系统,比如使用debian,ubuntu .deb
和apt/dpkg系列管理工具.你有使用redhat派生系统的.rpm
格式和rpm/yum系列管理工具.在我看来,这两者在功能上都大致相同.
重要的是尝试并学习您正在使用的工具集,它们都有很好的文档记录.了解如何检查依赖关系并验证包签名和完整性,以及查找包提供的服务,以及使用本机包工具进行选择时,相应地负责特定安装文件或程序的包.理想情况下,学习命令行选项来为yum和rpm执行此操作,然后dpkg和aptitude,您将拥有大多数基础.然后根据需要使用GUI工具.
我认为最重要的事情是,在同一系统中混合来自不同发行版或发行版的软件包通常是错误的,即使它们使用相同的软件包格式,例如不要在ubuntu系统上安装debian .deb文件,或者在suSE rpm中你的Fedora系统上的文件,除非你真的明白你在做什么.
我提到的另外两种口味不太主流,但为了完整起见我列出了它们.这些是
一个)的二进制/源以外没有包系统压缩档一拉经典Slackware的,和
b)以BSD端口为模型的源构建工具,一个经典的gentoo.
再一次,你不想在这里,直到你理解为什么你可能想要,在我看来.
历史原因.同样,你可以问为什么有多家公司提供类似的服务,只有一家公司整体效率更高.
请参阅http://kitenet.net/~joey/pkg-comp/,以便从Debian开发人员的角度对不同的包格式进行比较.另请注意,您可以使用名为alien的程序在其他类型的系统上安装一种包.它并不完美,但当供应商以您选择的发行版的"错误"包格式提供软件时,它会有所帮助.