使用 dpkg 查看变更日志

mgj*_*gjk 13 debian dpkg deb

有没有办法使用 dpkg 查看包的不同版本之间的更改日志?

如果我想知道例如,为什么在最近的更新中升级了“passwd”,有没有办法使用 dpkg 来查看发生了什么变化?

$ dpkg -l passwd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  passwd         1:4.2-3.1    amd64        change and administer password an
Run Code Online (Sandbox Code Playgroud)

它正在升级到 1:4.2-3.3...

我知道在 Debian 中,我可以查看软件包说明,并从那里查看链接的Debian 更改日志

但这并不适用于所有基于 deb 的发行版,快速浏览一下新内容是很尴尬的。

Die*_*cia 19

dpkg 不提供任何工具来读取包的更改日志。您应该解压缩包并阅读更改日志

dpkg -X <package.deb> <folder>
Run Code Online (Sandbox Code Playgroud)

然后您可以使用 dpkg-parsechangelog 实用程序读取更改日志

dpkg-parsechangelog -l <folder>/usr/share/doc/<package>/changelog.Debian.gz
Run Code Online (Sandbox Code Playgroud)

因为那真的很痛苦,如果您的发行版使用 apt-get,您可以使用

apt-get changelog <packagename>
Run Code Online (Sandbox Code Playgroud)

或者

apt changelog <packagename>
Run Code Online (Sandbox Code Playgroud)


Gia*_*zzi 6

如果安装了软件包,您只需转到/usr/share/doc/<package_name>/那里,您就会找到上游ChangeLog和 Debian(软件包)更改日志。

可能文件被 gzip 压缩,在这种情况下,您可以zless用来查看它们。