一、简介
ubuntu与centos系统命令行和程序包使用有些差异,这里对Ubuntu系统下的dpkg程序包管理工具使用做简单记录。
centos程序包管理工具对应说明参考:Linux深入学习【十四】——程序包rpm管理
二、dpkg常用命令
dpkg常见用法: man dpkg
dpkg -i package.deb 安装包
dpkg -r package 删除包,不建议,不自动卸载依赖于它的包
dpkg -P package 删除包(包括配置文件)
dpkg -l 列出当前已安装的包,类似rpm -qa
dpkg -l package 显示该包的简要说明,类似rpm –qi
dpkg -L package 列出该包中所包含的文件,类似rpm –ql
dpkg -S < pattern> 搜索包含pattern的包,类似rpm –qf
dpkg -s package 列出该包的状态,包括详细信息,类似rpm –qi
dpkg –configure package 配置包,-a 使用,配置所有没有配置的软件包
dpkg -c package.deb 列出 deb 包的内容,类似rpm –qpl
dpkg –unpack package.deb 解开 deb 包的内容
三、使用案例:
1.问题:需要查看某个二进制程序(如下:iwlist)由哪个程序包提供?
ecs-64a3 ~ ➜ iwlist
Usage: iwlist [interface] scanning [essid NNN] [last]
[interface] frequency
[interface] channel
[interface] bitrate
[interface] rate
[interface] encryption
[interface] keys
[interface] power
[interface] txpower
[interface] retry
[interface] ap
[interface] accesspoints
[interface] peers
[interface] event
[interface] auth
[interface] wpakeys
[interface] genie
[interface] modulation
2.解决办法:
1)查看此二进制文件的位置(绝对路径)
ecs-64a3 ~ ✗ which iwlist
/sbin/iwlist
2)通过dpkg命令查看iwlist命令行工具由哪个程序包提供
ecs-64a3 ~ ✗ dpkg -S /sbin/iwlist
wireless-tools: /sbin/iwlist
3)安装此程序包
ecs-64a3 ~ ➜ apt install wireless-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
wireless-tools is already the newest version (30~pre9-12ubuntu1).
wireless-tools set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 98 not upgraded.
其他使用案例
如果觉得 dpkg 的参数过多, 不利于记忆的话, 完全可以使用 dpkg-query 进行 dpkg 数据库查询.
应用范例:
查询系统中属于nano的文件:
$ dpkg –listfiles nano
or
$ dpkg-query -L nano
查看软件nano的详细信息:
$ dpkg -s nano
or
$ dpkg-query -s nano
查看系统中软件包状态, 支持模糊查询:
$ dpkg -l
or
$dpkg-query -l
查看某个文件的归属包:
$ dpkg-query -S nano
or
评论前必须登录!
注册