web-dev-qa-db-fra.com

Comment inspecter et valider un paquet deb avant l'installation?

Je souhaite en savoir autant que possible sur un package .deb avant de l'installer. Une quantité importante de métadonnées est générée lors de la création de packages standard et je sais qu'il existe également des packages signés, tels que ceux des référentiels de distribution.

Ce n'est pas la réponse Je cherche. Bien sûr, je peux ouvrir le paquet avec file-roller et trouver la date de compilation de cette façon, mais je veux aller au-delà de cela. Je pense à quelque chose de comparable à la manière dont vous vérifiez les certificats TLS dans Firefox.

Questions clés:

  • Quand le paquet a-t-il été construit?
  • Si possible par qui ou où le paquet a-t-il été construit?
  • Quelles sont les dépendances? (Lien vers la bonne réponse pour l'exhaustivité.)
  • Le colis est-il signé?
    • Qui ou quoi l'a signé?

En ce qui concerne le dernier point, je connais les fichiers .dsc, même s’ils ne sont généralement pas proposés sur des sites tiers. (Peut-être devrions-nous sensibiliser ici pour que cela change dans le futur.)

Vous pouvez utiliser google-chrome comme exemple pour les packages tiers.

15
LiveWireBT

Les fichiers deb normaux ne contiennent pas toutes les données dont vous avez besoin, sauf que vous pouvez obtenir dpkg-deb --info ou consulter le fichier DEBIAN/control.

Vous pouvez avoir des fichiers DSC avec ces données si vous téléchargez à partir du tableau de bord ou des référentiels officiels.

Les fichiers Deb ne sont pas signés par défaut. La recommandation générale est de ne pas installer les paquets deb à partir de sites non fiables.

Il n'y a pas d'instruments de sécurité spéciaux dans les paquets Debian.

10
Pilot6

Utilisez ceci:

dpkg-deb --info <deb file>

Préférez utiliser apt si vous avez besoin qu'ils soient signés.

12
user23013

Tout ce dont vous avez besoin est

dpkg -I package.deb

Voici un exemple de sortie d'un paquet nommé hostapd_2.1-0ubuntu1.2_AMD64.deb sur mon 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]>

Et un autre au hasard appelé 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
3
Mark Kirby

essayez apt-cache show <package-name>

Vous obtiendrez beaucoup de métadonnées (Mainteneur, Mainteneur d'origine, Dépend, MD5), mais peut-être pas tout ce que vous cherchez.

1
el_tigro

Je veux donner une solution conviviale basée sur une interface graphique. J'utilise Ubuntu Mate 18.04

  1. Double-cliquez sur le fichier .deb. Il ouvrira à Gdebi. S'il n'est pas déjà installé, vous pouvez installer Gdebi en utilisant Sudo apt-get install gdebi.

    enter image description here

  2. Lorsque vous double-cliquez sur le fichier .deb, vous pouvez trouver le nom du package, les dépendances, les fichiers à installer, l'emplacement, etc.

  3. Si vous décidez d'installer le paquet, utilisez Install Package

1
blueray