git clone 和 apt 错误:gnutls_handshake() 失败

git clone 和 apt 错误:gnutls_handshake() 失败

当使用克隆 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 存储库中的版本号新。

在我降级librtmp1https://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

相关内容