2009-12-10 4 views
8

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

+0

См. Также почти дубликат http://stackoverflow.com/questions/35044841/how-to-list-all-installed-packages-licences-in-ubuntu/ – tripleee

ответ

10

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

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

Это печатает файл на стандартный вывод.

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

  • «GNU General Public License»
  • «приведенное выше уведомление об авторских правах и это уведомление о разрешении», убедившись, что вы разворачивать строки первые
  • «/usr/share/common-licenses/*»

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

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

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

Update 2012: Это начинает меняться, как debian/copyright файл is now required to be machine-interpretable, так что вы можете рассчитывать на это в будущем.

+1

файл авторских прав не имеет стандартного формата (т.е. имя лицензии, текст лицензии), что затрудняет извлечение этой информации. Специально, если я хочу сделать это для сотен пакетов. –

+2

Хммм .. Я думаю, что надежного решения не существует. –

+2

Обновление 2015: многие пакеты [все еще не перешли на машиночитаемые файлы лицензий] (http://stackoverflow.com/a/35052572/260122). Единственной онлайн-службой для проверки метаданных лицензии является ссылка «Файл авторского права» на странице пакета на странице https://packages.debian.org/. – clacke

Смежные вопросы