一个Linux新用户应该知道他或她的进步源自于对Linux发行版的使用,而Linux发行版有好几种,并以不同的方式管理软件包。
在Linux中,包管理器非常重要,知道如何使用多种包管理器可以让你像一个高手一样活得很舒适,从在仓库下载软件、安装软件,到更新软件、处理依赖和删除软件是非常重要的,这也是Linux系统管理的一个重要部分。
最好的Linux包管理器
成为一个Linux高手的一个标志是了解主要的Linux发行版如何处理包,在这篇文章中,我们应该看一些你在Linux上能找到的最佳的包管理器,
在这里,我们的主要重点是关于一些最佳包管理器的相关信息,但不是如何使用它们,这些留给你亲自发现。但我会提供一些有意义的链接,使用指南或更多。
1.DPKG-Debian包管理系统(DebianPackageManagementSystem)Dpkg是DebianLinux家族的基础包管理系统,它用于安装、删除、存储和提供.deb包的信息。
这是一个低层面的工具,并且有多个前端工具可以帮助用户从远程的仓库获取包,或处理复杂的包关系的工具,包括如下:
参考:15个用于基于Debian的发行版的“dpkg”命令实例APT(高级打包工具(AdvancedPackagingTool))这个是一个dpkg包管理系统的前端工具,它是一个非常受欢迎的、自由而强大的,有用的命令行包管理器系统。
Debian及其衍生版,例如Ubuntu和LinuxMint的用户应该非常熟悉这个包管理工具。
想要了解它是如何工作的,你可以去看看下面这些HOWTO指南:
参考:15个怎样在Ubuntu/Debian上使用新的APT工具的例子参考:25个用于包管理的有用的APT-GET和APT-CACHE的基础命令Aptitude包管理器这个也是DebianLinux家族一个非常出名的命令行前端包管理工具,它工作方式类似APT,它们之间有很多可以比较的地方,不过,你应该两个都试试才知道哪个工作的更好。
它最初为Debian及其衍生版设计的,但是现在它的功能延伸到RHEL家族。你可以参考这个指南了解更多关于APT和Aptitude。
参考:APT和Aptitude是什么?它们知道到底有什么不同?Synaptic包管理器Synaptic是一个基于GTK 的APT的可视化包管理器,对于一些不想使用命令行的用户,它非常好用。
2.RPM-红帽包管理器(RedHatPackageManager)这个是红帽创建的Linux基本标准(LSB)打包格式和基础包管理系统。基于这个底层系统,有多个前端包管理工具可供你使用,但我们应该只看那些最好的,那就是:
YUM(黄狗更新器,修改版(YellowdogUpdater,Modified))这个是一个开源、流行的命令行包管理器,它是用户使用RPM的界面(之一)。你可以把它和DebianLinux系统中的APT进行对比,它和APT拥有相同的功能。你可以从这个HOWTO指南中的例子更加清晰的理解YUM:
参考:20个用于包管理的YUM命令DNF(优美的Yum(DandifiedYum))这个也是一个用于基于RPM的发行版的包管理器,Fedora18引入了它,它是下一代YUM。
如果你用Fedora22及更新版本,你肯定知道它是默认的包管理器。这里有一些链接,将为你提供更多关于DNF的信息和如何使用它。
参考:DNF-基于RPM的发行版的下一代通用包管理软件参考:27个管理Fedora软件包的‘DNF’命令例子3.Pacman包管理器–ArchLinux这个是一个流行的、强大而易用的包管理器,它用于ArchLinux和其他的一些小众发行版。它提供了一些其他包管理器提供的基本功能,包括安装、自动解决依赖关系、升级、卸载和降级软件。
但是最大的用处是,它为Arch用户创建了一个简单易用的包管理方式。你可以阅读Pacman概览,它会解释上面提到的一些功能。
4.Zypper包管理器–openSUSE这个是一个使用libzypp库制作的用于OpenSUSE系统上的命令行包管理器,它的常用功能包括访问仓库、安装包、解决依赖问题和其他功能。
更重要的是,它也可以支持存储库扩展功能,如模式、补丁和产品。新的OpenSUSE用户可以参考下面的链接来掌控它。
参考:45个让你精通openSUSE包管理的Zypper命令5.Portage包管理器–Gentoo这个是Gentoo的包管理器,当下不怎么流行的一个发行版,但是这并不阻止它成为Linux下最好的软件包管理器之一。
Portage项目的主要目标是创建一个简单、无故障的包管理系统,包含向后兼容、自动化等功能。
如果希望理解的更清晰,可以看下:Portage项目页。
结束语正如我在开始时提到的,这个指南的主要意图是给Linux用户提供一个最佳软件包管理器的列表,但知道如何使用它们可以通过其后提供的重要的链接,并实际去试试它们。
各个发行版的用户需要学习超出他们的发行版之外的一些东西,才能更好理解上述提到的这些不同的包管理器。