dpkg 是 Debian 及其衍生系统(如 Ubuntu)中用于管理 .deb 软件包的核心工具。以下是其常用命令及功能的详细说明:
1. 安装/卸载软件包
安装本地
.deb包sudo dpkg -i package.deb- 若依赖缺失,安装后需运行
sudo apt install -f修复。
- 若依赖缺失,安装后需运行
卸载软件包(保留配置)
sudo dpkg -r package-name彻底卸载(删除配置)
sudo dpkg -P package-name
2. 查询软件包信息
列出所有已安装的包
dpkg -l- 支持通配符过滤:
dpkg -l 'libc6*'
- 支持通配符过滤:
检查某个包是否安装
dpkg -l package-name查看包的详细信息(版本、依赖等)
dpkg -s package-name列出包安装的文件
dpkg -L package-name查找文件所属的包
dpkg -S /path/to/file
3. 处理 .deb 文件内容
列出
.deb包中的文件dpkg -c package.deb解压
.deb包到目录(不安装)dpkg -x package.deb target-directory/
4. 维护与修复
重新配置已安装的包
sudo dpkg-reconfigure package-name修复未完成的安装/配置
sudo dpkg --configure -a检查损坏的包
dpkg --audit
修复损坏的包安装
dpkg --repair-package package-name
5. 状态标识解析
在 dpkg -l 的输出中,每行前两字符表示包状态:
- 期望状态(第一列):\
u(未知)、i(安装)、r(删除)、p(清除)、h(保留)。 - 当前状态(第二列):\
n(未安装)、i(已安装)、c(仅配置保留)、u(已解压未配置)等。
常见组合:
ii:已正确安装。rc:已卸载,但配置未删除。
6. 依赖处理
dpkg不自动解决依赖,需配合apt使用:sudo apt install -f # 修复依赖 sudo apt install ./package.deb # 用 apt 安装本地包(自动处理依赖)
总结
- 适用场景:直接操作
.deb文件、查询包信息、手动管理软件包。 - 注意事项:依赖问题需结合
apt解决,谨慎使用强制参数(如--force-all)。