inux中的包管理器可以说是非常重要,了解如何使用多种多样的包管理器可以大幅度地节省管理员的时间,因为从软件源下载/安装软件,升级,解决依赖问题,卸载软件。。。。。。这些技能对于Linux系统管理员来说是至关重要,也不可或缺的。
所以说,想要成为一个Linux的高手,了解各大主流发行版都是怎样管理软件包是非常有意义的。而在这篇文章中,我们可以会概览一下你能在Linux中找到的一些非常优秀的包管理器。
这里我们只讨论一些最好的包管理器,但是具体他们是如何工作,又该怎么使用,这就留待读者自行探索啦。当然我也会提供一些十分棒的链接,来列出几个相应的指导和其他的什么。
1.DPKG Debian Package System(Debian的包管理系统)
Dpkg 是一个Debian系统家族非常基础的包管理系统,它被用来给.deb的包提供安装,卸载,保存和查看信息的功能。
它是个底层的工具,所以这里列出了几个前端的,帮助我们更好的从远端软件源获取软件包,并解决复杂的依赖关系的工具,他们包括:APT(Advanced Packaging Tool)
这是个非常流行,并且开放、强劲有效的前端命令行包管理系统。
Debian和基于它的发行版例如Ubuntu、Linux Mint 的用户,应该对此非常熟悉了。
要了解它们到底是怎么工作的,你可以参考这些指南:
15 Examples of How to Use New Advanced Package Tool (APT) in Ubuntu/Debian (这个URL是:http://www.tecmint.com/apt-advanced-package-command-examples-in-ubuntu/)Aptitude Package Manager
这也是一个流行的Debian家族下的前端命令行包管理系统,它的工作形式十分类似于APT,关于它们的好坏,有着很多的说法也有很多的比较结果,不过,我想,亲自尝试它们,才是了解“到底那个好”的真正办法。译者注:由于Aptitude比APT了解更多信息,或许它更适合于软件的安装卸载。
它最开始是为Debian和它的衍生版本准备的,但是现在已经延伸到了RHEL家族中。你可以查看以下链接来对APT和Aptitude有个更深的了解
What is APT and Aptitude? and What’s real Difference Between Them? (这个URL是:http://www.tecmint.com/difference-between-apt-and-aptitude/)Synaptic Package Manager
Synaptic是一个GUI(图形化)的基于GTK+的包管理工具,它基于APT制作。它可以很好帮助那些“不想被命令行弄脏了手”的人(原作者嘲讽脸)。它提供和apt-get一样的功能。
2. RPM (Red Hat Package Manager)
这是个LSB(Linux Standard Base)格式打包的基础包管理系统,由RedHat创建。
作为一个基础的包管理系统,自然有几个前端的包管理器提供给大家,我们一起来看看它们之中,哪个最好吧YUM (Yellowdog Updater, Modified)
这是一个开源,并且流行的命令行包管理器,作为一个RPM的管理方式。你可以和APT对比一下,它其实是集成了APT有的通常的功能。你可以通过以下的示例网页来获得一个对YUM的清晰认识。译者注:虽然YUM随着CentOS和RedHat的发行脚步,已经遍布各大国家的各路服务器,但是不得不承认的是,随着新一代包管理器——DNF的问世,YUM这个接近废弃的冗杂项目,终于可以宣告结束了DNF (Dandified Yum)
它也是个面对基于RPM形式软件包的发行版的包管理器,从Fedora 18开始进入大众视野,作为YUM的升级版/替代品。
如果你曾经用过Fedora 22,那么你一定已经发现了它是默认的包管理器。
这有几个链接,它们可以告诉你关于DNF的更多信息:
DNF – The Next Generation Package Management for RPM Based Distributions (URL是:http://www.tecmint.com/dnf-next-generation-package-management-utility-for-linux/)
27 ‘DNF’ Commands Examples to Manage Fedora Package Management (URL是:http://www.tecmint.com/dnf-commands-for-fedora-rpm-package-management/)
3. Pacman Package Manager – Arch Linux
这是个既流行又强大,但是又很简单的包管理器,它为Arch Linux和一些其他不怎么有人用的Linux发行版设计,提供了其他包管理器都会提供的基础功能——例如安装,自动依赖的解决,升级,卸载和下载软件。译者注:或许Pacman本身并不够严谨,也不够强大,但是作为一个简单实用的管理器,它在Arch下的表现已经足够令人满意了。
但是重点是,它是为了简化Arch Linux的用户的包管理操作而设计的。你可以通过阅读这个,Pacman overview (URL是:https://wiki.archlinux.org/index.php/Pacman)来获取更加详细的信息。
4.Zypper Package Manager - OpenSUSE
一个OpenSUSE下的命令行包管理器,使用libzypp库,提供通用的功能,包括软件源的使用,包的安装,依赖问题的解决等。
重点是,它也可以解决软件源的扩展问题,比如模式化,补丁和生成。OpenSUSE的新手可以通过下面的链接来掌握它。
45 Zypper Commands to Master OpenSUSE Package Management (URL是:http://www.tecmint.com/zypper-commands-to-manage-suse-linux-package-management/)
5.Portage Package Manager – Gentoo
Gentoo下的包管理器,虽然宿主——Gentoo是一个目前流行度稍逊的发行版,但是也没能阻止它成为最好的包管理软件之一。
Portage项目的主要目标就是创造一个简单,有效,且便于解决问题的包管理系统,来包括那些基础的功能。
最后评论
就像我开始时提到的,这篇文章的主要目的就是给Linux的新手们提供一个关于最好的几个包管理系统的介绍,至于要怎么使用并掌握具体的某一个,还请大家参考文中给出的链接,并作出实践。
当然了,各个Linux发行版的用户们,对于包管理器的好坏,都有着自己的看法,也欢迎大家加入讨论。