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
)。