一个deb软件包的许可信息

14

我正在尝试获取未安装的deb软件包的许可信息。
dpkg --info <package-name>.deb不能提供该信息。
在Ubuntu上是否有任何命令可以提供此信息?
(在rpm世界中,rpm -qpi可以提供这些信息)


请参阅相似问题 https://dev59.com/wZPfa4cB1Zd3GeqPDnhm - tripleee
1个回答

13

我不知道有简单的命令可以完成此操作。你可以尝试像这样实现:

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

这将把文件输出到标准输出。

编辑 嗯,听起来很难。在我 Debian 系统的 apt 缓存中快速浏览后,我找到了一些可能有用的短语:

  • "GNU 通用公共许可证"
  • "上述版权声明和此许可声明",请确保先取消换行
  • "/usr/share/common-licenses/*"

    这似乎是您可以获得的最接近标准许可证,但要小心,因为常常包装是在一个通用许可证下,但包内容则受另一个许可证的约束。

  • ^许可证:MPL-1.1 | GPL-2+ | Apache-2.0

然而,有些软件包(如 ImageMagick)在版权文件中仅仅有一个自由格式的许可证,实际上并不符合任何标准化的许可证,除非某个人认为它符合 DFSG 标准。

更新于 2012 年:这种情况正在发生改变,因为现在需要使用机器可读格式debian/copyright文件,所以您可以期待这个。


1
版权文件没有标准格式(即许可证名称、许可证文本),这使得提取信息变得困难。特别是如果我想对数百个软件包进行此操作。 - aj.
3
嗯,我想完美无缺的解决方案不存在。 - aj.
3
更新于2015年:许多软件包仍未过渡到机器可读的许可证文件。检查许可元数据的唯一在线服务是在https://packages.debian.org/上软件包页面上的“版权文件”链接。 - clacke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接