哪个Linux软件包管理器(和发行版)适合您?

作为Linux的新用户,您可能会完全不知所措,无法选择可安装到计算机上的发行版。 Ubuntu,Fedora,OpenSUSE,Sabayon或Arch有什么区别?最终,简短的答案是:程序包管理。每个发行版都为用户提供了一种独特的安装和维护系统的方法,并具有不同程度的用户友好性和可用性。

本指南将简要介绍如何在每个程序包管理系统中执行基本任务,因此您可以决定哪一种适合您。

1。 Apt

Apt是基于Debian的系统(包括Ubuntu)的依赖项解析器。与软件包管理器dpkg配合使用,Apt提供了一种简便的方法来更新,升级,安装和删除软件。如果没有Apt,维护Debian系统就像在1990年代初使用Linux一样,那时“依赖地狱"才是实际的事情。

Apt具有非常简单的语法,尽管当前正在对其进行重写以提供一个更简单的语法。因此,根据所使用的版本(Ubuntu 14.04及更高版本包括新的Apt命令),可以使用不同的命令来获得相同的结果。

要更新软件存储库,请使用以下命令:

sudo apt-get update

sudo apt update

升级软件:

sudo apt-get upgrade

sudo apt upgrade

要进行更彻底的升级,这还将尝试将包含软件包依赖关系的版本升级到最新版本并删除较旧的或未使用的依赖关系,命令如下:

sudo apt-get dist-upgrade

sudo apt full-upgrade

这些命令可以组合在一起以执行更新和升级这样的顺序:

sudo apt-get update && sudo apt-get upgrade

sudo apt update && sudo apt upgrade

要安装软件,命令是:

sudo apt-get install $packageName

sudo apt install $packageName

要删除软件包:

sudo apt-get remove $packageName

sudo apt remove $packageName

使用apt-get remove命令从系统中删除软件时,Apt可以很好地删除未使用的依赖项,但是有时在软件删除或升级的过程中,系统上可能仍然存在一些混乱的依赖项。如果您拥有像我这样的OCD,则可能希望将这些软件包从系统中删除。 Apt包含一个我在这方面非常喜欢的命令:

sudo apt-get autoremove

sudo apt autoremove

搜索可安装的程序包:

sudo apt-cache search $packageName

or

sudo apt search $packageName

Apt当前不提供从URL安装软件包的功能,这意味着用户必须自行找到并下载要安装的软件包。 Ubuntu及其一些派生工具已通过单击apturl链接(在某些网站上找到)来解决这一问题。

2。 YUM

与Apt类似,YUM是基础软件包管理器RPM的依赖项解析器。 YUM是许多基于Red Hat的衍生产品(包括Fedora 21和更低版本以及CentOS)中包含的默认软件包管理系统。 YUM的语法很简单,Apt用户切换时应该没有问题。

通过YUM进行更新和升级非常简单,其中以下命令可以处理这两个任务:

sudo yum update

要安装软件包,请使用以下命令:

sudo yum install $packageName

同样,要删除软件包,命令是:

sudo yum remove $packageName

要搜索可安装的软件包:

sudo yum search $packageName

YUM不包括用于查找和删除未使用的依赖项的autoremove命令,但是它包括从URL安装软件包的强大功能,Apt不包括:

sudo yum install $url

3。 ZYpp

ZYpp是RPM软件包管理系统的另一个依赖关系解析器,并且是OpenSUSE和SUSE Linux Enterpise的默认软件包管理器。 ZYpp就像YUM一样使用.rpm二进制文件,但是由于是用C ++编写的,因此速度要快一些,而YUM是用Python编写的。 ZYpp非常易于使用,因为它包含可以代替完整命令的命令快捷方式。

像YUM一样,ZYpp可以使用以下命令更新和升级所有软件包:

sudo zypper update

sudo zypper up

要安装软件包:

sudo zypper install $packageName

sudo zypper in $packageName

要删除软件包,请使用以下命令:

sudo zypper remove $packageName

sudo zypper rm $packageName

搜索可安装的软件包:

sudo zypper search $packageName

与YUM一样,ZYpp中不包含autoremove命令。另外,像Ubuntu一样,OpenSUSE具有一键式安装链接,用于基于Web的软件包安装。

