![apt-get update:使用脚本时如何检查 GPG 错误?](https://linux22.com/image/55012/apt-get%20update%EF%BC%9A%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC%E6%97%B6%E5%A6%82%E4%BD%95%E6%A3%80%E6%9F%A5%20GPG%20%E9%94%99%E8%AF%AF%EF%BC%9F.png)
跑步时。
sudo apt-get update
例如,可能会发生这样的事情。
W: GPG error: http://deb.torproject.org wheezy Release: The following signatures were invalid: KEYEXPIRED 1409325681 KEYEXPIRED 1409325681 KEYEXPIRED 1409325681 KEYEXPIRED 1409325681
(这个问题与这个特定的示例警告无关。它已经被报道.)
退出代码。
echo $?
0
退出代码 0 对于脚本中的自动使用来说是有问题的,而脚本中预计会成功。
这是 Debian 的 apt-get 中的一个错误:
apt:为 gpg 故障提供有意义的退出代码
当退出代码不可靠时如何注意到脚本中的 GPG 错误?
答案1
围绕 制作一个包装脚本/usr/bin/gpgv
。将路径名提供给包装器脚本作为Dir::Bin::gpg
(using )的值apt-get --option
。让包装器脚本检查 的输出和退出状态gpgv
,并以某种方式将失败传达回顶层脚本(我建议使用kill
发送信号)。