¿Cómo inspeccionar y validar un paquete deb antes de la instalación?

17

Quiero saber lo más posible sobre un .debpaquete antes de instalarlo. Se genera una cantidad significativa de metadatos durante la creación de paquetes regulares y sé que también hay paquetes firmados como los de los repositorios de distribución.

Esta no es la respuesta que estoy buscando. Por supuesto, puedo abrir el paquete con file-roller y encontrar la fecha de compilación de esta manera, pero quiero ir más allá. Pienso en algo comparable a cómo verificas los certificados TLS en Firefox.

Preguntas clave:

  • ¿Cuándo se construyó el paquete?
  • Si es posible, ¿por quién o dónde se construyó el paquete?
  • ¿Cuáles son las dependencias? (Enlace a una buena respuesta para completar).
  • ¿Está firmado el paquete?
    • ¿Quién o qué lo firmó?

Con respecto al último punto, conozco los .dscarchivos, aunque generalmente no se ofrecen en sitios de terceros. (Tal vez deberíamos crear conciencia aquí para que esto cambie en el futuro).

Puede usar google-chrome como ejemplo para paquetes de terceros.

LiveWireBT
fuente

Respuestas:

11

Los archivos deb normales no contienen todos los datos que necesita, excepto que puede obtener dpkg-deb --infoo buscar en el DEBIAN/controlarchivo.

Puede tener archivos dsc con estos datos, si los descarga desde launchpad o repositorios oficiales.

Los archivos Deb no están firmados por defecto. La recomendación general es no instalar paquetes deb desde sitios en los que no confía.

No hay instrumentos especiales de seguridad en los paquetes de Debian.

Piloto6
fuente
16

Utilizar esta:

dpkg-deb --info <deb file>

Prefiere usar apt si necesita que se firmen.

usuario23013
fuente
5

Todo lo que necesitas es

dpkg -I package.deb

Aquí hay una muestra de un paquete nombrado hostapd_2.1-0ubuntu1.2_amd64.deben mi 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]>

Y otro al azar llamado 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
fuente
1

tratar apt-cache show <package-name>

Obtendrá muchos metadatos (Maintainer, Original Maintainer, Depends, MD5) pero quizás no todo lo que está buscando.

el_tigro
fuente
2
Lea atentamente: antes de la instalación
LiveWireBT
Esto es aplicable solo a los repositorios.
Pilot6
1

Quiero dar una solución amigable para el usuario de escritorio basada en GUI. Estoy usando Ubuntu Mate 18.04

  1. Haga doble clic en el archivo .deb. Se abrirá en Gdebi. Si aún no está instalado, puede instalar Gdebi usando sudo apt-get install gdebi.

    ingrese la descripción de la imagen aquí

  2. Cuando hace doble clic en el archivo .deb, puede encontrar el Nombre del paquete, Dependencias, Qué archivos instalará y dónde y mucho más.

  3. Si decide instalar el paquete, use Install Package

rayo azul
fuente