dpkg的用法
转载: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的用法的更多相关文章
- linux中管理包的apt和dpkg命令用法
1,apt-get命令 apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸 ...
- dpkg的用法 (转)
dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...
- ubuntu包管理命令apt和dpkg的用法
apt-get命令: apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载 ...
- Linux下dpkg的用法
转自:http://blog.csdn.net/fireblue1990/article/details/52627952 dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理 ...
- 转载:ubuntu 下的dpkg 的用法
dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...
- Debian系Linux的dpkg命令
dpkg "是"Debian Packager "的简写.为 "Debian" 专门开发的套件管理系统,方便软件的安装.更新及移除.所有源自" ...
- 如何在Ubuntu下安装”.deb“、”.bin“、”.tar.gz“、”.tar.bz2“格式的软件包!
今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的“.deb”格式的安装文件google-chrome-stable.deb双击后或者右键快捷菜单选择 Synap ...
- Debian系统简要说明
Debian这个是我最喜欢也是比较熟悉的一个系统了,BD下做个简要说明 一,APT以及dpkg常见用法如下:功能具体语句 软件源设置 /etc/apt/sources.list 更新软件源数据 ...
- [转]Ubuntu 16.04安装有道词典
原文:https://www.cnblogs.com/scplee/archive/2016/05/13/5489024.html 以前用Ubuntu 14.04 的时候,直接下载有道词典官方deb安 ...
随机推荐
- Jquery 操作页面中iframe自动跟随窗口大小变化,而页面不出现滚动条,只在iframe内部出滚动条
很多时候大家需要iframe自适应所加载的页面高度而不要iframe滚动条,但是这次我需要的是页面不需要滚动条而iframe要滚动条,且iframe自动跟随窗口大小变化.自适应页面大小.下面是代码,下 ...
- Azure中国版 制作镜像 捕捉镜像
因为项目需要需要部署多台功能一样的服务器,简单来说是多台nginx服务器.如果按照原始的做法,是新建vm,然后一台台部署相关服务. 现在Azrue已经可以通过捕获镜像的方式创建vm镜像模板,然后按照创 ...
- Liunx更新源
不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度(ping下就行),选择最快的源可以节省大批下载时间. 首先备份源列表: sudo cp /etc/apt/sources.l ...
- C# JackLib系列之GdiHelper圆角矩形的快速生成
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- hdu 2881 Jack's struggle(DP)
对于所有的任务所在的地点按照时间排序,可以将其看成是一道非常简单的“天上掉馅饼”的题的二维版本. 将这些任务看成从天而降的馅饼,统计有哪些之前馅饼掉落的位置可以在两者时间差内到达该点的点,取其最大值. ...
- hdoj 5327 Olmpiad
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5327 #include<stdio.h> #include<cstring> ...
- Dubbo远程调用服务框架原理与示例
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 主要核心部件: Remoting: 网络通信框架 ...
- Android Fragment详解
一.什么是Fragment Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的 ...
- Microchip 125 kHz RFID System Design Guide
Passive RFID Basics - AN680 INTRODUCTION Radio Frequency Identification (RFID) systems use radio fre ...
- myeclipse 10 载入新的项目报错Cannot return from outside a function or method
myeclipse 10 载入新的项目报错Cannot return from outside a function or method 解决方法: 方法一: window -->prefere ...