本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。

如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:

zcwyou.com

1. 前言

aptitude和apt-get是两种常用的软件包管理工具。两者都能够处理软件包的各种管理需求,包括安装、删除、查询等。但这两种工具之间仍然存在差异,这使得用户更喜欢其中一种。本文主要介绍apt和aptitude命令之间的差别。

简述apt的运行机制(apt与aptitude命令之间的区别)(1)

apt与aptitude命令之间的区别

2. 什么是apt

简述apt的运行机制(apt与aptitude命令之间的区别)(2)

基于Debian体系的ubuntu

apt(Advanced Packaging Tool)高级打包工具是一个免费的开源软件,它可以便捷地处理软件的安装和删除。最初它是为Debian的.deb包设计的,但是现在它已经与RPM包管理器兼容了。

apt是完整的命令行,没有GUI界面。无论何时从命令行调用并指定要安装的包的名称,它都会在源/etc/apt/sources配置文件中指定的源仓库中找到该包。并把相关的依赖包一起安装了。

它是高度灵活的,允许用户轻松地控制各种配置,比如可以通过添加仓库的形式来安装其它软件包。

3. aptitude是什么?

简述apt的运行机制(apt与aptitude命令之间的区别)(3)

debian

aptitude是高级打包工具的前端,它为添加了一个用户界面,从而允许用户交互式地搜索一个包并安装或删除它。aptitude最初是为Debain创建的,现在也将其功能扩展到基于RPM的发行版。

它的用户界面基于ncurses库,该库添加了GUI中常见的各种元素。它的亮点之一是它可以模拟apt-get的大多数命令行参数。

总的来说,aptitude是一个高层次的包管理器,它隐藏底层的细节,可以在基于文本的交互UI模式下操作,甚至可以在命令行非交互模式下操作。

4. apt和aptitude有什么区别?

除了aptitude是一个高级包管理器而apt是可以被其他高级包管理器使用的低级包管理器外,这两个包管理器的主要区别还包括:

aptitude比apt-get功能更强大,它集成了apt-get及其补充的apt-mark和apt-cache的功能。

apt-get处理所有的软件包安装、升级、系统升级、清除包、解析依赖等,而aptitude处理的事情比apt多得多,包括apt-mark和apt-cache的功能,即在已安装包列表中搜索一个包,标记一个包是自动安装还是手动安装。标记一个包,使其无法升级,等等。

apt-get缺乏UI界面,而aptitude则只有文本和交互式UI:

apt-get是一个较低级别的包管理器,它只能以命令行形式交互,而aptitude是一个较高级别的工具,它有一个默认的纯文本交互界面,以及通过输入必需的命令行操作的选项。

在许多涉及软件包安装、移除和冲突解决的情况下,aptitude证明了它的价值,而不是apt-get。这些情况包括:

  1. 当删除任何已安装的包时,aptitude会自动删除不再需要的软件包。而apt-get则需要用户通过添加额外的选项-auto-remove或指定apt-get autoremove来明确指定。
  2. 为了进一步让用户清楚知道为什么某些行动被阻止了,aptitude提供了“为什么”和“为什么不”命令。
  3. apt-get可能无法解决软件包冲突,但aptitude可以提出消除冲突的可能措施。
  4. aptitude提供了一个强大的搜索功能,不仅可以搜索系统上的任何包,还可以搜索整个软件仓库中的包。

然而apt-get需要另一个apt补充命令,即apt-cache来搜索一个包,而aptitude提供了更简单、更有效的方法来搜索一个已经安装或存在于软件仓库中但尚未安装的包。

5. 结论

所以,在大多数情况下,aptitude的语法几乎与apt-get保持一致,以减少apt-get用户迁移到aptitude的痛苦。但除此之外,aptitude还集成了许多强大的功能,使其成为人们的选择。除了我们强调的这些不同点之外,如果您发现这两个包管理器之间还有其他有趣的不同点,请在评论区留下您的见解。


如果喜欢本文,欢迎转发。本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/rmxx/1965.html

,