apt vs. apt-get:Linux 上有什么区别?

x33g5p2x  于2022-04-20 转载在 Linux  
字(2.6k)|赞(0)|评价(0)|浏览(450)

为什么基于 Debian 的 Linux 发行版具有apt以及apt-get?apt是替换还是他们apt-get 有不同的目的?我们解释这两个命令之间的关系。

Debian 软件包管理系统

创建Linux 发行版的主要工作是设计和创建包管理系统。您的用户需要有一种方法来安装和卸载软件包。这需要软件从您的软件存储库中检索软件包文件并将它们正确安装在用户的计算机上。

这不是一件小事。即使将软件工程放在一边,托管软件存储库也需要时间、精力和费用。这就是为什么这么多“新”Linux 发行版是现有 Linux 发行版的衍生产品的原因之一。

这导致了 Linux 发行版的家族或谱系,例如基于Debian的发行版、基于Red Hat的发行版、基于Arch的发行版等等。

Debian 系列发行版——包括Ubuntu和所有Ubuntu 派生的发行版——使用 Debian 包管理器。这使用带有“.deb”文件扩展名的包文件,称为 DEB 文件。DEB 文件是包含其他存档文件的压缩文件。归档文件包含应用程序的可执行文件、手册页、库等。
从 DEB 文件安装软件意味着解压缩所有这些组件文件并将它们放置在计算机上的正确位置。它还需要与操作系统和桌面环境进行交互,以便应用程序显示在应用程序搜索中,并且可以将其图标添加到停靠栏或系统菜单中。

和命令都这样做apt-get。apt但是为什么我们对同一件事有两个命令呢?

指挥链

真正执行安装的包称为dpkg. 它实际上是一系列命令,包括dpkg-split,dpkg-trigger和dpkg-divert. 如果需要,这些将由高级软件包工具套件或 APT 中的工具调用。APT 是另一个工具集合,包括apt-get、apt-cache和apt.

该dpkg命令被视为低级命令。除了最简单的交互之外,它变得非常复杂,有很多选择。该命令充当命令套件的apt-get前端。dpkg这大大简化了事情。apt-get被设计为面向用户的命令,而不是低级后台命令。即便如此,尽管它是面向人类的角色,但另一个名为的命令apt-cache被用来向用户显示信息。

该命令提供了另一种通过更易于访问和用户友好的命令行工具apt“交谈”的方式。它提供.dpkgapt-getapt-cache
Linux Mint在这里需要特别提及。Linux Mint 维护者开发了他们自己 apt的apt-get. 这不是apt我们在这里谈论的。我们指的是主流的 Debian apt,它于 2014 年发布,并在 2016 年包含在 Ubuntu 16.04 中时在用户节中获得了关注和牵引力。

apt 和 apt-get 的区别

所以,dpkg是低级的后台应用程序。该命令是apt-get一个功能齐全但经过简化的.dpkgaptapt-get
但是apt-get,apt提供的不仅仅是一个简单的dpkg. 他们做不做的事情dpkg。他们将从存储库中检索文件,并尝试帮助解决缺少的依赖项和冲突。

反过来,该apt命令会做一些apt-get不做的事情。它提供了更多普通用户在安装过程中希望看到的类型的信息,并抑制了apt-get显示的一些更晦涩的信息。apt提供出色的视觉反馈,并在终端窗口中使用颜色高亮和进度条。

apt和之间有一些常用命令apt-get。所有这些命令都可以以aptor开头,apt-get并且行为相同:

  • install packagename:安装一个包。
  • remove packagename:删除(卸载)一个包。
  • purge packagename:删除一个包及其配置文件。
  • update packagename:更新存储库信息。
  • 升级:更新所有软件包。
  • autoremove:删除不再需要的库和其他包。
  • apt full-upgrade选项替换apt-get dist-upgrade选项。

这些是新的命令apt:

  • apt search:在存储库中搜索包名称。这与apt-cache search
  • apt show:显示有关包的信息。这与apt-cache show.
  • apt list option:显示已安装或可升级软件包的列表。
  • apt edit-sourcesapt :直接编辑搜索包的存储库列表。

安装应用程序

您可以使用apt search来查看存储库中是否存在包或检查您是否获得了正确的包名称。假设您想安装Scribus,但您不知道软件包名称。您可以尝试寻找scribus-desktop.

apt search scribus-desktop

那次搜索什么也没找到。我们将使用更短、更通用的搜索线索再次尝试。

apt search scribus

这会返回几个命中,我们可以看到有一个叫做“scribus”,而且它看起来肯定是 Scribus 桌面发布应用程序的核心包。该apt show命令将为我们提供更多详细信息。

apt show scribus

我们得到有关软件包的信息转储,包括将安装的内容和软件描述。

它还建议可能需要的其他软件包,具体取决于我们的需要。

要安装我们需要使用的包sudo。

sudo apt install scribus

这些文件是从存储库中检索的。当前正在检索的文件以棕色突出显示。

检索文件后,将安装它们。安装进度显示为以数字显示的百分比和进度条。

其他命令

apt list和apt edit-sources命令是 中apt不存在的选项apt-get。
该apt list 命令可以与–installed或–upgradeable选项一起使用,以查看计算机上已安装的软件包以及可以升级的软件包。

要查看计算机上安装的应用程序列表,请使用:

apt list --installed

滚动输出,我们可以看到新安装的 Scribus 应用程序的两个条目。

要查看是否可以升级任何已安装的应用程序,请使用该–upgradeable选项。

apt list --upgradeable

该apt命令还为您提供了一种方法来编辑存储的有关存储库apt 搜索包的信息。仅当您知道自己在做什么时才这样做。

sudo apt edit-sources

此命令打开您的默认编辑器并加载包含存储库信息的文件。

我应该使用 apt 还是 apt-get?

该apt-get命令不经常更新,这是一件好事。它必须保持向后兼容性。向后兼容性对于apt. 它被视为面向用户的命令。

对于日常使用,请使用apt.

如果您编写任何与软件包安装有关的脚本apt-get,请使用. 这为您的脚本提供了最大的可移植性和兼容性机会。

相关文章