有没有办法使用“zypper”获取包校验和?

有没有办法使用“zypper”获取包校验和?

使用时如何获取包的校验和zypper。我什至尝试了as--xmlout的选项zypper

zypper --xmlout --no-refresh install -D -y --no-recommends MozillaFirefox

有没有办法在下载之前获取要安装的软件包的校验和?

答案1

它位于元数据 xml 文件中,但看起来 zypper 无法将其显示给用户。

如果您的存储库已刷新 - 您可以通过查看这些 xml 文件来解决问题,如下所示:

> for f in /var/cache/zypp/raw/*/repodata/*primary* ; do (xzgrep -E -B10 'location href="x86_64/MozillaFirefox-[0-9]+' $f | grep -E '\^|name="MozillaFirefox"|checksum') && echo "^ $f" ; done

对我来说输出是:

  <name>MozillaFirefox</name>
  <checksum type="sha256" pkgid="YES">a285cd0ed6a5728b231291566d308020cda73ec4a6636ced8206fb9b436b49aa</checksum>
^ /var/cache/zypp/raw/download.opensuse.org-oss/repodata/b522c46b239f38e2d4b45b461c0f943c2e855088ca844a12e6f55edf23e4b636-primary.xml.gz

如果您处于不同的环境中,您也可以下载这些 *primary.xml.gz 文件。

另一种方法是在 download.opensuse.org 上查看元数据中的校验和,例如对于 Leap 15.4,单击相应行的大小

https://download.opensuse.org/update/leap/15.4/sle/x86_64/?P=*MozillaFirefox*

,它将显示“SHA-256 Hash”,它应该与元数据的校验和匹配。

这里的问题是,对于普通用户来说,使用此类解决方法可能是一个挑战,因此最简单的方法是下载软件包并计算校验和。或者向 zypper 请求该功能。

例如,如果详细级别高于 1(例如命令),则请求 zypper 提供校验和

zypper se -vv MozillaFirefox

相关内容