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

12

Eu quero saber o máximo possível sobre um pacote .deb antes de instalá-lo. Há uma quantidade significativa de metadados gerados durante a criação regular de pacotes e sei que também há 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 file-roller e encontrar a data de construção dessa maneira, mas quero ir além disso. Penso em algo comparável a como você verifica os certificados TLS no Firefox.

Principais perguntas:

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

Com relação ao último ponto, eu sei sobre .dsc arquivos, embora eles geralmente não sejam oferecidos em sites de terceiros. (Talvez devêssemos aumentar a conscientização aqui para que isso mude no futuro.)

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

    
por LiveWireBT 30.06.2015 / 12:20

5 respostas

7

Os arquivos deb normais não contêm todos os dados que você precisa, exceto que você pode obter por dpkg-deb --info ou procurar no arquivo DEBIAN/control .

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

Os arquivos de 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.

    
por Pilot6 30.06.2015 / 13:07
8

Use isto:

dpkg-deb --info <deb file>

Prefira usar o apt se você precisar que eles sejam assinados.

    
por user23013 30.06.2015 / 12:45
1

tente apt-cache show <package-name>

Você receberá muitos metadados (Mantenedor, Mantenedor Original, Dependências, MD5), mas talvez nem tudo que esteja procurando.

    
por el_tigro 30.06.2015 / 12:40
1

Tudo o que você precisa é

dpkg -I package.deb

Aqui está a saída de amostra de um pacote chamado hostapd_2.1-0ubuntu1.2_amd64.deb no 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 outra aleatoriamente chamada 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
    
por Mark Kirby 30.06.2015 / 13:10
0

Eu quero dar uma solução amigável ao usuário 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 .

  2. Quando você clica duas vezes no arquivo .deb, pode encontrar o nome do pacote, as dependências, os arquivos que ele instalará, onde e muito mais.

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

por blueray 24.05.2018 / 15:44