A camada externa do arquivo .deb
real é, na verdade, um arquivo ar
.
Como descompactar / abrir ele irá gerar alguns arquivos, é melhor movê-lo para um diretório:
$ mkdir debtmp
$ mv mssql-server_14.0.3008.27-1_amd64.deb
$ cd debtmp
Então, como primeiro passo, para descompactar, fazemos:
$ ar xv mssql-server_14.0.3008.27-1_amd64.deb
x - debian-binary
x - control.tar.gz
x - data.tar.xz
Quanto aos arquivos resultantes, debian-binary
contém apenas a versão do formato .deb:
$ cat debian-binary
2.0
control.tar.gz
contém as informações do apt / dpkg, incluindo scripts de post / pre / install, dependências e um arquivo de soma de verificação. Então, na verdade, não estamos muito interessados nisso.
$ 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
Estamos, então, muito mais interessados no arquivo data.tar.zx
, pois ele contém os arquivos de configuração e os arquivos executáveis.
Primeiro, precisamos instalar o xz
, usando MacPorts , pois tar
precisará invocá-lo, pois estamos lidando neste arquivo .deb
com .tar.xz
.
sudo port install xz
Nota: Foi chamado a minha atenção nos comentários que você também pode lidar com .tar.gz
e .tar.gz
em outros .debs - no entanto, o macOS vem com gunzip
e bzip2
instalado por padrão.
Então, para descompactar:
$ 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
Finalmente, tendo todos os arquivos no disco local, o binário pode ser buscado no diretório opt/mssql/bin/
Notas adicionais: De acordo com as excelentes observações do @AustinHemmelgarn, a última etapa também pode encontrar uma compactação gzip
ou bzip2
em vez de xz
em outros arquivos .deb
.