文章摘要: Debian Linux 操作系统的软件包管理工具。
简介
简要说明
- Debian Linux 包管理工具。
- apt(Advanced Package Tool)是基于 dpkg 之上的一个更高级的包管理工具,它提供了命令行工具 apt, apt-get, 和 apt-cache,用于处理软件包的安装、更新和查询。
- 文档:https://wiki.debian.org/zh_CN/Apt
主要功能
- 依赖管理:自动处理软件包之间的依赖关系,这使得安装和更新软件包更加容易。
- 用户友好:apt 的命令更易于记忆和使用,对初学者更友好。
- 高级功能:apt 提供了更多的功能,如包搜索、列出可用的更新、下载源代码包等。
注意事项
- 功能限制:虽然 apt 提供了很多功能,但某些低级别的操作仍然需要 dpkg。
- 性能问题:在处理大量软件包时,apt 的性能可能会比直接使用 dpkg 慢。
适用场景
注释
- Debian 建立一致的自由软件的预编译二进制包并从档案库中分发它们。
- 许多远程镜像站提供了
HTTP和FTP的方式来访问“Debian档案库”。 - Debian 的软件包管理系统是
高级软件包工具(APT)。 - Debian软件包管理系统可以让用户从档案库安装统一设置的二进制软件包到系统中,并进行管理,自动解决依赖问题。
- 每个软件包都带有自己的配置脚本。
提示
- 请多多查看一些常用的软件包和其依赖关系。
安装与卸载
详细总结:Package-Apt-安装与卸载
终端命令
详细总结 apt命令:Package-Apt-终端命令-apt
配置文件
详细总结:Package-Apt-配置文件
热门推荐
详细总结:Package-Apt-热门推荐
问题总结
详细总结:Package-Apt-问题总结
仓库(存储库/镜像源)
- apt从仓库安装软件,需要在本地维护一个软件包列表的仓库,这样就能在仓库中搜索软件包。但是软件源中的软件包信息是频繁更新的。如果你向使用更新版本的软件,就需要先更新本地的仓库,再进行软件安装。
- 仓库用于告诉
apt(高级包管理工具)从哪里下载软件包。 - 仓库通常由软件的官方维护者或第三方提供。
/etc/apt/sources.list文件和/etc/apt/sources.list.d/目录下的文件定义了软件包的来源。
仓库类型
- 源列表中的每一行通常以
deb或deb-src开头,分别代表二进制包仓库和源代码仓库。
仓库地址
- 仓库的URL,指定了软件包存储的位置。
发行版代号
- 指定仓库适用的发行版代号(例如,Debian 12 的代号是
bookworm)。
组件
- 指定仓库中的组件,通常是
main、restricted、universe和multiverse中的一个或多个,这些组件代表了软件包的不同分类。 main:这个组件包含了Debian项目维护的自由软件。contrib:这个组件包含了依赖于main组件中的软件包,它们可能需要非自由软件包来正常运行。non-free:这个组件包含了不符合DFSG的软件包,可能是由于版权、专利或其他法律问题而不自由的。non-free-firmware:这个组件专门用于包含固件包,这些固件包通常用于硬件设备的驱动程序,但它们不是自由的。
案例
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
注释
通过apt安装的软件包,可以在以下目录中找到软件包信息:
/var/lib/apt/lists/*/var/lib/dpkg/available:存储库中可用包的列表。/var/lib/dpkg/status:已安装包和可用包的状态。此文件包含有关软件包是否标记为删除、是否已安装等信息。标记为 reinst-required 的软件包已损坏,需要重新安装。
GPG密钥
- APT 使用 GPG(GNU Privacy Guard)密钥用于验证软件包的完整性和来源。
- 确保下载的软件包是由可信任的发布者签名的。
- 确保软件包在分发过程中未被篡改。
- GPG密钥相关的命令操作:Package-GnuPG-终端命令-gpg
注释
每个仓库的GPG密钥文件应单独保存在 /etc/apt/trusted.gpg.d/ 目录下,文件后缀是 .gpg。
警告
请记得用实际的URL和密钥文件替换示例中的占位符。
注意事项
- 在添加第三方存储库时,要确保来源的可信度。
- 保持密钥和存储库列表的更新,以确保系统的安全性。
- 在进行密钥或存储库的更改后,运行
sudo apt update来应用这些更改。