转载:http://blog.csdn.net/sunjiajiang/article/details/7252593

dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。
下面是它的一些命令解释:
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 <Packages-file>
7)合并软件包信息
dpkg –merge-avail <Packages-file>
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 direc×y [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

上面这个命令比较有用,比如当我们需要知道下载ps的源代码,但是又不知道包含ps的源码包的名称,那么我们可以采用如下命令:

which  ps    //目的是查找本机的ps命令在哪个目录,以便下一步进行筛选

dpkg  -S ps | grep "/bin/ps"  //如果不进行筛选,打印的信息太多,不易查找

pengdl@debian:~/trunk/hisiv100nptl$ which ps
/bin/ps
pengdl@debian:~/trunk/hisiv100nptl$ dpkg -S ps | grep "/bin/ps"
perl: /usr/bin/psed
kbd: /usr/bin/psfstriptable
ghostscript: /usr/bin/ps2pdfwr
netpbm: /usr/bin/pstopnm
ghostscript: /usr/bin/ps2txt
ghostscript: /usr/bin/ps2pdf12
ghostscript: /usr/bin/ps2pdf13
ghostscript: /usr/bin/ps2pdf14
ghostscript: /usr/bin/ps2ascii
psmisc: /usr/bin/pstree.x11
perl: /usr/bin/pstruct
ghostscript: /usr/bin/ps2ps
ghostscript: /usr/bin/ps2pdf
kbd: /usr/bin/psfxtable
procps: /bin/ps
kbd: /usr/bin/psfaddtable
kbd: /usr/bin/psfgettable
ghostscript: /usr/bin/ps2ps2
netpbm: /usr/bin/psidtopgm
psmisc: /usr/bin/pstree
ghostscript: /usr/bin/ps2epsi
pengdl@debian:~/trunk/hisiv100nptl$

从上图中procps:/bin/ps可以看到ps所在的软件包的名字是 procps。

25)显示包的具体信息

命令行:dpkg -p package-name
示例:dpkg -p cacti

最后
1、很多人抱怨用了Ubuntu或者Debian以后,不知道自己的软件给安装到什么地方了。其实可以用上面的dpkg -L命令来方便的查找。看来基础还是非常重要的,图形界面并不能够包办一切。
2、有的时候,用“新力得”下载完成以后,没有配置,系统会提示用“dpkg –configure -all”来配置,具体为什么也可以从上面看到。
3、现在Edgy里面可以看到Deb的信息。不过是在没有安装的时候(当然也可以重新打开那个包),可以看到Deb的文件路径。
4、如果想暂时删除程序以后再安装,第5项还是比较实用的,毕竟在Linux下面配置一个软件也并非容易。

dpkg安装软件 与Linux软件包依赖介绍

linux软件包依赖关系:是一个软件的安装,需要安装另外一个软件进行支持的一种现象。在windows也存在,但因为很多基础 dll都被windows集成了,所以并不明显。但在linux体系中,因为多个开源软件开发者并不成为一个体系,因而依赖关系向来比较复杂,解决依赖关系也是让很多人比较头疼的问题。

linux中,采用apt或者yum等常常能自动解决依赖关系,但往往我们也需要一些软件源里不存在的软件进行安装。LD源自ubuntu,而 ubuntu又基于debian,故LD中,这些无法用apt来安装的软件我们一般用dpkg来安装,dpkg可以提示是否符合依赖关系,但不会自动解决。“dpkg ”是“Debian Package ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。

