首页 > 系统相关 >ubuntu下软件安装工具apt和apt-get的区别

ubuntu下软件安装工具apt和apt-get的区别

时间:2024-03-14 20:24:17浏览次数:18  
标签:选项 get ubuntu apt 命令 Linux rpm

1、apt命令的引入

Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入。其实早在 2014 年,apt 命令就已经发布了第一个稳定版,只是直到 2016 年的 Ubuntu 16.04 系统发布时才开始引人关注。

随着 apt install package 命令的使用频率和普遍性逐步超过 apt-get install package,越来越多的其它debian系 Linux 发行版也开始遵循 Ubuntu 的脚步,开始鼓励用户使用 apt 而不是 apt-get。

那么,apt-get 与 apt 命令之间到底有什么区别呢?如果它们有类似的命令结构,为什么还需要新的 apt 命令呢?是否 apt 真的比 apt-get 更好?普通用户应该使用新的 apt 命令还是坚持旧有习惯继续使用 apt-get 呢?

2、apt与apt-get

在开始对比 apt 与 apt-get 命令的区别之前,我们先来看看这两个命令的背景,以及它们要试图达到的目的。

Debian 作为 Ubuntu、Linux Mint 和 elementary OS 等 Linux 操作系统的母板,其具有强健的「包管理」系统,它的每个组件和应用程序都内置在系统中安装的软件包中。Debian 使用一套名为 Advanced Packaging Tool(APT)的工具来管理这种包系统,不过请不要把它与 apt 命令混淆,它们之间是其实不是同一个东西。

在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。apt-get 便是其中一款广受欢迎的命令行工具,另外一款较为流行的是 Aptitude 这一命令行与 GUI 兼顾的小工具。

如果你已阅读过我们的 apt-get 命令指南,可能已经遇到过许多类似的命令,如apt-cache、apt-config 等。如你所见,这些命令都比较低级又包含众多功能,普通的 Linux 用户也许永远都不会使用到。换种说法来说,就是最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中。

apt 命令的引入就是为了解决命令过于分散的问题,它包括了 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cache 和 apt-config 命令中很少用到的功能。

在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。

简单来说就是:apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。

3、apt与apt-get之间的区别

通过 apt 命令,用户可以在同一地方集中得到所有必要的工具,apt 的主要目的是提供一种以「让终端用户满意」的方式来处理 Linux 软件包的有效方式。

apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。除此之外,它默认启用的几个特性对最终用户也非常有帮助。
例如,可以在使用 apt 命令安装或删除程序时看到进度条。

apt 还会在更新存储库数据库时提示用户可升级的软件包个数。

如果你使用 apt 的其它命令选项,也可以实现与使用 apt-get 时相同的操作。

4、apt和apt-get命令之间的区别

虽然 apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令。也就是说,可以用 apt 替换部分 apt-get 系列命令,但不是全部。

当然,apt 还有一些自己的命令:

需要大家注意的是:apt 命令也还在不断发展, 因此,你可能会在将来的版本中看到新的选项。

5、apt-get已弃用?

目前还没有任何 Linux 发行版官方放出 apt-get 将被停用的消息,至少它还有比 apt 更多、更细化的操作功能。对于低级操作,仍然需要 apt-get。

6、我应该使用apt还是apt-get?

既然两个命令都有用,那么我该使用 apt 还是 apt-get 呢?
作为一个常规 Linux 用户,系统极客建议大家尽快适应并开始首先使用 apt。
不仅因为广大 Linux 发行商都在推荐 apt,更主要的还是它提供了 Linux 包管理的必要选项。

最重要的是,apt 命令选项更少更易记,因此也更易用,所以没理由继续坚持 apt-get。

7、小结

最后结大家提供两点使用上的建议:

apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项。

apt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt。

以上原文链接:Linux中apt与apt-get命令的区别与解释 - 系统极客

8、顺便补充下apt-get和yum区别:

一般来说著名的linux系统基本上分两大类:

1、RedHat系列:Redhat、Centos、Fedora等

2、Debian系列:Debian、Ubuntu等

RedHat 系列

1、常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”

2、包管理工具 yum

3、支持tar包

Debian系列

1、常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”

2、包管理工具 apt-get

3、支持tar包

tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。

rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。

优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。

tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。

