Вопрос

Я пытаюсь получить лицензионную информацию об удаленных пакетах deb.
dpkg --info <package-name>.deb не дает такой информации.
Есть ли какая-нибудь команда в ubuntu, которая предоставит эту информацию?
(В мире rpm rpm -qpi предоставляет эту информацию)

Это было полезно?

Решение

Насколько я знаю, нет простой команды.Вы можете сделать что-то вроде этого:

dpkg-deb --fsys-tarfile foo.deb |tar -xvO ./usr/share/doc/foo/copyright

При этом файл выводится в стандартный формат вывода.

Редактировать Хм, звучит сложно.После быстрого изучения кэша apt в моей системе Debian я нашел несколько фраз, которые могут быть полезны:

  • "Общая общественная лицензия GNU"
  • "вышеуказанное уведомление об авторских правах и это уведомление о разрешении", убедившись, что вы сначала развернули строки
  • "/usr/share/common-licenses/*"

    Это, кажется, самое близкое к стандартной лицензии, которую вы получите, но будьте осторожны, так как часто упаковка находится под общей лицензией, но содержимое пакета находится под отдельной лицензией.

  • ^License: MPL-1.1 | GPL-2+ | Apache-2.0

Однако некоторые пакеты (ImageMagick) просто имеют лицензию свободной формы в файле авторских прав, которая на самом деле не соответствует ни одной стандартной лицензии, за исключением того, что кто-то счел ее одобренной DFSG.

Обновление 2012:Это начинает меняться, поскольку debian/copyright файл теперь требуется, чтобы он был поддающимся машинной интерпретации, так что вы можете рассчитывать на это в будущем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top