如何解压缩.deb文件而不在Debian或Ubuntu Linux上打开它
时间:2020-01-09 14:17:07 来源:igfitidea点击:
我下载了.deb Debian文件。
如何提取deb软件包而不在基于Debian或Ubuntu Linux的系统上安装它?
如何列出和提取Debian软件包的内容?
Debian或Ubuntu .deb软件包不过是老式的Unix ar存档格式。
ar命令用于将文件组作为单个存档保存在一起,.deb包括以下三个文件:
- debian-binary一个文本文件,指示.deb软件包格式的版本。
- control.tar.gz一个压缩文件,它包含md5sums和用于生成软件包的控制目录。
- data.tar.xz压缩文件,其中包含要在系统上安装的所有文件。
让我们来看看 如何使用各种命令行选项在Debian/Mint/Ubuntu Linux上列出和提取.deb软件包文件的内容。
步骤1下载.deb软件包
如下使用apt-get命令/apt命令来下载名为nginx * .deb的文件:
$ apt download nginx
或者
$ aptitude download nginx
或者
$ apt-get download nginx
输出示例:
Get:1 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx all 1.10.0-0ubuntu0.16.04.4 [3,498 B] Fetched 3,498 B in 0s (4,460 B/s)
要列出文件,请使用ls命令:
$ ls *.deb `nginx_1.10.0-0ubuntu0.16.04.4_all.deb`
步骤2使用ar命令提取.deb软件包
语法为:
ar x {file.deb}
安装ar命令
您可以使用以下apt-get命令/apt命令安装ar命令:
$ sudo apt install binutils
或者
$ sudo apt-get install binutils
要提取nginx_1.10.0-0ubuntu0.16.04.4_all.deb,请运行:
$ ar vx nginx_1.10.0-0ubuntu0.16.04.4_all.deb $ ls -l
如何提取deb包
从control.tar.gz和data.tar.gz中提取文件
输入以下tar命令:
$ tar xvf control.tar.gz $ tar data.tar.gz $ ls -l
所有文件都提取到当前目录中。
dpkg-deb命令
您也可以使用dpkg-deb命令提取.deb文件。
语法为:
$ dpkg-deb -xv {file.deb} {/path/to/where/extract}
要在/tmp /目录中提取htop_2.0.1-1ubuntu1_amd64.deb,请运行:
$ dpkg-deb -xv htop_2.0.1-1ubuntu1_amd64.deb /tmp/
要在当前目录中提取htop_2.0.1-1ubuntu1_amd64.deb,请运行:
$ dpkg-deb -xv htop_2.0.1-1ubuntu1_amd64.deb .
要从Debian软件包中提取文件,请使用dpkg-deb命令
如何在不解压Debian软件包的情况下查看其内容?
语法为:
$ dpkg -c {file.deb}
或者
$ apt-file list {packageName}
例如,要查看名为htop_2.0.1-1ubuntu1_amd64.deb的Debian软件包的内容,请运行:
$ dpkg -c htop_2.0.1-1ubuntu1_amd64.deb
使用dpkg命令查看Debian或Ubuntu Linux .deb软件包的内容
您还可以如下使用apt-file命令
默认情况下未安装apt文件。
因此,请按如下所示安装并使用它:
$ sudo apt-get install apt-file ## install ## $ sudo apt-file update ## update package cache ## $ apt-file list htop ## list htop package contents ##
使用apt-file查看debian软件包的内容