使用Debian或Ubuntu的linux用户肯定都用过或听过dpkg命令。“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”。

我的问题

先说先我使用时的疑问。在使用dpkg -l列出软件列表后,

看到前面有列出ii或者rc,而且有的软件安装了不同的版本,感觉很奇怪。而且像wine,我在安装1.7时已经卸载了1.6,可是软件列表中还能看见。

通过查询,原来,

ii 表示软件正常安装

rc表示软件已卸载,可是配置文件还在。

知道原因,那么应该只要查出配置文件就可以了,一个一个查找删除非常的麻烦,好在dpkg给我们提供了一个简单的方法,可以通过以下命令进行清理。

dpkg -l | grep ^rc | cut -d' ' -f3 | sudo xargs dpkg --purge

补充

后来看到更为详细的讲解。

每条记录对应一个软件包, 注意每条记录的第一, 二, 三个字符. 这就是软件包的状态标识, 后边依此是软件包名称, 版本号, 和简单描述.

* 第一字符为期望值,它包括:

u 状态未知,这意味着软件包未安装,并且用户也未发出安装请求.

i 用户请求安装软件包.

r 用户请求卸载软件包.

p 用户请求清除软件包.

h 用户请求保持软件包版本锁定.

* 第二列,是软件包的当前状态.此列包括软件包的六种状态.

n 软件包未安装.

i 软件包安装并完成配置.

c 软件包以前安装过,现在删除了,但是它的配置文件还留在系统中.

u 软件包被解包,但还未配置.

f 试图配置软件包,但是失败了.

h 软件包安装,但是但是没有成功.

* 第三列标识错误状态,可以总结为四种状态. 第一种状态标识没有问题,为空. 其它三种符号则标识相应问题.

h 软件包被强制保持,因为有其它软件包依赖需求,无法升级.

r 软件包被破坏,可能需要重新安装才能正常使用(包括删除).

x 软包件被破坏,并且被强制保持.

dpkg的用法

问题解决了,下面记录下dpkg的常见用法。

1)安装软件

命令:dpkg -i <.deb file name>

示例:dpkg -i avg71flm_r28-1_i386.deb

2)安装一个目录下面所有的软件包

命令:dpkg -R

示例:dpkg -R /usr/local/src

3)释放软件包,但是不进行配置

命令:dpkg –-unpack package_file 如果和-R一起使用,参数可以是一个目录

示例:dpkg –-unpack avg71flm_r28-1_i386.deb

4)重新配置和释放软件包

命令:dpkg –configure package_file

如果和-a一起使用,将配置所有没有配置的软件包

示例:dpkg –configure avg71flm_r28-1_i386.deb

5)删除软件包(保留其配置信息)

命令:dpkg -r

示例:dpkg -r avg71flm

6)替代软件包的信息

命令:dpkg –update-avail

7)合并软件包信息

dpkg –merge-avail

8)从软件包里面读取软件的信息

命令:dpkg -A package_file

9)删除一个包(包括配置信息)

命令:dpkg -P

10)丢失所有的Uninstall的软件包信息

命令:dpkg –forget-old-unavail

11)删除软件包的Avaliable信息

命令:dpkg –clear-avail

12)查找只有部分安装的软件包信息

命令:dpkg -C

13)比较同一个包的不同版本之间的差别

命令:dpkg –compare-versions ver1 op ver2

14)显示帮助信息

命令:dpkg –help

15)显示dpkg的Licence

命令:dpkg –licence (or) dpkg –license

16)显示dpkg的版本号

命令:dpkg –version

17)建立一个deb文件

命令:dpkg -b directory [filename]

18)显示一个Deb文件的目录

命令:dpkg -c filename

19)显示一个Deb的说明

命令:dpkg -I filename [control-file]

20)搜索Deb包

命令:dpkg -l package-name-pattern

示例:dpkg -I vim

21)显示所有已经安装的Deb包,同时显示版本号以及简短说明

命令:dpkg -l

22)报告指定包的状态信息

命令:dpkg -s package-name

示例:dpkg -s ssh

23)显示一个包安装到系统里面的文件目录信息

命令:dpkg -L package-Name

示例:dpkg -L apache2

24)搜索指定包里面的文件(模糊查询)

命令:dpkg -S filename-search-pattern

25)显示包的具体信息

命令:dpkg -p package-name

示例:dpkg -p cacti

