查询 的dpkg的数据库和检查 deb文件。 文件
我们将从几个开始 的dpkg 查询内部 dpkg 数据库的选项。 该数据库驻留在文件系统上 /var/lib/dpkg 并包含多个部分,包括配置脚本(/var/lib/dpkg/信息), 软件包安装的文件列表 (/var/lib/dpkg/info/*. 列表),以及已安装的每个包的状态 (/var/lib/dpkg/状态)。 你可以使用 的dpkg 与此数据库中的文件进行交互。 请注意,大多数选项在很长一段时间内都可用
版本(一个或多个相关单词,前面有双破折号)和短版(一个字母,通常是长版中一个单词的首字母,前面有一个破折号)。 这个约定是如此普遍,以至于它是一个 POSIX 标准。
首先,让我们来看看 --列表文件 包 (或 -L),其中列出了由指定包安装的文件:
$ dpkg -L 基本密码
/.
在/ usr
/ usr / sbin
/usr/sbin/更新密码
在/ usr /股
/usr/share/林田
/usr/share/lintian/覆盖
/usr/share/lintian/overrides/base-passwd
/usr/share/文档库
/usr/share/doc-base/用户和组
/usr/share/基本密码
/usr/share/base-passwd/group.master
/usr/share/base-passwd/passwd.master
/ usr / share / man
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz [...]
/ usr /共享/ doc
/usr/share/doc/基本密码
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/版权
/usr/share/doc/base-passwd/自述文件
/usr/share/doc/base-passwd/users-and-groups.html
$ dpkg -L 基本密码
/.
在/ usr
/ usr / sbin
/usr/sbin/更新密码
在/ usr /股
/usr/share/林田
/usr/share/lintian/覆盖
/usr/share/lintian/overrides/base-passwd
/usr/share/文档库
/usr/share/doc-base/用户和组
/usr/share/基本密码
/usr/share/base-passwd/group.master
/usr/share/base-passwd/passwd.master
/ usr / share / man
/usr/share/man/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz [...]
/ usr /共享/ doc
/usr/share/doc/基本密码
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/版权
/usr/share/doc/base-passwd/自述文件
/usr/share/doc/base-passwd/users-and-groups.html
接下来, dpkg --搜索 文件 (或 -S),查找包含在参数中传递的文件或路径的任何包。 例如,要查找包含 /bin/日期:
$ dpkg -S /bin/日期
核心工具:/bin/date
$ dpkg -S /bin/日期
核心工具:/bin/date
这个 dpkg --状态 包 (或 -s) 命令显示已安装包的标头。 例如,要在标题中搜索 核心工具 包装:
$ dpkg -s 核心工具 包:coreutils 基本:是
状态:安装ok安装
$ dpkg -s 核心工具 包:coreutils 基本:是
状态:安装ok安装
优先级:必需部分:utils 已安装大小:13855
维护者:迈克尔·斯通[电子邮件保护]> 架构:amd64
Multi-Arch:国外版本:8.23-3
替换:mktemp、realpath、超时
预依赖:libacl1 (>= 2.2.51-8)、libattr1 (>= 1:2.4.46-8)、libc6 (>= 2.17)、
➥ libselinux1 (>= 2.1.13) 冲突:超时
描述:GNU 核心实用程序
这个包包含基本的文件、shell 和文本操作实用程序,这些实用程序应该存在于每个操作系统上。
.
具体来说,这个包包括:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false flock fmt fold groups head hostid id install join link ln logname ls md5sum mkdir mkfifo mknod nlhv nice numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty unexpand uniq unlink users vdir wc who who yes
主页:http://gnu.org/software/coreutils
优先级:必需部分:utils 已安装大小:13855
维护者:迈克尔·斯通[电子邮件保护]> 架构:amd64
Multi-Arch:国外版本:8.23-3
替换:mktemp、realpath、超时
预依赖:libacl1 (>= 2.2.51-8)、libattr1 (>= 1:2.4.46-8)、libc6 (>= 2.17)、
➥ libselinux1 (>= 2.1.13) 冲突:超时
描述:GNU 核心实用程序
这个包包含基本的文件、shell 和文本操作实用程序,这些实用程序应该存在于每个操作系统上。
.
具体来说,这个包包括:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false flock fmt fold groups head hostid id install join link ln logname ls md5sum mkdir mkfifo mknod nlhv nice numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty unexpand uniq unlink users vdir wc who who yes
主页:http://gnu.org/software/coreutils
amd64
amd64
后门事实 3.4.2-0kali1 全部
备份忍者备份电脑猴面包树
后门事实 3.4.2-0kali1 全部
备份忍者备份电脑猴面包树
3.22.1-1
3.22.1-1
amd64
amd64
这个 dpkg--列表 (或 -l) 命令显示系统已知的软件包列表及其安装状态。 你也可以使用 grep的 在输出上搜索某些字段,或提供通配符(例如 b*) 来搜索匹配特定部分搜索字符串的包。 这将显示包的摘要。 例如,要显示所有以 'b' 开头的包的摘要列表:
$ dpkg -l 'b*'
所需=未知/安装/删除/清除/保留
| 状态=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(无)/需要重新安装(状态,Err:大写=坏)
||/ 名称 版本 架构描述
+++-==============-==============-============-====== ============================
$ dpkg -l 'b*'
所需=未知/安装/删除/清除/保留
| 状态=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(无)/需要重新安装(状态,Err:大写=坏)
||/ 名称 版本 架构描述
+++-==============-==============-============-====== ============================
ii
ii 联合国 ii
b43-fwcutter
1:019-3
用于提取 Broadcom 4 的实用程序
使用 shell 修补 win32/64 二进制文件(无可用描述)
(没有可用的描述)
GNOME 磁盘使用分析器
ii
ii 联合国 ii
[...]
[...]
这个 dpkg --内容 文件.deb (或 -c) 命令列出特定文件中的所有文件 deb文件。 文件:
$ dpkg -c /var/cache/apt/archives/gnupg_1.4.18-6_amd64.deb
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./lib/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./lib/udev/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./lib/udev/rules.d/
-rw-r--r-- 根/根 2711 2014-12-04 23:03 ./lib/udev/rules.d/60-gnupg.rules
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/lib/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/lib/gnupg/
-rwxr-xr-x 根/根 39328 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_ldap
-rwxr-xr-x root/root 92872 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_hkp
-rwxr-xr-x 根/根 47576 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_finger
-rwxr-xr-x 根/根 84648 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_curl
-rwxr-xr-x 根/根 3499 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_mailto
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/bin/
-rwxr-xr-x 根/根 60128 2014-12-04 23:03 ./usr/bin/gpgsplit
-rwxr-xr-x 根/根 1012688 2014-12-04 23:03 ./usr/bin/gpg [...]
$ dpkg -c /var/cache/apt/archives/gnupg_1.4.18-6_amd64.deb
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./lib/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./lib/udev/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./lib/udev/rules.d/
-rw-r--r-- 根/根 2711 2014-12-04 23:03 ./lib/udev/rules.d/60-gnupg.rules
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/lib/
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/lib/gnupg/
-rwxr-xr-x 根/根 39328 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_ldap
-rwxr-xr-x root/root 92872 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_hkp
-rwxr-xr-x 根/根 47576 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_finger
-rwxr-xr-x 根/根 84648 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_curl
-rwxr-xr-x 根/根 3499 2014-12-04 23:03 ./usr/lib/gnupg/gpgkeys_mailto
drwxr-xr-x 根/根 0 2014-12-04 23:03 ./usr/bin/
-rwxr-xr-x 根/根 60128 2014-12-04 23:03 ./usr/bin/gpgsplit
-rwxr-xr-x 根/根 1012688 2014-12-04 23:03 ./usr/bin/gpg [...]
这个 dpkg--信息 文件.deb (或 -I) 命令显示指定的标题 deb文件。 文件:
$ dpkg -I /var/cache/apt/archives/gnupg_1.4.18-6_amd64.deb
新的 debian 包,版本 2.0。
大小 1148362 字节:控制存档 = 3422 字节。
$ dpkg -I /var/cache/apt/archives/gnupg_1.4.18-6_amd64.deb
新的 debian 包,版本 2.0。
大小 1148362 字节:控制存档 = 3422 字节。
1264 字节,
4521 字节,
479 字节,
473 字节,包:gnupg 版本:1.4.18-6
26线
65线
13线
13线
控制
md5sums
* 后安装
* 预加载
#!/ bin / sh的
#!/ bin / sh的
1264 字节,
4521 字节,
479 字节,
473 字节,包:gnupg 版本:1.4.18-6
架构:amd64
维护者:Debian GnuPG 维护者[电子邮件保护]> 安装数量:4888
取决于:gpgv、libbz2-1.0、libc6 (>= 2.15)、libreadline6 (>= 6.0)、libusb-0.1-4 (>=
➥ 2:0.1.12), zlib1g (>= 1:1.1.4)
推荐:gnupg-curl、libldap-2.4-2 (>= 2.4.7)
建议:gnupg-doc、libpcsclite1、parcimonie、xloadimage | 图像魔术| eog 部分:utils
优先级:重要多架构:外国
主页:http://www.gnupg.org
描述:GNU 隐私保护 - 免费的 PGP 替代品
GnuPG 是 GNU 用于安全通信和数据存储的工具。 它可用于加密数据和创建数字签名。 它包括一个先进的密钥管理设施,并符合
架构:amd64
维护者:Debian GnuPG 维护者[电子邮件保护]> 安装数量:4888
取决于:gpgv、libbz2-1.0、libc6 (>= 2.15)、libreadline6 (>= 6.0)、libusb-0.1-4 (>=
➥ 2:0.1.12), zlib1g (>= 1:1.1.4)
推荐:gnupg-curl、libldap-2.4-2 (>= 2.4.7)
建议:gnupg-doc、libpcsclite1、parcimonie、xloadimage | 图像魔术| eog 部分:utils
优先级:重要多架构:外国
主页:http://www.gnupg.org
描述:GNU 隐私保护 - 免费的 PGP 替代品
GnuPG 是 GNU 用于安全通信和数据存储的工具。 它可用于加密数据和创建数字签名。 它包括一个先进的密钥管理设施,并符合
使用 RFC 4880 中描述的提议的 OpenPGP Internet 标准。 [...]
使用 RFC 4880 中描述的提议的 OpenPGP Internet 标准。 [...]
您还可以使用 的dpkg 将包版本号与 --比较版本 选项,通常由外部程序调用,包括由执行的配置脚本 的dpkg 本身。 此选项需要三个参数:版本号、比较运算符和第二个版本号。 不同的可能操作符是: lt (严格小于), le (小于或等于), eq (平等的), ne (不等于), ge (大于或等于),和 gt (严格大于)。 如果比较正确, 的dpkg 返回 0(成功); 如果不是,它给出一个非零的返回值(表示失败)。 考虑这些比较:
$ dpkg --比较版本 1.2-3 gt 1.1-4
$ 回声 $?
0
$ dpkg --比较版本 1.2-3 lt 1.1-4
$ 回声 $?
1
$ dpkg --比较版本 2.6.0pre3-1 lt 2.6.0-1
$ 回声 $?
1
$ dpkg --比较版本 1.2-3 gt 1.1-4
$ 回声 $?
0
$ dpkg --比较版本 1.2-3 lt 1.1-4
$ 回声 $?
1
$ dpkg --比较版本 2.6.0pre3-1 lt 2.6.0-1
$ 回声 $?
1
注意最后一次比较的意外失败:对于 的dpkg, 字符串 ”预”(通常表示预发布)没有特别的含义,并且 的dpkg 简单地将其解释为字符串,在这种情况下”2. 6.0pre3-1“按字母顺序大于”2.6.0-1”。 当我们希望包的版本号表明它是预发布时,我们使用波浪号字符,“~“
$ dpkg --比较版本 2.6.0~pre3-1 lt 2.6.0-1
$ 回声 $?
0
$ dpkg --比较版本 2.6.0~pre3-1 lt 2.6.0-1
$ 回声 $?
0