Ubuntu 下查看并提取deb软件包里的文件
August 23, 2017
本文将会讲述如何在Ubuntu系统下查看并提取其特有的deb软件包里的文件的方法。
下面我们通过两种方法来提取ubuntu系统下的deb软件包。
首先我们先通过下面的apt-get命令下载一个deb软件包:
$ sudo apt-get download wget
命令输出:
获取:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 wget amd64 1.17.1-1ubuntu1.2 [298 kB] 已下载 298 kB,耗时 0秒 (396 kB/s)
查看下载的deb软件包:
$ ls wget* wget_1.17.1-1ubuntu1.2_amd64.deb
Table of Contents
方法一:使用ar工具来提取ubuntu里的.deb 软件包
1# 安装ar 工具
执行下面的命令:
$ sudo apt-get install binutils
命令输出如下:
正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 binutils 已经是最新版 (2.26.1-1ubuntu1~16.04.4)。 binutils 已设置为手动安装。 下列软件包是自动安装的并且现在不需要了: gyp javascript-common libjs-inherits libjs-jquery libjs-node-uuid libjs-underscore libnvpair1linux libssl-dev libssl-doc libuutil1linux libuv1-dev libzfs2linux libzpool2linux python-pkg-resources zfs-doc zlib1g-dev 使用'apt autoremove'来卸载它(它们)。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
2# 使用ar命令提取.deb 包
执行下面的命令:
$ ar vx wget_1.17.1-1ubuntu1.2_amd64.deb
命令输出如下:
x - debian-binary x - control.tar.gz x - data.tar.xz
3# 使用tar 解压缩命令将上面的压缩文件解压缩
$ tar -xvf control.tar.gz
方法二:通过dpkg-deb命令来提取deb软件包内容
命令格式如下:
dpkg-deb -xv {deb软件包} {提取到目的路径}
执行下面的命令:
$ dpkg-deb -xv wget_1.17.1-1ubuntu1.2_amd64.deb ./test
命令输出如下:
./ ./usr/ ./usr/share/ ./usr/share/doc/ ./usr/share/doc/wget/ ./usr/share/doc/wget/NEWS.gz ./usr/share/doc/wget/MAILING-LIST ./usr/share/doc/wget/changelog.Debian.gz ./usr/share/doc/wget/AUTHORS ./usr/share/doc/wget/copyright ./usr/share/doc/wget/README ./usr/share/info/ ./usr/share/info/wget.info.gz ./usr/share/man/ ./usr/share/man/man1/ ./usr/share/man/man1/wget.1.gz ./usr/bin/ ./usr/bin/wget ./etc/ ./etc/wgetrc
只查看deb软件包内容不做提取操作
执行下面的命令:
Dpkg -c {deb软件包}
$ dpkg -c wget_1.17.1-1ubuntu1.2_amd64.deb
命令输出如下:
drwxr-xr-x root/root 0 2017-03-08 21:56 ./ drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/ drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/share/ drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/share/doc/ drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/share/doc/wget/ -rw-r--r-- root/root 13445 2015-12-12 01:29 ./usr/share/doc/wget/NEWS.gz -rw-r--r-- root/root 1957 2015-11-30 22:07 ./usr/share/doc/wget/MAILING-LIST -rw-r--r-- root/root 1427 2017-03-08 21:56 ./usr/share/doc/wget/changelog.Debian.gz -rw-r--r-- root/root 2182 2015-11-30 22:07 ./usr/share/doc/wget/AUTHORS -rw-r--r-- root/root 1420 2012-04-10 01:48 ./usr/share/doc/wget/copyright -rw-r--r-- root/root 4064 2015-11-30 22:07 ./usr/share/doc/wget/README drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/share/info/ -rw-r--r-- root/root 69543 2017-03-08 21:56 ./usr/share/info/wget.info.gz drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/share/man/ drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/share/man/man1/ -rw-r--r-- root/root 34040 2017-03-08 21:56 ./usr/share/man/man1/wget.1.gz drwxr-xr-x root/root 0 2017-03-08 21:56 ./usr/bin/ -rwxr-xr-x root/root 474656 2017-03-08 21:56 ./usr/bin/wget drwxr-xr-x root/root 0 2017-03-08 21:56 ./etc/ -rw-r--r-- root/root 4942 2017-03-08 21:56 ./etc/wgetrc