专栏首页北京马哥教育【译】5个对Linux新手来说最好的包管理器

【译】5个对Linux新手来说最好的包管理器

译者按:作为Linux新手来说,选择一个Linux发行版、熟悉Linux系统,无论做什么都离不开软件的安装与卸载。那么,软件包管理器的相关知识就显得非常重要了。下面,我们就一起来看看这5大最适合新手的包管理器吧。

Linux中的包管理器可以说是非常重要,了解如何使用多种多样的包管理器可以大幅度地节省管理员的时间,因为从软件源下载/安装软件,升级,解决依赖问题,卸载软件。。。。。。这些技能对于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/)

25 Useful Basic Commands of APT-GET and APT-CACHE for Package Management (这个的URL是:http://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/)

  • 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这个接近废弃的冗杂项目,终于可以宣告结束了

20 Linux YUM Commands for Package Management (URL是:http://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/)

  • 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项目的主要目标就是创造一个简单,有效,且便于解决问题的包管理系统,来包括那些基础的功能。

想要有更多的了解,请参考Portage project (URL是:https://wiki.gentoo.org/wiki/Project:Portage)

最后评论

就像我开始时提到的,这篇文章的主要目的就是给Linux的新手们提供一个关于最好的几个包管理系统的介绍,至于要怎么使用并掌握具体的某一个,还请大家参考文中给出的链接,并作出实践。

当然了,各个Linux发行版的用户们,对于包管理器的好坏,都有着自己的看法,也欢迎大家加入讨论。

(文中所有配图均来自于网络)

译者:文中的链接很多,都是一些针对特定包管理器的实例和应用,如果有哪篇需要翻译,可以通过留言,网络大群,或者邮箱zhouplus@qq.com与我联系。

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux),作者:小牧师

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-07-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2018 年 Linux 的 8个发展预测和学习建议

    运维行业正在变革?推荐阅读:30万年薪Linux运维工程师成长魔法 转眼间,时间已进入 农历2018 年新年,2018 年又会有哪些新的趋势?OMGUbuntu...

    小小科
  • Linux真正的优势以及学习方法

    作为一名Linux爱好者,在Linux的世界中也算是半个老司机了,从桌面玩到服务器、从ubuntu到centos、从计算机到路由器,各种Linux的花俏玩法都...

    小小科
  • Linux系统命令和使用技巧8则

    我们在平时使用 Linux 系统时,无论在终端下还是在图形桌面下,都有一些快捷的命令和操作的技巧,本文就向新手简单介绍常用的几种: 1、处理特殊的文件名 假设L...

    小小科
  • Android framework初识

    之前做wifi的,主要是负责的就是UI界面和framework层,今天具体了解一下framework是什么。 Android架构主要分为分为四部分,从下往上以...

    用户7557625
  • three.js 绘制3d地图

    这篇郭先生就来说说使用three.js几何体制作3D地图。在线案例点击3D中国地图

    郭先生的博客
  • Spring NettyWebServer 启动运行机制

    在运行 Spring Boot Reactive 应用时,需要在应用内启动一个 WebServer,那么 WebServer 的启动过程是怎样的呢?通过以下源码...

    安宁
  • Arcgis for JS之Cluster聚类分析的实现(基于区域范围的)

    咱们书接上文,在上文,实现了基于距离的空间聚类的算法实现,在本文,将继续介绍空间聚类之基于区域范围的实现方式,好了,闲言少叙,先看看具体的效果:

    lzugis
  • 利用FileWatcher实现文件实时监视

    FileWatcher能实现对某一目录的文件(新建,改名,内容修改,删除)的实时监视 using System; using System.IO; using ...

    菩提树下的杨过
  • 自己实现一个RPC框架 顶

    RPC框架称为远程调用框架,其实现的核心原理就是消费者端使用动态代理来代理一个接口的方法(基于JDK的动态代理,当然如果使用CGLib可以直接使用无接口类的方法...

    算法之名
  • Joomla V3.7.0 核心组件SQL注入漏洞分析

    风流

扫码关注云+社区

领取腾讯云代金券