我正在尝试获取未安装的deb软件包的许可信息。
dpkg --info <package-name>.deb
不能提供该信息。
在Ubuntu上是否有任何命令可以提供此信息?
(在rpm世界中,rpm -qpi可以提供这些信息)
我不知道有简单的命令可以完成此操作。你可以尝试像这样实现:
dpkg-deb --fsys-tarfile foo.deb |tar -xvO ./usr/share/doc/foo/copyright
这将把文件输出到标准输出。
编辑 嗯,听起来很难。在我 Debian 系统的 apt 缓存中快速浏览后,我找到了一些可能有用的短语:
"/usr/share/common-licenses/*
"
这似乎是您可以获得的最接近标准许可证,但要小心,因为常常包装是在一个通用许可证下,但包内容则受另一个许可证的约束。
^许可证:MPL-1.1 | GPL-2+ | Apache-2.0
然而,有些软件包(如 ImageMagick)在版权文件中仅仅有一个自由格式的许可证,实际上并不符合任何标准化的许可证,除非某个人认为它符合 DFSG 标准。
更新于 2012 年:这种情况正在发生改变,因为现在需要使用机器可读格式的debian/copyright
文件,所以您可以期待这个。