deb包的许可证信息

aj.*_*aj. 9 licensing dpkg deb

我正在尝试获取卸载的deb软件包的许可证信息.
dpkg --info <package-name>.deb没有提供这些信息.
在ubuntu中是否有任何命令可以提供此信息?
(在rpm世界中,rpm -qpi给出了该信息)

Jos*_*Lee 11

我所知道的并没有简单的命令.你可以这样做:

dpkg-deb --fsys-tarfile foo.deb |tar -xvO ./usr/share/doc/foo/copyright
Run Code Online (Sandbox Code Playgroud)

这会将文件打印到标准输出.

编辑嗯,这听起来很难.在我的Debian系统上快速浏览apt缓存之后,我发现了一些可能有用的短语:

  • "GNU通用公共许可证"
  • "上述版权声明和本许可声明",请务必先打开包装线
  • " /usr/share/common-licenses/*"

    这似乎是最接近您将获得的标准许可证,但要小心,因为包装通常是在共同许可下,但包装内容是在单独的许可下.

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

但是,某些软件包(ImageMagick)在版权文件中只有一个自由格式的许可证,并不真正符合任何股票许可证,除非有人认为它是DFSG批准的.

更新2012:这已经开始改变,因为debian/copyright文件现在需要是机器可解释的,因此您可以在将来期待这一点.

  • 嗯..我想那时候不存在一个万无一失的解决方案. (2认同)
  • 2015年更新:许多软件包[仍未转换为机器可读的许可证文件](http://stackoverflow.com/a/35052572/260122).检查许可证元数据的唯一在线服务是https://packages.debian.org/上的包页面上的"版权文件"链接. (2认同)