是否apt-listchanges
存在来自 debian/ubuntu 的功能对应项zypper
?
目前我必须为每个更新的包手动执行以下操作:1)安装zypper
,2)检查更改,rpm -q --changelog PACKAGE_NAME
这与它完成的便捷方式相去甚远apt-listchanges
。对我来说最重要的是,如何在安装之前进行更改(有可能中止)?
不使用 zypper,但如果您可以同时下载 rpm(旧版本和新版本),则可以使用 pkgdiff 检查差异。
我无法找到一种方法来查看对单个包所做的更改而不下载它。OpenSUSE 在“补丁”中收集包,因为错误通常需要对多个包进行更改。要查看补丁中的内容:
zypper list-patches
zypper info -t patch $ID
使用where $ID
is the ID 从上一个命令的输出中获取有关补丁集的信息。如果您想查看某个包,您可以使用zypper download
下载它而无需安装。之后,您可以使用rpm -q --changelog -p $PATH
查看下载文件的更新日志$PATH
。
(不知道apt-listchanges
输出什么)
主要问题是获得易于从zypper
. 这并不完美,但它可能会让你上路:
首先从 zypper 输出中获取补丁的纯名称,省略标题和尾行:
zypper -t lp | awk -F'|' '/^---/ { OK=1; next } OK && NF == 7 { gsub(" ", "", $2); print $2 }'
例如,您可以获得:
openSUSE-2018-172
openSUSE-2018-175
openSUSE-2018-176
openSUSE-2018-178
然后将该输出zypper
再次输入,如下所示:
zypper patch-info $(zypper -t lp | awk -F'|' '/^---/ { OK=1; next } OK && NF == 7 { gsub(" ", "", $2); print $2 }')
输出将包括这样的信息(为简洁起见被截断):
Summary : Security update for ffmpeg
Description :
This update for ffmpeg fixes the following issues:
Updated ffmpeg to new bugfix release 3.4.2
* Fix integer overflows, multiplication overflows, undefined
shifts, and verify buffer lengths.