主题
软件包管理
Debian 和 Ubuntu 使用 APT 管理软件包。APT 从软件源解析依赖,并调用 dpkg 完成底层安装。
软件源
APT 从软件源获取软件包索引和安装文件。常见配置位置:
bash
/etc/apt/sources.list
/etc/apt/sources.list.d/*.list
/etc/apt/sources.list.d/*.sources.list 使用传统的单行格式,.sources 使用结构化的 deb822 格式。两个版本均支持这两种格式,新安装默认使用 deb822:
| 系统 | 默认配置位置 | 格式 |
|---|---|---|
| Debian 13 | /etc/apt/sources.list.d/debian.sources | deb822 |
| Ubuntu 26.04 | /etc/apt/sources.list.d/ubuntu.sources | deb822 |
查看软件源
bash
# 查看软件源及软件包优先级
apt-cache policydeb822 格式
md
Types: deb
URIs: https://example.com/debian
Suites: trixie
Components: main
Signed-By: /etc/apt/keyrings/example.gpg| 字段 | 说明 |
|---|---|
Types | 软件包类型,通常为 deb |
URIs | 软件源地址 |
Suites | 发行版代号或分支,如 trixie、resolute |
Components | 仓库组件,如 main、contrib |
Signed-By | 用于验证该软件源的密钥文件 |
第三方软件源应单独建立配置文件,并通过 Signed-By 指定独立密钥,避免使用已废弃的 apt-key。
APT
APT 负责更新、安装、卸载和查询软件包,并自动处理依赖关系。
更新与升级
bash
# 更新软件包列表
apt update
# 升级已安装的软件包
apt upgrade
# 允许按需安装或移除依赖,以完成完整升级
apt full-upgrade
# 查看可升级的软件包
apt list --upgradable安装与卸载
bash
# 安装软件包
apt install PACKAGE_NAME
# 安装本地 deb 包并自动处理依赖
apt install ./PACKAGE.deb
# 卸载软件包
apt remove PACKAGE_NAME
# 同时删除软件包的系统级配置
apt purge PACKAGE_NAME
# 删除不再需要的自动安装依赖
apt autoremove
# 重新安装软件包
apt reinstall PACKAGE_NAME查询
bash
# 搜索软件包
apt search PACKAGE_NAME
# 查看软件包信息
apt show PACKAGE_NAME
# 查看已安装的软件包
apt list --installeddpkg
dpkg 是 Debian 软件包的底层管理工具,直接操作 .deb 文件,不负责从软件源下载软件包。
日常安装本地软件包优先使用 apt install ./xxx.deb,可自动处理依赖关系。
安装与卸载
bash
# 安装本地 deb 包
dpkg -i PACKAGE.deb
# 删除软件包,保留系统级配置
dpkg --remove PACKAGE_NAME
# 删除软件包及其系统级配置
dpkg --purge PACKAGE_NAME
# 继续配置被中断的软件包
dpkg --configure -a查询
bash
# 查看已安装的软件包
dpkg --list
# 查看软件包状态
dpkg --status PACKAGE_NAME
# 查看软件包安装的文件
dpkg --listfiles PACKAGE_NAME
# 查询文件属于哪个软件包
dpkg --search FILE_PATH
# 查看 deb 包信息
dpkg --info PACKAGE.deb