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

17

Je veux en savoir autant que possible sur un .debpackage avant de l'installer. Il y a une quantité importante de métadonnées générées lors de la construction régulière de packages et je sais qu'il existe également des packages signés comme ceux des référentiels de distribution.

Ce n'est pas la réponse que je cherche. Bien sûr, je peux ouvrir le package avec file-roller et trouver la date de construction de cette façon, mais je veux aller plus loin. Je pense à quelque chose de comparable à la façon dont vous vérifiez les certificats TLS dans Firefox.

Questions clés:

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

Concernant le dernier point, je connais .dsc fichiers, bien que ceux-ci ne soient généralement pas proposés sur les sites tiers. (Peut-être devrions-nous sensibiliser ici afin que cela change à l'avenir.)

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

LiveWireBT
la source

Réponses:

11

Les fichiers deb normaux ne contiennent pas toutes les données dont vous avez besoin, sauf que vous pouvez vous en sortir dpkg-deb --infoou consulter le DEBIAN/controlfichier.

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 packages deb à partir de sites auxquels vous ne faites pas confiance.

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

Pilot6
la source
16

Utilisez ceci:

dpkg-deb --info <deb file>

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

user23013
la source
5

Tout ce dont vous avez besoin est

dpkg -I package.deb

Voici un exemple de package nommé hostapd_2.1-0ubuntu1.2_amd64.debsur 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
Mark Kirby
la source
1

essayer 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 recherchez.

el_tigro
la source
2
Veuillez lire attentivement: avant l' installation
LiveWireBT
Cela s'applique uniquement aux référentiels.
Pilot6
1

Je veux donner une solution conviviale de bureau 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 à l'aide de sudo apt-get install gdebi.

    entrez la description de l'image ici

  2. Lorsque vous double-cliquez sur le fichier .deb, vous pouvez trouver le nom du package, les dépendances, les fichiers qu'il va installer et où et bien plus encore.

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

Blue Ray
la source