4。 DNF或Dandified YUM

DNF是YUM的重写,它利用了ZYpp的功能,最显着的是依赖项解析功能。 DNF是Fedora 22及更高版本的默认软件包管理器,将来应成为CentOS中的默认系统。

要更新和升级所有软件:

sudo dnf update

要安装软件包:

sudo install $packageName

要删除软件包:

sudo dnf remove $packageName

搜索可安装的软件包:

sudo dnf search $packageName

与YUM和ZYpp不同,DNF提供了autoremove命令来搜索系统并删除未使用的依赖项:

sudo dnf autoremove

,DNF还允许从以下网址安装软件包:

sudo dnf install $url

5。熵

熵是Sabayon Linux(Gentoo派生产品)的默认软件包管理系统。令Entropy有趣的是Sabayon通过Entropy利用二进制文件,并通过Gentoo的程序包管理系统Portage使用源代码。此系统的基本信息如下:

  • 使用Portage,通过Entropy将源包构建为二进制文件。
  • Entropy将构建的二进制文件转换为Entropy包。
  • 熵包已添加到Sabayon存储库中。
  • 用户通过熵安装二进制文件。
  • 熵与Apt,YUM,ZYpp和DNF相当,这意味着它易于使用,对初学者友好。熵还包括简洁的快捷方式。

    更新软件源:

    sudo equo update

    sudo equo up

    升级所有软件包

    sudo equo upgrade

    or <

    sudo equo u

    这些命令可以同时使用:

    sudo equo update && sudo equo upgrade

    sudo equo up && sudo equo u

    要安装软件包:

    sudo equo install $packageName

    or

    sudo equo in $packageName

    要删除软件包:

    sudo equo remove $packageName

    sudo equo rm $packageName

    要搜索可安装的软件包:

    sudo equo search $packageName

    6。 Pacman

    Pacman是Arch Linux及其衍生产品的默认软件包管理系统,并且是一个完整的软件包管理器,不依赖底层系统或前端来解决依赖关系。 Pacman利用一个简单的压缩的.pkg.tar.xz文件系统,其中包含将源代码构建到一个有效程序中所需的所有信息。可以将pacman看作是一个自动从源代码手动构建软件的过程的系统。 Pacman使用Yahelp的“帮助程序"来安装在Arch用户存储库中找到的非官方软件,并且这样做时,命令“ pacman"被替换为“ yaourt"。

    在处理软件包时,您将主要利用“同步"标志(-S),该标志将您的系统与软件存储库进行比较。要刷新软件存储库(-y):

    sudo pacman -Sy

    要升级系统,请使用sysupgrade标志(-u)修改以前的同步命令:

    sudo pacman -Syu

    要安装软件包,您必须同步该软件包:

    sudo pacman -S $packageName

    要删除软件包,pacman具有删除标志。要以递归方式删除软件包(-R),其配置文件(-n)和所有未使用的依赖项,而不由用户(-s)明确安装。注意:此-s标志与sync命令中使用的-s标志不同:

    sudo pacman -Rns

    要搜索可安装的软件包,您将同步并搜索(-s):

    sudo pacman -Ss $packageName

    Pacman不包含autoremove命令,但是您可以使用Query命令搜索并删除所有未使用的依赖项。注意:同样,这些标志与同步标志或删除标志不同。此命令将查询数据库(-Q),检查孤立的依赖项(-t),将搜索限制为依赖项(-d),并且不会冗长地打印过程(-q,表示“安静")。

    sudo pacman -Rns $(pacman -Qtdq)

    软件包管理器:不断发展的

    Linux在为新用户提供轻松管理其系统的能力方面无疑走了很长一段路。软件包管理器会自动找到所需的依赖项,并提供易于记忆的安装和维护软件的命令,并且用户不再像Linux刚起步时那样陷入依赖地狱。通过测试为您提供的许多不同的软件包管理器,您可以在自己觉得最舒适的发行版中找到自己的家。

    哪个软件包管理器最适合您?您是否尝试过在默认发行版之外安装这些软件包管理器之一? 在下面的评论中让我们知道!

    标签: