打开没有 `dpkg` 的 Debian 软件包文件

打开没有 `dpkg` 的 Debian 软件包文件

我需要deb在 MacOS High Sierra 中打开 Debian 软件包文件,以将二进制文件与我在 Linux 中安装的二进制文件进行比较。

其实这个包是mssql-server_14.0.3008.27-1_amd64.deb

命令fileDebian binary package (format 2.0)

tar x并且unzip不工作。

该怎么办?

答案1

实际文件的外层.deb实际上是一个ar存档。

由于解压/打开它会生成一些文件,我们最好将其移动到一个目录:

$ mkdir debtmp
$ mv mssql-server_14.0.3008.27-1_amd64.deb 
$ cd debtmp

因此,作为第一步,打开它,我们这样做:

$ ar xv mssql-server_14.0.3008.27-1_amd64.deb 
x - debian-binary
x - control.tar.gz
x - data.tar.xz

至于生成的文件,debian-binary仅包含 .deb 格式版本:

$ cat debian-binary 
2.0

control.tar.gz包含 apt/dpkg 信息,包括后/前/安装脚本、依赖项和校验和文件。所以我们现在实际上对此不太感兴趣。

$ tar -tvf control.tar.gz 
drwxr-xr-x  0 root   root        0 18 Nov 04:55 ./
-rw-r--r--  0 root   root      546 18 Nov 04:55 ./control
-rw-r--r--  0 root   root       25 18 Nov 04:55 ./shlibs
-rwxr-xr-x  0 root   root      383 18 Nov 04:55 ./preinst
-rwxr-xr-x  0 root   root      107 18 Nov 04:55 ./config
-rwxr-xr-x  0 root   root      289 18 Nov 04:55 ./postrm
-rw-r--r--  0 root   root        0 18 Nov 04:54 ./templates
-rwxr-xr-x  0 root   root      251 18 Nov 04:55 ./prerm
-rw-r--r--  0 root   root       60 18 Nov 04:55 ./triggers
-rwxr-xr-x  0 root   root      771 18 Nov 04:55 ./postinst
-rw-r--r--  0 root   root     6155 18 Nov 04:55 ./md5sums

然后我们对该文件更感兴趣data.tar.zx,因为它包含配置文件和可执行文件。

首先,我们需要安装xz,使用Mac端口tar因为我们正在处理这个.deb文件中的.tar.xz.

sudo port install xz

.tar.gz注意:在您可能还会处理的评论和其他 .debs中已经引起了我的注意——但是 macOS 是默认.tar.gz附带gunzip并安装的。bzip2

因此,要解压它:

$ tar xvf data.tar.xz 
x ./
x ./opt/
x ./opt/mssql/
x ./opt/mssql/bin/
x ./opt/mssql/bin/sqlservr
x ./opt/mssql/bin/crash-support-functions.sh
[snip]
x ./usr/share/doc/mssql-server/license_Std_Linux.txt.gz
x ./usr/share/doc/mssql-server/license_Eval_Linux_Chinese (Simplified).txt.gz
x ./usr/share/doc/mssql-server/license_Std_Linux_French.txt.gz
x ./lib/
x ./lib/systemd/
x ./lib/systemd/system/
x ./lib/systemd/system/mssql-server.service

最后,将所有文件放在本地磁盘上,可以从目录中获取二进制文件opt/mssql/bin/

附加说明:根据@AustinHemmelgarn 的精彩评论,最后一步也可能会遇到gzipbzip2而不是xz其他.deb文件中的压缩。

相关内容