dpkg常用命令详解

一、Debian软件包简介
1、debian包简介。debian包的命名格式为:PackageName_VVV-RRR.deb(其中VVV和RRR分别代表该软件包的版本号和修订版本号)。VVV是软件本身的开发者制定的,所以没有统一的标准。
2、软件包的关联性。Unix的中心思想之一是:一个软件只完成一件事,然后以后的软件应会利用现有的工具来实现自己的目的。这一是开源模式下,大家共同开发的成功的模式。那么,这造成linux系统内普遍存在2个复杂的问题,程序的依赖性,程序之间的冲突问题。debian为了解决这2个问题,引入了一系列定义来解决软件包的依赖性,用来描述独立运行程序A与现存系统中的程序B之间存在的关联程度。
1、软件包A依赖(depends)软件包B:要运行A必须安装B。在某些情况下,A不仅依赖B,还依赖B的特殊版本。版本依赖通常有最低限制,A更依赖于B的最新版本而非某个特定的版本。
2、软件包A推荐(recommends)软件包B:软件包维护者认为所有用户都不希望缺少某些功能的A,而这些功能需要B来提供。
3、软件包A建议(suggests)软件包B:B中某些文件与A的功能相关(通常能增强其功能)。
4、软件包A与软件包B冲突(conflicts):如果系统中安装了B,那么A无法运行。多数情况下,冲突是由于A中包含了B中文件的改进版。“Conflicts“ 常与”replaces“同时出现。
5、软件包A替换(replaces)软件包B:B安装的文件被A中的文件移除和覆盖了。
6、软件包A提供(provides)软件包B:A中包含了B中的所有文件和功能。这种机制为那些受限于磁盘空间的用户提供了一个途径,只安装A中他们只需要的部分。
二、dpkg包管理简介。
dpkg是个较底层的工具,自己不能解决软件包的依赖问题,apt命令更适合解决依赖问题。系统所有的packages的信息都在“/var/lib/dpkg/“目录下,其中子目录“/var/lib/dpkg/info“用于保存各个软件包的信息及管理文件。
.conffiles 记录了软件包的配置文件列表
.list 保存软件包中的文件列表,用户可以从".list"的信息中找到软件包中文件的具体安装位置。
.md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的。
.prerm 脚本负责停止与软件包关联的daemon服务,在删除软件包关联文件之前执行。
.postrm 脚本负责修改软件包链接或文件关联,或删除由它创建的文件。
.config 是进行软件包安装配置的脚本。
.preinst 脚本在Debian包解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成。
.postinst 脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务的重新启动。
三、查询已经安装的软件包的信息
1、查询系统已安装所有deb包的信息:dpkg -l(list的l)  通过该命令和less与grep配合使用,可以实现复杂的查询。
2、查询已安装包的详细信息:dpkg -s 包名
3、查询某个文件属于那个包:dpkg -S 文件名
4、查询系统已安装包的文件位置:dpkg -L 包名
四、获取某个deb包的信息。
1、查询某个deb包的详细信息:dpkg -I(字母i的大写),通常用于从互联网单独下载的deb包。
2、查询deb包的所有文件:dpkg -c
五、安装软件包。
1、安装某个单独的软件包:dpkg -i ,该命令用于手动安装deb包,它不能解决依赖性问题,因此只建议在第三方软件包中使用。
2、解决软件包的依赖性问题。正如上文所说,如果遇到了依赖性问题,可以使用下面命令解决。
dpkg -i 包名     (结果遇到依赖性问题,需要安装其他的包)
apt-get -f install   (使用它就可以自动下载上面所需要的包了)
六、卸载软件包。
1、卸载软件包:dpkg -r 包名 ,该命令不卸载配置文件,且不能自动解决依赖性问题,但会给出相应的提示。
2、完全卸载:dpkg -P 包名 , 同样不会解决依赖性,但会删除配置文件。
3、重新配置软件包:dpkg-reconfigure 包名 ,就可显示出第一次安装该包时出现的配置对话框了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值