Bagaimana cara memeriksa dan memvalidasi paket deb sebelum instalasi?

17

Saya ingin tahu sebanyak mungkin tentang suatu .debpaket sebelum saya menginstalnya. Ada sejumlah besar metadata yang dihasilkan selama pembangunan paket reguler dan saya tahu bahwa ada juga paket-paket yang ditandatangani seperti yang ada di repositori distribusi.

Ini bukan jawaban yang saya cari. Tentu saja saya dapat membuka paket dengan file-roller dan menemukan tanggal pembuatan dengan cara ini, tetapi saya ingin lebih dari itu. Saya memikirkan sesuatu yang sebanding dengan cara Anda memeriksa sertifikat TLS di Firefox.

Pertanyaan kunci:

  • Kapan paket dibangun?
  • Jika memungkinkan oleh siapa atau di mana paket itu dibuat?
  • Apa ketergantungannya? (Tautan ke jawaban yang bagus untuk kelengkapan.)
  • Apakah paket sudah ditandatangani?
    • Siapa atau apa yang menandatanganinya?

Mengenai poin terakhir, saya tahu tentang .dscfile, meskipun ini biasanya tidak ditawarkan di situs pihak ke-3. (Mungkin kita harus meningkatkan kesadaran di sini sehingga ini akan berubah di masa depan.)

Anda dapat menggunakan google-chrome sebagai contoh untuk paket pihak ke-3.

LiveWireBT
sumber

Jawaban:

11

File deb normal tidak berisi semua data yang Anda butuhkan, kecuali bahwa Anda dapat mengakses dpkg-deb --infoatau melihat DEBIAN/controlfile.

Anda dapat memiliki file dsc dengan data ini, jika Anda mengunduh dari launchpad atau repositori resmi.

File deb tidak ditandatangani secara default. Rekomendasi umum adalah jangan menginstal paket deb dari situs yang tidak Anda percayai.

Tidak ada instrumen keamanan khusus dalam paket Debian.

Pilot6
sumber
16

Gunakan ini:

dpkg-deb --info <deb file>

Lebih suka menggunakan apt jika Anda membutuhkannya untuk ditandatangani.

pengguna23013
sumber
5

Yang Anda butuhkan hanyalah

dpkg -I package.deb

Berikut adalah contoh put paket yang disebutkan hostapd_2.1-0ubuntu1.2_amd64.debdi PC saya

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

Dan satu lagi secara acak disebut 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
sumber
1

mencoba apt-cache show <package-name>

Anda akan mendapatkan banyak metadata (Maintainer, Original Maintainer, Depends, MD5) tetapi mungkin tidak semua yang Anda cari.

el_tigro
sumber
2
Harap baca dengan cermat: sebelum instalasi
LiveWireBT
Ini hanya berlaku untuk repositori.
Pilot6
1

Saya ingin memberikan solusi ramah pengguna desktop berbasis GUI. Saya menggunakan Ubuntu Mate 18.04

  1. Klik dua kali file deb. Ini akan terbuka di Gdebi. Jika belum diinstal, Anda dapat menginstal Gdebi menggunakan sudo apt-get install gdebi.

    masukkan deskripsi gambar di sini

  2. Ketika Anda mengklik dua kali file deb., Anda dapat menemukan Nama Paket, Ketergantungan, File mana yang akan diinstal dan di mana dan banyak lagi.

  3. Jika Anda memutuskan untuk menginstal penggunaan paket Install Package

sinar biru
sumber