linux dhcp服务软包,dpkg包管理器详解相关推荐

  1. linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解

    这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载 ...

  2. python布局管理_Python基础=== Tkinter Grid布局管理器详解

    本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html          @ 箬笠蓑衣 Grid(网格)布局管理器会将控件放置到一个二维的表 ...

  3. NLB网路负载均衡管理器详解

    原文:NLB网路负载均衡管理器详解 序言 在上一篇配置iis负载均衡中我们使用啦微软的ARR,我在那篇文章也中提到了网站的高可用性,但是ARR只能做请求入口的消息分发服务,这样如果我们的消息分发服务器 ...

  4. linux命令(五)——文件权限管理命令详解

    文章目录 权限管理 一.ACL权限 1.ACL简介 2.查看和设定ACL权限 3.最大有效权限与删除ACL权限 4.默认ACL权限和递归ACL权限(都只是针对文件的) 二.文件特殊权限 1.SetUI ...

  5. Java布局管理器详解

    很多初学[Java教程]的小伙伴对Java布局管理器不是很了解,下面小编就来给大家进行详细介绍. 边框布局管理器 BorderLayout(边框布局管理器)是 Window.JFrame 和 JDia ...

  6. spring的annotation-driven配置事务管理器详解

    来源:http://blog.sina.com.cn/s/blog_8f61307b0100ynfb.html 这篇文章是我从ITeye上复制来的,看了一遍,觉得很深刻,决定把他复制来,对原作者表示感 ...

  7. python grid函数_(转)Python Tkinter Grid布局管理器详解

    Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 什么时候使用Grid管理器 grid管理器是Tkinter里面 ...

  8. Java GUI(图形用户界面)-----GridLayout(网格布局管理器)详解

    GridLayout(网格布局管理器) 可以把容器分成n行m列大小相等的网格,每个网格放置一个组件,按照从左往右,从上往下的顺序依次添加,放置在Gird Layout布局管理器的组件将自动占据网格的整 ...

  9. Jar/War/Ear等包的作用与区别详解

    Jar/War/Ear等包的作用与区别详解 以客户角度来看,jar文件就是一种封装格式,用户不需要知道jar包中有多少个.class格式的文件及每个文件中的功能与作用,也可以得到相应的访问的结果.ja ...

最新文章

  1. linux c下输入密码不回显
  2. html里面的crossorigin属性,HTML5 标签里的 crossorigin 属性到底有什么用? | Chrisyue's Blog...
  3. python中add_Python add()函数是如何使用呢?
  4. centOS7安装matlab2014a
  5. QTableView修改数据后弹出是否保存的提示框。
  6. Leader-Follower线程模型
  7. 百度cpc联盟的漏洞?还是内鬼?
  8. Tomcat发布项目后JS中文乱码
  9. oracle磁带库清洁带标签,LTO-1/2/3/4/5/6/7/8 Ultrium数据磁带 清洗带 清洁带 磁带标签批发...
  10. php获取ICON图标
  11. 用CSS样式制作小三角和小箭头
  12. 如何形象的理解泰勒展开
  13. java web开发常见问题_javaWeb开发中常见的问题
  14. HTML练习—东风破
  15. 企服三会·PPT | 企业微信陆昊:让每个企业都有自己的微信
  16. 计算机科学ESI 2020年7月,2020年7月ESI学科高水平论文134篇
  17. 互联网企业数据安全体系建设(美团点评)
  18. 四则运算——结对项目报告
  19. 聚焦医疗数字化转型 浪潮信息帮助医院提升诊疗效率 保障业务持续运行
  20. 软件设计——蚂蚁采购配送系统

热门文章

  1. rust石头墙几个c4_石头在景观中的运用
  2. Win11系统语言修改不了中文怎么办
  3. Chrome浏览器可以修改特定页面背景色吗?Chrome浏览器修改特定页面背景色的方法
  4. drupal ajax 分页,在drupal中使用Ajax时要保持一个404
  5. 暴露的全局方法_期末考试快到了,这4种错误的考试复习方法,越复习越差劲!...
  6. 轮询、长轮询与Web Socket的前端实现
  7. RedisTemplate常用集合使用说明-opsForZSet(六)
  8. lambda表达式或者匿名函数中为什么要求外部变量为final
  9. Collections.synchronizedList使用
  10. android 界面组件,安卓开发学习周第三篇——Android中的UI组件