Как получить информацию о deb архиве пакета?

Это находится в руководстве даты GNU: http://www.gnu.org/software/coreutils/manual/coreutils.html#Seconds-since-the-Epoch. То же объяснение находится на coreutils информационных страницах.

Если Вы предшествуете числу с ‘’, оно представляет внутреннюю метку времени как количество секунд. Число может содержать внутреннюю десятичную точку (или'.' или‘’); любая избыточная точность, не поддерживаемая внутренним представлением, является усеченной к минус бесконечность. Такое число не может быть объединено ни с каким другим объектом даты, поскольку это указывает полную метку времени.

Внутренне, машинные времена представлены как количество секунд с эпохи — четко определенный момент времени. На GNU и системах POSIX, эпоха 01.01.1970 0:00:00 UTC, таким образом, '@0' представляет на этот раз, ‘@1’ представляет 01.01.1970 0:00:01 UTC, и т.д. GNU и большинство других совместимых POSIX систем поддерживают такие времена как расширение POSIX, с помощью отрицательных количеств, так, чтобы ‘-1’ представил 31.12.1969 23:59:59 utc.

Традиционные системы Unix считают секунды с 32-разрядными two's-дополнительными целыми числами и могут представить времена от 13.12.1901 20:45:52 до 19.01.2038 3:14:07 UTC. Более современные системы используют 64-разрядные количества секунд с подколичествами наносекунды и могут представить все времена в известное время жизни вселенной к разрешению 1 наносекунды.

На большинстве хостов эти количества игнорируют присутствие секунд прыжка. Например, на большинстве хостов ‘@915148799’ представляет 31.12.1998, 23:59:59 utc, ‘@915148800’ представляет 01.01.1999 0:00:00 UTC, и нет никакого способа представить прошедший прыжок вторые 31.12.1998 23:59:60 utc.

31
15.04.2015, 08:38
2 ответа

Вы можете использовать команду DPKG-DEB , чтобы манипулировать архивом пакета Debian (.deb).

От ManPage: -

-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

Получение информации о лицензировании: -

Большинство архива Copyright информация доступна из / USR / Share / Doc / / 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 .

44
27.01.2020, 19:38

Вы можете использовать dpkg -f (архив) (имя поля) , чтобы сделать именно это.

Пример:

dpkg -f archive.deb Version
dpkg -f archive.deb Package

Чтобы получить возможные имена полей:

dpkg --info archive.deb
5
27.01.2020, 19:38

Теги

Похожие вопросы