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

被折叠的 条评论
为什么被折叠?



