Linux中apt命令

本文详细介绍了APT(Advanced Packaging Tool)的历史背景、工作原理及在Linux系统中的使用方法,包括更新包索引、升级包、完全升级、安装包、删除包、删除未使用的包、查看包列表、搜索包和查看包信息等常见操作。

apt简介

Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具。

最初只有.tar.gz的打包文件,用户必须编译每个他想在GNU/Linux上运行的软件。用户们普遍认为系统很有必要提供一种方法来管理这些安装在机器上的软件包,当Debian诞生时,这样一个管理工具也就应运而生,它被命名为dpkg。

从而著名的“package”概念第一次出现在GNU/Linux系统中,稍后Red Hat才决定开发自己的“rpm”包管理系统。

很快一个新的问题难倒了GNU/Linux制作者,他们需要一个快速、实用、高效的方法来安装软件包,当软件包更新时,这个工具应该能自动管理关联文件和维护已有配置文件。

Debian再次率先解决了这个问题,APT(Advanced Packaging Tool)作为dpkg的前端诞生了。APT后来还被Conectiva改造用来管理rpm,并被其它Linux发行版本采用为它们的软件包管理工具。

APT由几个名字以“apt-”打头的程序组成。apt-get、apt-cache 和apt-cdrom是处理软件包的命令行工具。

Linux命令—apt,也是其它用户前台程序的后端,如dselect 和aptitude。

apt 专为交互式使用而设计。在您的 shell 脚本中优先使用 apt-get 和 apt-cache ,因为它们在不同版本之间向后兼容,并具有更多选项和功能。

大多数 apt 命令必须以具有 sudo 权限的用户身份运行。

作为操作的一部分,APT使用一个文件列出可获得软件包的镜像站点地址,这个文件就是/etc/apt/sources.list。


工作原理

APT是一个客户/服务器系统。在服务器上先复制所有DEB包(DEB是Debian软件包格式的文件扩展名),然后用APT的分析工具(genbasedir)根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在一个文件中,这个文件称为DEB 索引清单,APT服务器的DEB索引清单置于base文件夹内。

一旦APT 服务器内的DEB有所变动,一定要使用genbasedir产生新的DEB索引清单。客户端在进行安装或升级时先要查询DEB索引清单,从而可以获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。

当客户端需要安装、升级或删除某个软件包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的。

---------------------
来源地址:https://www.php.cn/linux-420074.html
 

使用

更新包索引 (apt update)

APT 包索引基本上是一个数据库,他保存系统中启用的存储库中可用包的记录。

要更新包索引,请运行以下命令。这将从 APT 存储库中提取最新更改:

sudo apt update

始终在升级或安装新软件包之前更新软件包索引。

升级包 (apt upgrade)

定期更新 Linux 系统是整个系统安全性最重要的方面之一。

将已安装的软件包升级到最新版本,请运行:

sudo apt upgrade

该命令不会升级那些需要删除已安装软件包的软件包。

如果要升级单个包,请传递包名称:

sudo apt upgrade package_name

配置自动安全更新始终是个好主意。

完全升级 (apt full-upgrade)

upgrade 和 full-upgrade 之间的区别在于,如果需要升级整个系统,则后者将删除已安装的软件包。

sudo apt full-upgrade

使用此命令时要格外小心。

安装包 (apt install)

安装包就像运行以下命令一样简单:

sudo apt install package_name

如果要安装多个包,请将它们指定为以空格分隔的列表:

sudo apt install package1 package2

要安装本地 deb 文件,请提供文件的完整路径。否则,该命令将尝试从 APT 存储库检索并安装该程序包。

sudo apt install /full/path/file.deb

删除包 (apt remove)

要删除已安装的软件包,请键入以下内容

sudo apt remove package_name

您还可以指定多个包,以空格分隔:

sudo apt remove package1 package2

该 remove 命令将卸载给定的包,但它可能会留下一些配置文件。如果要删除包括所有配置文件的包,请使用 purge 而不是 remove :

sudo apt purge package_name

删除未使用的包 (apt autoremove)

每当在系统上安装依赖于其他软件包的新软件包时,也会安装软件包依赖项。删除程序包后,依赖项将保留在系统上。这些剩余的包不再被其他任何东西使用,可以删除。

要删除不需要的依赖项,请使用以下命令:

sudo apt autoremove

查看包列表 (apt list)

该 list 命令允许您列出可用,已安装和可升级的软件包。

要列出所有可用包,请使用以下命令:

sudo apt list

该命令将打印所有包的列表,包括有关包的版本和体系结构的信息。要确定是否安装了特定软件包,可以使用该 grep 命令过滤输出。

sudo apt list | grep package_name

仅列出已安装的包,请输入:

sudo apt list --installed

在实际升级软件包之前获取可升级软件包列表可能很有用:

sudo apt list --upgradeable

搜索包 (apt search)

此命令允许您在可用包列表中搜索给定包:

sudo apt search package_name

如果找到,该命令将返回名称与搜索词匹配的包。

查看包的信息 (apt show)

在删除或安装新软件包之前,有关软件包依赖性,安装大小,软件包源等信息可能很有用。

要检索有关给定包的信息,请使用以下 show 命令:

sudo apt show package_name

结论

了解如何管理包是 Linux 系统管理的重要组成部分。

要了解有关该 apt 命令的更多信息,请打开终端并键入 man apt 。

 


 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值