使用 dpkg 查看变更日志

使用 dpkg 查看变更日志

有没有办法使用 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

正在升级至1:4.2-3.3...

我知道 Debian 可以看一下包装说明并从那里开始链接Debian 变更日志

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

答案1

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

dpkg -X <package.deb> <folder>

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

dpkg-parsechangelog -l <folder>/usr/share/doc/<package>/changelog.Debian.gz

因为这真的很痛苦,如果你的发行版正在使用 apt-get 你可以使用

apt-get changelog <packagename>

或者

apt changelog <packagename>

答案2

如果安装了该软件包,您只需访问/usr/share/doc/<package_name>/即可找到上游ChangeLog和 Debian(软件包)变更日志。

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

答案3

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

apt 列表更改涵盖了这个特定的用例。您可以查看与升级对应的变更日志条目。

如果您想查看未安装的软件包的更改日志,最简单的方法可能就是在线查看。例如转到https://packages.qa.debian.org,输入所需的源包(例如 dpkg),您将在右侧的“链接”下看到更改日志。在这种情况下,您最终会到达http://metadata.ftp-master.debian.org/changelogs/main/d/dpkg/unstable_changelog

当然,这个特定站点只能用于 Debian。

答案4

嘿我知道这是非常老了,但我最终来到了这里,这个问题对于学习 Linux 的人来说非常有趣。所以请原谅我。

可用命令

如果安装了该包,您有一些无需解压即可读取的方法:

1.无兹: 如果你输入曼兹莱斯你会读到:

zless - 文件细读过滤器,用于压缩文本的 CRT 查看。

2.zcat: 从男人zcat

zcat 与gunzip -c 相同。 (在某些系统上,zcat 可能安装为 gzcat 以保留要压缩的原始链接。)zcat 解压缩命令行或其标准输入上的文件列表,并将未压缩的数据写入标准输出。 zcat 将解压缩具有正确幻数的文件,无论它们是否具有 .gz 后缀。

3.gunzip -c <路径/文件> |较少的:从上面的 zcat 中我们了解到 zcat 只是“gunzip -c”的别名。所以你可以使用gunzip加上“less”。

搜索

找到您的变更日志。它的传统名称是:

  • changelog.gz(程序本身)
  • changelog.Debian.gz(修复软件包问题)
  • NEWS.gz(与changelog.gz相同)
  • NEWS.Debian.gz(与 changelog.Debian.gz 相同)

更改日志始终安装在 中/usr/share/doc,因此您可以列出该文件夹以发现更改日志的名称。让我们以包passwd为例。

$ ls -l /usr/share/doc/passwd
total 24
-rw-r--r-- 1 root root 2279 nov 24 09:05 changelog.Debian.gz
-rw-r--r-- 1 root root 5153 nov 11  2021 copyright
drwxr-xr-x 1 root root   36 dez 17 12:13 examples
-rw-r--r-- 1 root root  801 nov 11  2021 NEWS.Debian.gz
-rw-r--r-- 1 root root 2075 nov 11  2021 README.Debian
-rw-r--r-- 1 root root 1020 nov 11  2021 TODO.Debian

现在一一阅读(zcat 或 zless):

$ zcat /usr/share/doc/passwd/changelog.Debian.gz
$ zcat /usr/share/doc/passwd/NEWS.Debian.gz

或者,您不知道更改日志位于 /usr/share/doc 中,因此搜索它,然后列出,最后阅读:

$ find / -type d -name passwd 2>/dev/null
/usr/share/doc/passwd

2>/dev/null是为了避免所有那些烦人的Permission denied消息。

相关内容