如何在安装之前检查并验证 deb 包?

如何在安装之前检查并验证 deb 包?

我希望在安装软件包之前尽可能多地了解.deb它。在常规软件包构建过程中会生成大量元数据,而且我知道还有像来自发行版存储库的软件包一样经过签名的软件包。

这不是答案我正在寻找。当然,我可以用 file-roller 打开包并以此方式找到构建日期,但我想做的不止于此。我想到了一些类似于在 Firefox 中检查 TLS 证书的方法。

关键问题:

  • 该软件包是什么时候构建的?
  • 如果可能的话,这个包是由谁或者在哪里构建的?
  • 依赖关系是什么?(链接到完整的好答案。)
  • 包裹签收了吗?
    • 谁或什么签署了它?

关于最后一点,我知道.dsc文件,尽管第三方网站通常不提供这些文件。(也许我们应该在这里提高认识,以便将来这种情况会有所改变。)

您可以使用 google-chrome 作为第三方软件包的示例。

答案1

用这个:

dpkg-deb --info <deb file>

如果您需要对它们进行签名,请优先使用 apt。

答案2

普通的 deb 文件不包含您需要的所有数据,除非您可以通过文件获取dpkg-deb --info或查看DEBIAN/control

如果您从启动板或官方存储库下载,则可以获得包含此数据的 dsc 文件。

Deb 文件默认未签名。一般建议不要安装来自不信任站点的 deb 软件包。

Debian 软件包中没有特殊的安全工具。

答案3

你所需要的是

dpkg -I package.deb

hostapd_2.1-0ubuntu1.2_amd64.deb这是我的电脑上某个包的示例输出

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

另一个人随机叫道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

答案4

我想提供一个基于 GUI 的桌面用户友好解决方案。我正在使用 Ubuntu Mate 18.04

  1. 双击 .deb 文件。它将在 Gdebi 中打开。如果尚未安装,您可以使用 安装 Gdebi sudo apt-get install gdebi

    在此处输入图片描述

  2. 双击 .deb 文件时,您可以找到软件包名称、依赖项、将安装哪些文件以及安装位置等等。

  3. 如果你决定安装该软件包,请使用Install Package

相关内容