APT vs APT-GET 命令对比

APT vs APT-GET 命令对比

问题记录

  • 问题1:APT和APT-GET有什么关系?为什么会出现两个类似的命令?
  • 问题2:APT和APT-GET的主要功能区别是什么?
  • 问题3:在什么场景下应该使用APT而不是APT-GET?
  • 问题4:APT命令相比APT-GET有哪些改进的用户体验?
  • 问题5:是否应该完全替换使用APT-GET为APT?

关键概念

基本概念与关系

  • APT (Advanced Package Tool):Ubuntu 16.04+推出的新一代包管理工具,旨在提供更简洁、更友好的用户界面
  • APT-GET:传统的包管理命令行工具,功能强大但使用相对复杂
  • 关系:APT是APT-GET、APT-CACHE等传统命令的前端封装,整合了它们的核心功能

功能对比

功能类别APT命令APT-GET/APT-CACHE命令说明
安装包apt install <package>apt-get install <package>功能相同,APT输出更友好
卸载包apt remove <package>apt-get remove <package>功能相同
卸载包(清除配置)apt purge <package>apt-get purge <package>功能相同
更新包列表apt updateapt-get update功能相同
升级已安装包apt upgradeapt-get upgrade功能相同
完整升级系统apt full-upgradeapt-get dist-upgrade功能相同,命令名称更直观
搜索包apt search <keyword>apt-cache search <keyword>APT整合了搜索功能
查看包信息apt show <package>apt-cache show <package>APT输出更易读
列出已安装包apt list --installedapt list --installed两者相同(APT引入的新命令)
清理包缓存apt cleanapt-get clean功能相同
清理旧版本包apt autoremoveapt-get autoremove功能相同

主要区别

1. 用户体验

  • APT:提供了更简洁、更友好的输出格式,包含进度条和颜色高亮
  • APT-GET:输出格式相对原始,缺乏视觉反馈

2. 命令整合

  • APT:整合了APT-GET、APT-CACHE、APT-MARK等多个工具的功能
  • APT-GET:功能分散在多个独立命令中

3. 新增功能

  • APT:提供了apt listapt edit-sources等新命令
  • APT-GET:不支持这些新增功能

4. 适用场景

  • APT:适合日常交互式使用,提供更好的用户体验
  • APT-GET:适合在脚本中使用,行为更稳定,输出格式更易于解析

使用示例对比

APT命令示例

$ apt update
命中:1 http://archive.ubuntu.com/ubuntu focal InRelease
获取:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
获取:3 http://archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
已下载 228 kB,耗时 1秒 (212 kB/s)
正在读取软件包列表... 完成

$ apt install vim
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
将会安装以下额外的软件包:
  vim-common vim-runtime
建议安装:
  ctags vim-doc vim-scripts
下列【新】软件包将被安装:
  vim vim-common vim-runtime
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 6,299 kB 的归档。
解压缩后会消耗 30.6 MB 的额外空间。
您希望继续执行吗? [Y/n] y

APT-GET命令示例

$ apt-get update
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Fetched 228 kB in 1s (212 kB/s)
Reading package lists... Done

$ apt-get install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  vim-common vim-runtime
Suggested packages:
  ctags vim-doc vim-scripts
The following NEW packages will be installed:
  vim vim-common vim-runtime
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,299 kB of archives.
After this operation, 30.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

待深入研究

  • APT命令的内部工作原理
  • APT和APT-GET在脚本环境中的兼容性
  • APT的包依赖解析算法优化
  • 不同Linux发行版中APT的实现差异
  • APT命令的扩展功能和插件机制

参考资料

文档信息

Search

    Table of Contents