如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。

tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。

rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。



标签:选项,get,ubuntu,apt,命令,Linux,rpm
From: https://www.cnblogs.com/zhangzl419/p/18073856

相关文章

  • 在Linux/Ubuntu/Debian中使用windows应用程序/软件
    Wine是一个兼容层,允许你在类Unix操作系统(包括Ubuntu)上运行Windows应用程序。以下是在Ubuntu上安装和使用Wine的基本步骤:在Ubuntu上安装Wine:更新软件包列表:打开终端并运行以下命令以确保你的软件包列表是最新的:sudoaptupdate安装Wine:使用以下命......
  • Qt "QWidget: Must construct a Qapplication before a Qwidget"错误
    问题该错误信息表示在创建QWidget(窗口部件)之前必须先创建QApplication(应用程序)。这是因为QApplication在创建QWidget之前会进行一些初始化操作,确保正确运行应用程序。要解决这个错误,您需要在创建QWidget之前先创建QApplication。以下是处理该错误的常见方法:1.在......
  • Qt 解决:QWidget: Must construct a QApplication before a QWidget
    在调试vlc-qt的examples工程时,遇到编译报错“QWidget:MustconstructaQApplicationbeforeaQWidget”根据字面理解应该是,创建窗体前应该必须先构造一个QApplication。网上很多人也遇到过这样的问题,也确实是这个原因,如下:但是本人遇到的问题却不是这个,最后查找......
  • Qt QWidget Must construct a QApplication before a QWidget
    1,有些QT写的PC程序在运行的时候,会弹出下图所示的错误提示框 2、原因是因为,在点击程序的关闭的时候,有其它的窗口没有关闭,再次打开造成的,如下图所示,可能的原因是程序启动后,在任务栏在两个图标 3、如下图所示,用鼠标点击关闭其中一个窗口,另一个窗口并没有关闭4、当你再次打开......
  • Qt QWidget: Must construct a QApplication before a QWidget
    在使用UI的qwidget之前都必须先构造一个QApplication实例,这是断言的意思。错误的可能是在哪个类中采彩用了静态的(static)的qwidge域或其子类,因为静态和全局对象进入main函数之前就产生了,所以早于main函数里的qapplication日对象,所以出现了此断言错误。解决方法是避免在......
  • Qt 报错: QWidget: Must construct a QApplication before a QWidget
    最近遇到一个问题,程序编译时出现报错:Mustconstructa QApplication beforeaQWidget。我的main.cpp有这样的代码1intmain(intargc,char*argv[])2{3QApplicationa(argc,argv);4}另外一个SS.h1classSS:publicQWidget2{3Q_OBJECT4public:......
  • Ubuntu 修改静态ip地址
     打开文件地址:sudovim/etc/netplan/01-network-manager-all.yaml  #LetNetworkManagermanagealldevicesonthissystemnetwork:version:2renderer:NetworkManagerethernets:eno1:dhcp4:falseaddresses:[192.168.0.112/24]......
  • Linux(Ubuntu)下安装OpenJDK
      aptinstalldefault-jre 是一个在基于Debian的Linux发行版(如Ubuntu)上使用的命令,用于安装默认的Java运行时环境(JRE)。这里的 apt  是包管理工具,用于安装、更新和删除软件包。 install  是 apt  的一个子命令,用于安装软件包。default-jre 是要安装的软件包的名称,......
  • 大华智慧园区综合管理平台 getNewStaypointDetailQuery SQL注入
    简介大华智慧园区解决方案通过AI技术的加载实现园区安防与园区办公应用的智慧化升级,提升企业安全等级和办公效率;将物联网应用神经延伸至企业各种业务场景,实现人、车、物数据信息线上融合与计算,为园区智慧化管理提供数据源;构建园区大数据平台,向下汇聚各类业务子系统数据,向上为......
  • Adaptive Diffusion in Graph Neural Networks论文阅读笔记
    AdaptiveDiffusioninGraphNeuralNetworks论文阅读笔记Abstract​ 最近提出了图扩散卷积(GDC),利用广义图扩散来扩展传播邻域。然而,GDC中的邻域大小是通过在验证集上进行网格搜索来手动对每个图进行调整的,这使得其泛化实际上受到了限制。为了解决这个问题,我们提出了自适应扩散......