“apt安装”有什么作用?

Mar*_*eez 2 apt

第一次使用apt-get和看到aptitude,我认为那apt一定是缩写,aptitude所以当被告​​知要输入时aptitude install,我只输入了apt install。

它似乎奏效了,但是我做了需要做的事情还是遗漏了什么?

Fah*_*tha 9

aptitude install意味着您正在调用程序的安装目标aptitude。

apt install意味着您正在调用apt二进制文件的安装目标。请注意,apt二进制文件非常新。它随 1.0 版本一起发布。不,它不是 的缩写aptitude,而是一个单独的二进制文件。

这两个命令都安装作为参数给出的包。然而,apt和aptitude每次使用自己的依赖解析算法(它选择安装到满足请求哪些软件包),这是不同的。这意味着在实践中,由于相同的包参数,他们可能会选择不同的包进行安装。例如

apt-get install foo
Run Code Online (Sandbox Code Playgroud)

和

aptitude install foo
Run Code Online (Sandbox Code Playgroud)

可以选择安装不同的包。

另请注意,这两个命令之间一个相当明显的区别是 aptitudes 交互式依赖解析器。这将为您提供有关如何安装软件包的不同选择,从合理到疯狂。aptitude 的作者 Daniel Burrows为发现这个算法而感到相当自豪。

该apt二进制文件包含在apt软件二进制包 (deb) 中,其中还包括apt-get和apt-cache。apt是一个比其他两个更新的命令,旨在更友好。据我所知apt-get install,apt install在功能上是等效的。

该aptitude二进制文件包含在aptitude软件二进制包 (deb) 中。

要了解有关这些命令的更多信息,您可以执行例如

man apt
Run Code Online (Sandbox Code Playgroud)

查看手册页和

apt --help
Run Code Online (Sandbox Code Playgroud)

查看帮助输出,对于此处提到的其他命令也类似。

这是迈克尔沃格特,长期的 apt 开发人员,关于新apt二进制文件的主题。他写

这个版本的大新闻是我们包含了一个新的“apt”二进制文件,它结合了 apt-get 和 apt-cache 中最常用的命令。这些命令与 apt-get/apt-cache 对应的命令相同,但配置选项略有不同。

目前 apt 二进制文件支持以下命令:

  • list:类似于 dpkg list,可以与 --installed 或 --upgradable 等标志一起使用。

  • 搜索:就像 apt-cache 搜索一样工作,但按字母顺序排序。

  • show: 像 apt-cache show 一样工作,但隐藏了一些人们不太可能关心的细节(比如哈希)。当然,完整的记录仍然可以通过 apt-cache show 获得。

  • 更新:就像启用颜色输出的常规 apt-get 更新一样。

  • 安装、移除:在 dpkg 运行期间添加进度输出。

  • 升级:与 apt-get dist-upgrade --with-new-pkgs 相同。

  • full-upgrade:一个更有意义的名称,用于 dist-upgrade。

  • 编辑源:使用 $EDITOR 编辑源列表。

PS:如果 Super Cow Powers 的事情让你感到困惑,那么你不是唯一一个。

PPS:NB: ,aptitude,,全部采用共享贴切库,住在(你猜对了)的apt软件包,所以他们有很多共同的代码。尝试跑步aptapt-getapt-cache

ldd /usr/bin/apt
Run Code Online (Sandbox Code Playgroud)

或者

ldd /usr/bin/aptitude
Run Code Online (Sandbox Code Playgroud)

你会看到像这样的一行

libapt-pkg.so.4.12 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12 (0x00007fd065330000)
Run Code Online (Sandbox Code Playgroud)

这是针对共享 apt 库的 apt/aptitude 链接。但是依赖解析器不是他们共享的东西之一。