📜  apt vs apt-get - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:21.861000             🧑  作者: Mango

apt vs apt-get - Shell-Bash

在Linux系统的安装过程中,包管理器(Package manager)扮演着至关重要的角色。而Debian系统中,包管理器分别有aptapt-get两种。这两者有什么区别呢?本文将会详细介绍它们之间的区别以及各自的使用场景。

安装软件包

apt-getapt最主要的功能就是用来安装软件包。不过二者之间又是如何区别的呢?

apt-get

apt-get作为Debian系统最早期的包管理工具,已经和Debian系统结缘很久了。在Linux操作系统中,通常我们需要手动从源中下载deb包,然后通过命令行将其安装到系统中。而使用apt-get有着非常明显的优势,比方说它支持下载软件包依赖、自动升级等功能,如下所示:

sudo apt-get install package_name
apt

apt是在apt-get之后出现的,它的设计目标是为了提供简单易用的界面,并且在处理多语言软件包时更加高效。同时该命令还支持缓存某些软件包并在需要时再把它们重新提取出来,这样可以明显降低软件包的下载时间和带宽压力。和apt-get不同,apt命令不需要使用sudo,如下所示:

apt install package_name

总体来说,apt的优势在于它易用且在操作过程中的输出信息会相对更少。

包管理

两者在包管理方面的操作略有不同。

apt-get

一切都源自命令行,apt-get相对更加复杂。通过apt-get命令我们可以在服务器上下载和安装所需软件,同时它还是操作过程中的一个工具集。比如,你可以使用下面这些命令:

  • sudo apt-get update - 更新可用的仓库和软件包列表;
  • sudo apt-get upgrade - 更新所有已安装的软件包;
  • sudo apt-get dist-upgrade - 可以通过这个命令更新系统软件包,并且在更新的过程中也将进行更改以保证系统的稳定性;
  • sudo apt-get remove package_name - 删除某个软件包,但是保留其配置文件。可以使用sudo apt-get purge package_name命令删除软件包的同时也会将其配置文件删除掉。
  • sudo apt-get autoremove - 删除你本来不应该保留的软件包。
apt

apt的命令集相对较少,这对于需要更轻松工作的管理员来说更加高效。通过apt,我们可以使用以下几个命令:

  • apt update - 更新可用的仓库和软件包列表;
  • apt upgrade - 更新所有已安装的软件包;
  • apt full-upgrade - 它的作用与apt-get dist-upgrade相同,即更新系统软件包并且也会对其进行相应的更改以保证系统稳定性。
  • apt remove package_name - 删除软件包并且保留其配置文件;
  • apt purge package_name - 删除软件包以及全部依赖项以及保留软件包的配置文件;
  • apt autoremove - 删除您不再需要的软件包。
相关区别

下面就是aptapt-get之间常见的区别:

  • apt命令对新手更加友好;
  • apt命令默认启用进度计数器;
  • apt-get命令中默认启用了sudo,而apt则不需要;
  • apt-get命令支持通过-o选项表示选项;
  • apt命令会在执行之前自动更新包列表。
总结

尽管apt-get在开发孕育的几十年间产生了许多变化,但相比之下,apt显然是一种更好的选择。毕竟,它的设计目的在于让整个包管理过程能够更加智能、快速和更加友好,无论你是新手还是经验丰富的管理员,都能够更加轻松地掌握它的用法。