Como inspecionar e validar um pacote deb antes da instalação?

17

Quero saber o máximo possível sobre um .debpacote antes de instalá-lo. Há uma quantidade significativa de metadados gerados durante a criação regular de pacotes e eu sei que também existem pacotes assinados, como os dos repositórios de distribuição.

Esta não é a resposta que estou procurando. É claro que posso abrir o pacote com o rolo de arquivo e encontrar a data de compilação dessa maneira, mas quero ir além disso. Penso em algo comparável à forma como você verifica os certificados TLS no Firefox.

Questões-chave:

  • Quando o pacote foi construído?
  • Se possível, por quem ou onde o pacote foi construído?
  • Quais são as dependências? (Link para uma boa resposta para que esteja completo.)
  • O pacote está assinado?
    • Quem ou o que assinou?

Quanto ao último ponto, eu sei sobre .dscarquivos, embora eles geralmente não sejam oferecidos em sites de terceiros. (Talvez devêssemos conscientizar aqui para que isso mude no futuro.)

Você pode usar o google-chrome como exemplo para pacotes de terceiros.

LiveWireBT
fonte

Respostas:

11

Os arquivos deb normais não contêm todos os dados que você precisa, exceto que você pode se dar bem dpkg-deb --infoou procurar no DEBIAN/controlarquivo.

Você pode ter arquivos dsc com esses dados, se fizer o download na barra de ativação ou nos repositórios oficiais.

Arquivos Deb não são assinados por padrão. A recomendação geral não é instalar pacotes deb de sites nos quais você não confia.

Não há instrumentos especiais de segurança nos pacotes Debian.

Pilot6
fonte
16

Usa isto:

dpkg-deb --info <deb file>

Prefira usar o apt se precisar que eles sejam assinados.

user23013
fonte
5

Tudo que você precisa é

dpkg -I package.deb

Aqui está uma amostra do pacote nomeado hostapd_2.1-0ubuntu1.2_amd64.debno meu PC

 ~$ dpkg -I '/home/mark/hostapd_2.1-0ubuntu1.2_amd64.deb' 
 new debian package, version 2.0.
 size 422472 bytes: control archive=2619 bytes.
      66 bytes,     3 lines      conffiles            
    1537 bytes,    31 lines      control              
    1085 bytes,    15 lines      md5sums              
    1375 bytes,    53 lines   *  postinst             #!/bin/sh
     359 bytes,    14 lines   *  postrm               #!/bin/sh
     570 bytes,    30 lines   *  preinst              #!/bin/sh
     204 bytes,     7 lines   *  prerm                #!/bin/sh
 Package: hostapd
 Source: wpa (2.1-0ubuntu1.2)
 Version: 1:2.1-0ubuntu1.2
 Architecture: amd64
 Maintainer: Ubuntu Developers <[email protected]>
 Installed-Size: 1219
 Depends: libc6 (>= 2.15), libnl-3-200 (>= 3.2.7), libnl-genl-3-200 (>= 3.2.7), libssl1.0.0 (>= 1.0.1), lsb-base (>= 3.2-13), initscripts (>= 2.88dsf-13.3)
 Section: net
 Priority: optional
 Multi-Arch: foreign
 Homepage: http://w1.fi/wpa_supplicant/
 Description: user space IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator
  Originally, hostapd was an optional user space component for Host AP
  driver. It adds more features to the basic IEEE 802.11 management
  included in the kernel driver: using external RADIUS authentication
  server for MAC address based access control, IEEE 802.1X Authenticator
  and dynamic WEP keying, RADIUS accounting, WPA/WPA2 (IEEE 802.11i/RSN)
  Authenticator and dynamic TKIP/CCMP keying.
  .
  The current version includes support for other drivers, an integrated
  EAP authenticator (i.e., allow full authentication without requiring
  an external RADIUS authentication server), and RADIUS authentication
  server for EAP authentication.
  .
  hostapd works with the following drivers:
  .
   * mac80211 based drivers with support for master mode [linux]
   * Host AP driver for Prism2/2.5/3 [linux]
   * Driver interface for FreeBSD net80211 layer [kfreebsd]
   * Any wired Ethernet driver for wired IEEE 802.1X authentication.
 Original-Maintainer: Debian/Ubuntu wpasupplicant Maintainers <[email protected]>

E outro aleatoriamente chamado pulseaudio_6.0-90-g75dd2-1_amd64.deb

~$ dpkg -I '/home/mark/pulseaudio/pulseaudio_6.0-90-g75dd2-1_amd64.deb' 
 new debian package, version 2.0.
 size 1421422 bytes: control archive=314 bytes.
       0 bytes,     0 lines      conffiles            
     222 bytes,     9 lines      control              
 Package: pulseaudio
 Priority: extra
 Section: checkinstall
 Installed-Size: 8144
 Maintainer: root@Ubuntu
 Architecture: amd64
 Version: 6.0-90-g75dd2-1
 Provides: pulseaudio
 Description: Package created with checkinstall 1.6.2
Mark Kirby
fonte
1

experimentar apt-cache show <package-name>

Você obterá muitos metadados (mantenedor, mantenedor original, depende, MD5), mas talvez nem tudo o que procura.

el_tigro
fonte
2
Leia com atenção: antes da instalação
LiveWireBT
Isso é aplicável apenas a repositórios.
Pilot6
1

Quero fornecer uma solução amigável para o usuário de desktop baseada em GUI. Estou usando o Ubuntu Mate 18.04

  1. Clique duas vezes no arquivo .deb. Será aberto em Gdebi. Se ainda não estiver instalado, você pode instalar o Gdebi usando sudo apt-get install gdebi.

    insira a descrição da imagem aqui

  2. Quando você clica duas vezes no arquivo .deb, pode encontrar o Nome do pacote, Dependências, Quais arquivos ele instalará e onde e muito mais.

  3. Se você decidir instalar o pacote, use Install Package

raio azul
fonte