![git clone 和 apt 错误:gnutls_handshake() 失败](https://linux22.com/image/1564398/git%20clone%20%E5%92%8C%20apt%20%E9%94%99%E8%AF%AF%EF%BC%9Agnutls_handshake()%20%E5%A4%B1%E8%B4%A5.png)
当使用克隆 git 存储库时git clone
,出现以下错误:
fatal: unable to access 'https://github.com/schacon/simplegit-progit/':
gnutls_handshake() failed: Public key signature verification has failed
此外,运行时我收到类似的错误apt-get update
:
Err:12 https://repo.skype.com/deb stable/main amd64 Packages
gnutls_handshake() failed: Public key signature verification has failed.
看来删除该libgnutls-deb0-28
包可以解决问题。建议这里。但是,我不确定这个包是什么以及它依赖什么。此外,当我尝试时apt-get remove libgnutls-deb0-28
,它还会删除很多看似不相关的包,而这些包我显然不想删除。
之前的各种帖子中都报告过类似的问题,但我一直不清楚该错误的原因。
有人了解这个问题并能解释它从何而来吗?
我正在运行 Debian 9.2 (stretch)。
答案1
我遇到了同样的问题。我librtmp1
安装了一个 deb-multimedia 遗留下来的 版本,它依赖于libgnutls-deb0-28
。它的版本号比官方 Debian 存储库中的版本号新。
在我降级librtmp1
到https://packages.debian.org/stretch/librtmp1我可以将其移除,libgnutls-deb0-28
但不需要同时移除太多东西。
所以你可以尝试这个:
apt-get install librtmp1=2.4+20151223.gitfa8646d.1-1+b1
apt-get remove libgnutls-deb0-28
另请参阅我对我的问题的更详细讨论:https://github.com/signalapp/Signal-Desktop/issues/2483#issuecomment-401047201
对我来说,查找哪些其他包依赖于特定的包很有用:
apt-cache rdepends libgnutls-deb0-28
另一个方向是,一个包依赖于什么:
apt-cache depends librtmp1