apt-get install 和 apt install 的区别是什么?

apt-get install 和 apt install 的区别是什么?

提出这个问题是个很有意思的,在刚接触到Ubuntu的时候跟在刚入门centos的时候使用的更新命令就不一样(yum update or apt-get update),在Ubuntu各种教程中便看到 apt 和 apt-get 的身影。apt 和 apt-get 有什么区别也是我马上浮现出来的问题,也是作为我第二linux发行版的想到的第一个问题。

首先,回答本问题,apt 和 apt-get 的区别?

如果运行命令 apt install 在非交互式脚本中,则会有提示报错 没有稳定的CLI接口。

所有要在脚本中安装一些软件时,使用 apt-get 会更加保险,但是在自己终端使用命令,那 apt 则是更好的选择。

区别

在 Ubuntu 中,apt 和 apt-get 都是用来管理软件包的命令工具,但同时也有一些区别:

1、用户体验

  • apt 提供了更好的用户界面和更直观的命令选项。它使用彩色输出、进度条等功能改善用户的体验,使得用户在执行软件包管理时不那么苦涩,也能更清楚地了解操作进度和结果。
  • apt-get 一样功能强大,但是对用户界面相对于传统,命令输出和错误信息可能不如 apt 易于理解。对于新手来说,需要一定的时间来适应其操作。

2、功能差异

  • apt 不仅包含了 apt-get 的所有功能,还新增了 list、search 等实用命令,功能更加全面。
  • apt 提供了更简洁的命令结构,而 apt-get 提供了更多的控制选项,适合用于编写脚本和自动化任务。

3、性能于效率‘

  • apt 在某些操作上比 apt-get 更快,尤其是在处理大量软件包时。

4、实际应用场景

  • 对于日常软件包管理,推荐使用 apt ,因为它提供了更友好的用户界面和更简洁的命令结构。
  • 对于处理脚本和自动化任务,apt-get 可能更适合,因为它提供了更多的控制选项。

5、依赖处理

  • 两者都能有效处理软件包的依赖关系,但 apt 在用户体验上进行了优化,使得依赖处理更加直观。

6、搜索功能

  • apt 提供了 search 命令,可以按照名称搜索软件包,而apt-get 需要结合apt-cache 命令来实现类似的功能。

总结来说,apt 是 apt-get 的现代化版本,它结合了 apt-get 和 apt-cache 的功能,并提供了更友好的用户界面和更简洁的命令选项。在Ubuntu中,推荐使用 apt 进行日常的软件包管理,而 apt-get 则更适合需要精细控制侧场景。

理解包管理系统

linux 发行版本这质量最重要的决定因素是 包管理系统的和其 支持社区的持久性

随着花费的更多时间在 Linux上,会同时发现各种软件的更新系统是非常快的。大多数一线版本的 Linux 发行都是近几个月发布一个新版本,并且有许多独立的程序员在每天更新。为了能和这么多的软件保持联系,需要一个好的软件包管理系统来管理是必然的。

Linux 包管理系统 dpkg 和 rpm

不同的 Linux 发行版使用不同的包管理系统,大多数发行版分别属于两大包管理技术阵营:Debian 的 .deb 和 红帽的 .rpm

主流的包管理系统

包管理系统发行版(部分)
Debian Style(.deb)Debian,Ubuntu,Xandros,Linspire
Red Hat Style(.rpm)Fedora,Centos,Red Hat Enterprise Linux,OpenSUSE, Mandriva,PCLinuxOS
Arch Style(.pag.tar.xz)Arch linux,Manjaro,EndeavourOS,Garuda linux,Arcolinux,Parabola,Artix Linux,BlackArch Linux,Obarun,Parchlinux

**dpkg:**这个机制最早是由 Debian Linux 社群开发出来的,通过 dpkg 的机制。

Debian 提供的软件就能够简单的安装起来,同时还能提供安装后的软件信息。只是是衍生于 Debian 的其他 Linux distributions 大多数使用 dpkg 这个机制来管理软件,包括 B2D, Ubuntu等等。

**RPM:**而这个机制则是由 Red Hat 这家公司提出并开发出来的,后来实在是很好用,因此很多 distributions 就使用这个机制来制作为软件安装的管理方式。包括 Fedora, CentOS, SuSE 等等著名的开发商使用的 RPM。

包管理工具

发行版底层工具上层工具
Debian-Styledpkgapt-get, aptitude
Fedora,Red Hat Enterprise Linux,CentOSrpmyum
Arch Liunx,Manjaro,Artix Linuxpacman-

注意,Arch Linux 及其衍生版主要都使用 Pacman 作为包管理工具,它同时承担了底层和上层工具的角色。

软件管理系统通常由两种工具类型组成:底层工具用来处理这些任务,比方说安装与删除的操作,和 上层工具完成元数据搜索和依赖解析。

apt-get

Advanced Package Tool,又名apt-get,是一款适用于Unix和Linux系统的应用程序管理器。最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。Apt-get成名的原因之一在于其出色的解决软件依赖关系的能力。其通常使用.deb-formatted文件,但经过修改后可以使用apt-rpm 处理红帽的 Package Manager(RPM)文件。

apt-get主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。如果已阅读 apt-get 命令指南,可能已经遇到过许多类似的命令,如 apt-cache、apt-config 等。这些命令都比较低级又包含众多功能,普通的 Linux 用户也许永远都不会使用到。换种说法来说,最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中

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

apt

apt是一个命令行实用程序,用于在Ubuntu、Debian和相关Linux发行版上安装、更新、删除和管理deb软件包。

Apt,可以基本解决依赖问题并检索需要的软件包,可与 dpkg一起工作。Apt很强大,主要在命令行(控制台/terminal)下使用。但是,也有很多GUI/图形化工具,让使用者不必接触命令行。

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

dpkg和apt-get的区别

dpkg:用来安装.deb文件时,不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。

apt-get:会解决和安装模块的依赖问题,并会咨询软件仓库,但不会安装本地的deb文件,apt-get是建立在dpkg之上的软件管理工具。

apt 与 apt-get 之间的区别

1.apt 命令是对之前的apt-get apt-cache 等的封装,提供更加统一,更加适合终端用户使用的接口。

2.apt 具有更精减但足够的命令选项,而且参数选项的组织方式更为有效。

3.apt是为交互使用而设计的。最好在shell脚本中使用apt-get和apt-cache,因为它们在不同版本之间向后兼容,并且有更多选项和功能。

对于基本命令,apt和apt-get两个工具的语法是相同的。

apt 命令 取代的apt-get命令 命令的功能

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        | # 显示安装细节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值