Linux命令之dpkg命令

本文详细介绍了dpkg命令在Debian/Ubuntu系统中的作用,包括命令的使用示例、常用参数和功能,以及与apt-get的区别,重点强调了dpkg在处理特定软件包安装和管理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、dpkg命令简介

  “dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。dpkg本身是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包以及处理复杂的软件包关系。 “dpkg”字母分别是d:Debian,p:package,k:keeprule,g:generate,dpkg是“Debian Package Keeprule Generate”的简写。

二、命令使用示例

1、获取命令帮助

root@test:~# dpkg --help
在这里插入图片描述

2、查看命令版本

root@test:~# dpkg --version
Debian dpkg 软件包管理程序 1.19.7 (amd64) 版。
本软件是自由软件;要获知复制该软件的条件,请参阅 GNU 公共许可证
第二版或其更新的版本。本软件【不】提供任何担保。

3、-i安装deb包

  使用-i或者–install参数安装指定的deb软件包,dpkg命令与rpm包管理器一样,需要手动解决依赖,如果遇到依赖包未安装会报错并终止安装。

root@test:/opt# dpkg -i elpa-simple-httpd_1.5.1-5_all.deb
在这里插入图片描述
在这里插入图片描述

4、-l列出所有已安装软件包

  dpkg -l命令列出所有已安装的软件包,如果后面跟上包名则表示简明地列出软件包的状态。

root@test:/opt# dpkg -l
在这里插入图片描述

5、-L列出已安装软件包列表

root@test:/opt# dpkg -L vim
在这里插入图片描述

6、-s显示已安装软件包的详细信息

root@test:/opt# dpkg -s vim
在这里插入图片描述

7、-S查询一个文件属于哪个软件包

root@test:/opt# dpkg -S httpd
在这里插入图片描述

8、-r卸载一个软件包

root@test:/opt# dpkg -r wget
在这里插入图片描述

9、-P完成删除一个软件包及配置

root@test:/opt# dpkg -P elpa-simple-httpd
(正在读取数据库 … 系统当前共安装有 231637 个文件和目录。)
正在卸载 elpa-simple-httpd (1.5.1-5) …

10、-V验证软件包是否安装

  使用-V验证软件包是否被安装,这里要求包名是完整的,比如这里安装完成elpa-simple-httpd之后验证httpd还是会提示未安装。

root@test:/opt# dpkg -V elpa-simple-httpd
dpkg: 软件包 elpa-simple-httpd 没有被安装

三、使用语法及参数简介

1、使用语法

用法:dpkg [<选项> …] <命令>

2、参数简介

参数参数说明
-i安装软件包。
-r删除软件包。
-P完全删除软件包,包括配置文件。
-l列出已安装的软件包。
-s显示软件包的详细信息。
-L列出软件包的文件列表。
-S查找指定文件属于哪个软件包。
-c显示软件包的内容列表。
-G忽略版本早于已安装软件版本的的软件包。
-I显示软件包的详细信息,包括依赖关系。
-C检查是否有软件包残损。
-l列出软件包的状态。
-R重新配置软件包。
-V验证软件包的完整性。
-B构建二进制软件包。
-b构建源代码软件包。
–get-selections把已选中的软件包列表打印到标准输出。
–set-selections从标准输入里读出要选择的软件。
–clear-selections取消选中所有不必要的软件包。
–update-avail替换现有可安装的软件包信息。
–merge-avail把文件中的信息合并到系统中。
–clear-avail清除现有的软件包信息。
–forget-old-unavail忘却已被卸载的不可安装的软件包。
–yet-to-unpack列出标记为待解压的软件包。
–predep-package列出待解压的预依赖。
–add-architecture <体系结构>添加 <体系结构> 到体系结构列表。
–remove-architecture <体系结构>从架构列表中移除 <体系结构>。
–print-architecture显示 dpkg 体系结构。
–print-foreign-architectures显示已启用的异质体系结构。
–assert-<特性>对指定特性启用断言支持。
–validate-<属性> <字符串>验证一个 <属性>的 <字符串>。
–compare-vesions <a> <关系> <b>比较版本号 - 见下。
–force-help显示本强制选项的帮助信息。
-Dh–debug=help
-?, --help显示本帮助信息。
–version显示版本信息。

四、总结

  dpkg命令参数很多,实际运维工作中我们很少使用dpkg命令安装软件包,更多使用的是apt-get命令安装,apt可以自动解决依赖包的问题。dpkg命令主要用安装/etc/apt/sources.list源中找不到的软件包,比如安全厂商的vpn、系统厂商自研的软件包等。dpkg命令我们只需要记住常用的dpkg -i安装软件包,dpkg -r卸载软件包,dpkg -l列出软件包,dpkg -S查找软件包即可。另外还有一个就是dpkg -i前先确认包是否已经安装,如果已经安装执行了该命令之后如果出现错误可能导致包无法使用。这个时候我们可以使用apt --fix-broken install修复已经安装的软件包。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒悦sunsite

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值