一文搞清apt与apt-get的异同

本文翻译自Difference Between apt and apt-get Explained - It's FOSS

译者注:本人尽量以通俗易懂的方式展现原文的内容,限于经验和水平,错误之处欢迎指正。

目录

0. 写在前面

1. apt 与 apt-get

2. 首先为什么引入apt?

3. apt和apt-get的区别

4. apt和apt-get相关命令的区别

5. apt-get已被弃用?

6. 应该使用apt还是apt-get?

结论


引入apt命令是Ubuntu16.04的一个显著的新特性。但实际上,apt的第一版本发布于2014年,但直到2016年Ubuntu16.04发布时才得到关注。

常见的是,用apt install package代替apt-get install package。事实上,许多其他的Liunx发行版本也在跟随Ubuntu的步伐,开始鼓励用户使用apt代替apt-get。

0. 写在前面

也许你想知道apt-get和apt的区别?

如果他们有相似的命令结构,那么新的apt命令主要针对的是什么需求?

也许你也在思考apt是否优于apt-get?

应该使用新的apt命令,还是坚持使用旧的、也不错的apt-get命令?

我将在本文解释这些疑问,也希望本文能给你一个清晰的诠释。

1. apt apt-get

一文搞清apt与apt-get的异同_第1张图片

先简单说几句,和Linux Mint使用者有关的故事。

几年前,Linux Mint实现了一个python包装器,名叫apt,它实际上使用apt-get,并提供了很多友好的选项。

请注意,我们将要讨论的apt和这个Linux Mint的apt不同。

在探究apt和apt-get的区别前,我们先了解一下这些命令产生的背景,以及具体想解决什么问题。

2. 首先为什么引入apt

Debian是很多Linux发行版本的母版,比如Ubuntu,Linux Mint, elementary OS等。它有一个稳健的软件包系统,每一个组件和硬件程序构建成软件包,并安装到你的系统中。Debian使用一个名叫Advanced Packaging Tool (APT)的工具集,来管理这个软件包系统。

请注意:请不要将APT工具集与apt命令混淆,他们并不相同。

有很多工具可以与APT进行交互,允许你去安装、卸载和管理基于Linux发行版本的包。apt-get就是这样的一个命令行工具,且广泛使用。

另一个流行的工具是Aptitude ,同时带有GUI和命令行的选项。

如果你读过我的apt-get命令指南,你可能遇到过一些类似的命令,比如apt-cache。

其实,这就是问题产生的地方。

你看,这些命令的用法很底层,他们有很多普通Linux用户也许永远不会使用的功能。另一方面,常用的软件包管理命令散落在apt-get和apt-cache中。

引入apt命令集就是为了解决这个问题。apt由一些来自apt-get和apt-cache且广泛使用的特性组成,同时搁置了那些令人费解且少用的特性。它也能管理apt.conf文件。

使用apt,你不必在apt-get和apt-cache命令间来回切换。apt更加的结构化,给你提供必要选项,来管理软件包。

要点:apt=来自apt-getapt-cache的常用功能选项。

3. aptapt-get的区别

所以,有了apt,你就一次性获得所有必需的工具。不会迷失在众多的命令选项中。Apt的主要目标是提供一种用户愉悦的方式来高效处理软件包。

当Debian提到“用户愉悦的方式”,它实际上在说,它有少数但高效的命令行选项,但以一种更有条理的形式展现。最重要的是,它默认提供少数几个选项,并能切实地帮助到用户。

举个例子,用apt安装或卸载软件包时,你可以看到一个进度条。(下图)

一文搞清apt与apt-get的异同_第2张图片

当你更新仓库repository数据库时,apt能展示可升级的软件包数量。(下图)

一文搞清apt与apt-get的异同_第3张图片

当然,如果你使用apt-get附加的命令选项,也能获得相同的功能。但apt以默认的形式提供,减少了一些麻烦。

4. aptapt-get相关命令的区别

虽然apt的确提供一些apt-get类似的功能选项,但是它不与apt-get向下兼容。这意味着,如果你仅用apt代替apt-get命令中的apt-get,将不会一直有用。

我们来看看apt命令取代了apt-get和apt-cache的哪些命令选项。

apt命令

取代的命令

功能

apt install

apt-get install

安装一个软件包

apt remove

apt-get remove

移除一个软件包

apt purge

apt-get purge

移除包及相关配置

apt update

apt-get update

刷新仓库索引

apt upgrade

apt-get upgrade

升级所有可升级的软件包

apt autoremove

apt-get autoremove

移除多余的软件包

apt full-upgrade

apt-get dist-upgrade

升级软件包,并自动处理依赖

apt search

apt-cache search

搜索某个程序

apt show

apt-cache show

显示软件包详情

apt也有一些自己独有的命令。

apt的新命令

命令对应的功能

apt list

列举各类软件包 (已安装,可升级,等等)

apt edit-sources

编辑软件源列表(sources list)

这里需要指出的是,apt处于持续开发中。因此,在未来的版本中,也许你能看见一些新选项加入进来。

如果你想多学一点,我推荐阅读我撰写的“如何使用apt命令”指南,里面有一些例子。

5. apt-get已被弃用?

我没有找到任何关于apt-get不继续使用的例子。事实上,也不应如此。它仍然有许多apt没有的功能。比如,以脚本形式展开底层级别的操作等,仍将使用apt-get。

6. 应该使用apt还是apt-get

你可能在思考应该使用apt还是apt-get。作为一个常规的Linux使用者,我的答案是使用apt。

apt是Linxu发行版本目前推荐的命令。它提供管理软件包的必要选项。最重要的是,它的精简命令选项更容易使用,且更容易记住。

我觉得,没有理由坚持使用apt-get,除非你打算做一些指定的操作,而这些操作使用了apt-get的更多特性。

结论

我希望,我已经解释清楚了apt和apt-get的区别。

最后,总结一下apt与apt-get的异同:

        1) apt是apt-get和apt-cache命令的子集,提供软件包管理的必要命令。

        2) 尽管apt-get未被取代,但作为常规使用者,你应该尽量使用apt。

你可能感兴趣的:(Linux,linux,ubuntu,运维)