Package-Management

如何獲取有關 deb 包存檔的資訊?

  • May 6, 2021

如何獲取有關.deb包存檔的資訊?

比如:包資訊、版本、安裝大小、架構、描述和許可資訊等來自.deb包存檔?

您可以使用**dpkg-deb**命令來操作 Debian 軟體包存檔 (.deb)。

從聯機幫助頁: -

-I, --info archive [control-file-name...]
             Provides information about a binary package archive.

             If  no  control-file-names are specified then it will print a summary of the contents of the package as
             well as its control file.

             If any control-file-names are specified then dpkg-deb will print them in the order they were specified;
             if  any  of  the components weren't present it will print an error message to stderr about each one and
             exit with status 2.

範例用法:-

$ dpkg-deb -I intltool_0.50.2-2_all.deb 
new debian package, version 2.0.
size 52040 bytes: control archive=1242 bytes.
    831 bytes,    19 lines      control              
   1189 bytes,    18 lines      md5sums              
Package: intltool
Version: 0.50.2-2
Architecture: all
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Installed-Size: 239
Depends: gettext (>= 0.10.36-1), patch, automake | automaken, perl (>= 5.8.1), libxml-parser-perl, file
Provides: xml-i18n-tools
Section: devel
Priority: optional
Multi-Arch: foreign
Homepage: https://launchpad.net/intltool
Description: Utility scripts for internationalizing XML
 Automatically extracts translatable strings from oaf, glade, bonobo
 ui, nautilus theme and other XML files into the po files.
 .
 Automatically merges translations from po files back into .oaf files
 (encoding to be 7-bit clean). The merging mechanism can also be
 extended to support other types of XML files.

您可以通過以下方式列出內容**dpkg-deb -c**:-

範例用法:

$ dpkg-deb -c libnotify-bin_0.7.6-1ubuntu3_i386.deb 
drwxr-xr-x root/root         0 2014-02-22 05:24 ./
drwxr-xr-x root/root         0 2014-02-22 05:24 ./usr/
drwxr-xr-x root/root         0 2014-02-22 05:24 ./usr/bin/
-rwxr-xr-x root/root      9764 2014-02-22 05:24 ./usr/bin/notify-send
drwxr-xr-x root/root         0 2014-02-22 05:24 ./usr/share/
drwxr-xr-x root/root         0 2014-02-22 05:24 ./usr/share/man/
drwxr-xr-x root/root         0 2014-02-22 05:24 ./usr/share/man/man1/
-rw-r--r-- root/root       773 2014-02-22 05:24 ./usr/share/man/man1/notify-send.1.gz
drwxr-xr-x root/root         0 2014-02-22 05:24 ./usr/share/doc/
drwxr-xr-x root/root         0 2014-02-22 05:25 ./usr/share/doc/libnotify-bin/
-rw-r--r-- root/root      1327 2011-07-31 03:11 ./usr/share/doc/libnotify-bin/copyright
lrwxrwxrwx root/root         0 2014-02-22 05:25 ./usr/share/doc/libnotify-bin/AUTHORS -> ../libnotify4/AUTHORS
lrwxrwxrwx root/root         0 2014-02-22 05:25 ./usr/share/doc/libnotify-bin/NEWS.gz -> ../libnotify4/NEWS.gz
lrwxrwxrwx root/root         0 2014-02-22 05:25 ./usr/share/doc/libnotify-bin/changelog.Debian.gz -> ../libnotify4/changelog.Debian.gz

獲取許可資訊:-

大多數檔案的版權資訊可從/usr/share/doc/<pkgname>/copyright

例子 :-

$ dpkg-deb -c gparted_0.18.0-1_i386.deb | grep -i copyright
-rw-r--r-- root/root      1067 2011-12-08 00:34 ./usr/share/doc/gparted/copyright

您可以從中提取-x並查找發布它的許可證。

這裡:-

$ cat /usr/share/doc/gparted/copyright | grep -i ^license -A 5
License:

  This package is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; version 2 dated June, 1991.

有關更多資訊,請執行man dpkg-deb.

引用自:https://unix.stackexchange.com/questions/187221