Skip to content

软件包管理

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.sourcesdeb822
Ubuntu 26.04/etc/apt/sources.list.d/ubuntu.sourcesdeb822

查看软件源

bash
# 查看软件源及软件包优先级
apt-cache policy

deb822 格式

md
Types: deb
URIs: https://example.com/debian
Suites: trixie
Components: main
Signed-By: /etc/apt/keyrings/example.gpg
字段说明
Types软件包类型,通常为 deb
URIs软件源地址
Suites发行版代号或分支,如 trixieresolute
Components仓库组件,如 maincontrib
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 --installed

dpkg

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

参考

基于 MIT 许可发布