安装前如何检查和验证Deb软件包?


17

我想.deb在安装之前尽可能多地了解软件包。在常规的程序包构建过程中会生成大量的元数据,我知道也有签名的程序包,例如来自分发存储库的程序包。

这不是我要的答案。当然,我可以使用file-roller打开软件包,并以这种方式找到构建日期,但是我想超越这个范围。我想到的东西与您在Firefox中检查TLS证书的方式类似。

关键问题:

  • 包装何时建造?
  • 如果可能的话,软件包是由谁制作的?
  • 有哪些依赖性?(链接到完整的好答案。)
  • 包装上有签名吗?
    • 是谁签名的?

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

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

Answers:


11

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

如果从启动板或官方存储库下载数据,则可以拥有带有此数据的dsc文件。

默认情况下,未对Deb文件进行签名。一般建议不要从您不信任的站点安装deb软件包。

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


16

用这个:

dpkg-deb --info <deb file>

如果您需要对它们进行签名,则最好使用apt。


5

您需要做的就是

dpkg -I package.deb

这是hostapd_2.1-0ubuntu1.2_amd64.deb在我的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 <ubuntu-devel-discuss@lists.ubuntu.com>
 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 <pkg-wpa-devel@lists.alioth.debian.org>

另一个随机称为 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

1

尝试 apt-cache show <package-name>

您将获得很多元数据(维护者,原始维护者,Depends,MD5),但可能不是您想要的全部。


2
请仔细阅读:安装之前
LiveWireBT 2015年

这仅适用于存储库。
6

1

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

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

    在此处输入图片说明

  2. 双击.deb文件时,您可以找到程序包名称,依赖项,它将安装的文件以及安装位置以及更多内容。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.