1

是否apt-listchanges存在来自 debian/ubuntu 的功能对应项zypper

目前我必须为每个更新的包手动执行以下操作:1)安装zypper,2)检查更改,rpm -q --changelog PACKAGE_NAME这与它完成的便捷方式相去甚远apt-listchanges。对我来说最重要的是,如何在安装之前进行更改(有可能中止)?

4

3 回答 3

0

不使用 zypper,但如果您可以同时下载 rpm(旧版本和新版本),则可以使用 pkgdiff 检查差异。

于 2018-09-20T22:11:53.963 回答
0

我无法找到一种方法来查看对单个包所做的更改而不下载它。OpenSUSE 在“补丁”中收集包,因为错误通常需要对多个包进行更改。要查看补丁中的内容:

  • 获取可用补丁的名称/IDzypper list-patches
  • zypper info -t patch $ID使用where $IDis the ID 从上一个命令的输出中获取有关补丁集的信息。

如果您想查看某个包,您可以使用zypper download下载它而无需安装。之后,您可以使用rpm -q --changelog -p $PATH查看下载文件的更新日志$PATH

于 2020-09-02T20:28:47.857 回答
-1

(不知道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.
于 2018-02-19T10:41:18.210 回答