Jak sprawdzić i zweryfikować pakiet deb przed instalacją?

17

Chcę wiedzieć jak najwięcej o .debpakiecie przed jego zainstalowaniem. Podczas budowania pakietów generowana jest znaczna ilość metadanych i wiem, że istnieją również podpisane pakiety, takie jak te z repozytoriów dystrybucji.

Nie takiej odpowiedzi szukam. Oczywiście mogę otworzyć pakiet za pomocą rolki plików i w ten sposób znaleźć datę kompilacji, ale chcę wyjść poza to. Myślę o czymś porównywalnym do sposobu sprawdzania certyfikatów TLS w przeglądarce Firefox.

Kluczowe pytania:

  • Kiedy zbudowano pakiet?
  • Jeśli to możliwe, przez kogo lub gdzie zbudowano pakiet?
  • Jakie są zależności? (Link do dobrej odpowiedzi dla kompletności.)
  • Czy paczka jest podpisana?
    • Kto lub co to podpisało?

Jeśli chodzi o ostatni punkt, wiem o .dscplikach, chociaż zwykle nie są one oferowane w witrynach stron trzecich. (Być może powinniśmy podnieść tutaj świadomość, aby zmieniło się to w przyszłości).

Możesz użyć google-chrome jako przykładu dla pakietów innych firm.

LiveWireBT
źródło

Odpowiedzi:

11

Normalne pliki deb nie zawierają wszystkich potrzebnych danych, z wyjątkiem tego, że można się do nich dostać dpkg-deb --infolub przejrzeć DEBIAN/controlplik.

Możesz mieć pliki dsc z tymi danymi, jeśli pobierasz je ze startera lub oficjalnych repozytoriów.

Pliki Deb nie są domyślnie podpisywane. Ogólnie zaleca się, aby nie instalować pakietów deb z witryn, którym nie ufasz.

W pakietach Debian nie ma specjalnych instrumentów bezpieczeństwa.

Pilot 6
źródło
16

Użyj tego:

dpkg-deb --info <deb file>

Wolisz używać apt, jeśli chcesz je podpisać.

użytkownik23013
źródło
5

Wszystko czego potrzebujesz to

dpkg -I package.deb

Oto przykładowy pakiet o nazwie hostapd_2.1-0ubuntu1.2_amd64.debna moim komputerze

 ~$ 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]>

I inny losowo nazywany 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
źródło
1

próbować apt-cache show <package-name>

Otrzymasz wiele metadanych (Maintainer, Original Maintainer, Depends, MD5), ale może nie wszystko, czego szukasz.

el_tigro
źródło
2
Przeczytaj uważnie: przed instalacją
LiveWireBT
Dotyczy to tylko repozytoriów.
Pilot6
1

Chcę stworzyć przyjazne dla użytkownika rozwiązanie oparte na graficznym interfejsie użytkownika. Używam Ubuntu Mate 18.04

  1. Kliknij dwukrotnie plik .deb. Otworzy się w Gdebi. Jeśli nie jest jeszcze zainstalowany, możesz zainstalować Gdebi za pomocą sudo apt-get install gdebi.

    wprowadź opis zdjęcia tutaj

  2. Po dwukrotnym kliknięciu pliku .deb można znaleźć nazwę pakietu, zależności, które pliki zostanie zainstalowane oraz gdzie i wiele więcej.

  3. Jeśli zdecydujesz się zainstalować pakiet użyj Install Package

Blue Ray
źródło