使用时如何获取包的校验和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