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