安装这类软件,首先我们先看是否存在适用于ubuntu 32位的deb包(比如virtualbox,我们不想装ose版,就可以去http://www.virtualbox.org/下载ubuntu的32位版,注意扩展名,文件名应为*.deb)。

下载后,用dpkg进行安装:

dpkg -i package.deb ###安装包

dpkg -r package ###删除包

dpkg -P package ###删除包(包括配置文件)

dpkg -L package ###列出与该包关联的文件

dpkg -l package ###显示该包的版本

dpkg --unpack package.deb ###解开 deb 包的内容

dpkg -S keyword ###搜索所属的包内容

dpkg -l ###列出当前已安装的包

dpkg -c package.deb ###列出 deb 包的内容

dpkg --configure package ###配置包

dpkg-reconfigure package   ###重新配制一个已经安装的包裹

dpkg-reconfigure --frontend=dialog debconf ###如果安装时选错了配置信息,这里可以改回来.

dpkg --force-all --purge ###有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险.

更多选项可通过 dpkg -h 查询,有些指令需要超级用户权限才能执行,故执行时,一般需 在dpkg 前加sudo (例:sudo dpkg -i package.deb)。

dpkg配置及缓存信息:系统中所有的包信息都在/var/lib/dpkg下.其中/var/lib/dpkg/info目录中保存了各个软件包的信息及管理文件. 提供这些信息仅供了解,一般不需要更改。

每个文件的作用如下:

".conffiles" 文件记录软件包的配置列表.

".list" 文件记录了软件包的文件列表,用户可在文件当中找到软件包文件的具体安装位置.

".md5sums" 文件记录了md5信息,用来进行包的验证的.

".config" 文件是软件包的安装配置脚本.

".postinst" 脚本是完成Debian包解开之后的配置工作,通常用来执行所安装软件包相关的命令和服务的重新启动.

".preinst" 脚本在Debain解包之前运行,主要作用是是停止作用于即将升级的软件包服务直到软件包安装或和升级完成.

".prerm" 脚本负责停止与软件包关联的daemon服务,在删除软件包关联文件之前执行.

".postrm" 脚本负责修改软件包链接或文件关联,或删除由它创建的文件.

/var/lib/dpkg/available是软件包的描述信息.

包括当前系统中所有使用的Debian安装源中所有的软件包,还包括当前系统中已经安装和未安装的软件包.

 

dpkg的用法的更多相关文章

  1. linux中管理包的apt和dpkg命令用法

    1,apt-get命令 apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸 ...

  2. dpkg的用法 (转)

    dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...

  3. ubuntu包管理命令apt和dpkg的用法

    apt-get命令: apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载 ...

  4. Linux下dpkg的用法

    转自:http://blog.csdn.net/fireblue1990/article/details/52627952 dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理 ...

  5. 转载:ubuntu 下的dpkg 的用法

    dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...

  6. Debian系Linux的dpkg命令

    dpkg "是"Debian Packager "的简写.为 "Debian" 专门开发的套件管理系统,方便软件的安装.更新及移除.所有源自" ...

  7. 如何在Ubuntu下安装”.deb“、”.bin“、”.tar.gz“、”.tar.bz2“格式的软件包!

    今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的“.deb”格式的安装文件google-chrome-stable.deb双击后或者右键快捷菜单选择 Synap ...

  8. Debian系统简要说明

    Debian这个是我最喜欢也是比较熟悉的一个系统了,BD下做个简要说明 一,APT以及dpkg常见用法如下:功能具体语句 软件源设置     /etc/apt/sources.list 更新软件源数据 ...

  9. [转]Ubuntu 16.04安装有道词典

    原文:https://www.cnblogs.com/scplee/archive/2016/05/13/5489024.html 以前用Ubuntu 14.04 的时候,直接下载有道词典官方deb安 ...

随机推荐

  1. QCon 2013 上海 -- 高并发可用

      高并发可用应该是这次QCon的主要议题,目测超过一半的话题都在讨论这个主题或者和这个主题相关.看到Yun关于AWS re:Invent的总结,好像这个在AWS上也是很热的一个主题.就我个人而言,没 ...

  2. jszs 快速排序

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. fdquery update

    fdquery  update this->FDQuery1->CachedUpdates; this->FDQuery1->UpdateOptions->KeyFiel ...

  4. this compilation unit is not on the build of a java project

    this compilation unit is not on the build of a java project java里输入代码就出这个提示,无法写代码了. 找到觉得路径打开文件编辑就好了, ...

  5. OC动态特性

    今天是2.15周日,快要过年了,我以一个实习生的身份在公司工作了快要两个月了吧,什么是北漂,北漂就是感觉生活节奏变了,以前困了可以上课睡觉,累了可以回家休息数周,人际交往乏了,可以躲起来看着窗外的雨或 ...

  6. emWin(ucGUI)在PC机上模拟的按键响应多次解决办法 worldsing

    emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的 ...

  7. circle area

    circle area Github 链接:传送门 本次作业要求 Create a program that asks for the radius of a circle and prints th ...

  8. HDU 2437 Jerboas (剪枝搜索)

    题意:给定一幅图,图上有两种点T,P.......一只跳鼠在一个T点作为起始点,它想通过图上的路到达某个P点,P点满足如下要求: (1).到达P点的途中路径权值为k的倍数 (2).尽量让路径权值取最小 ...

  9. CentOS6 下MySQL option file

    my.cnf内容如下 # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/e ...

  10. 启动tomcat时 一闪而过解决方法

    1 首先确定JAVA 已经配好了环境变量,具体配置方法,找一下度娘. 测试方法:进入cmd -> javac -version 能看到JAVA的版本信息,证明配置成功了. 2 分析一下问题出现的 ...