解决git错误:gnutls_handshake() failed: Error in the pull function.
2022-09-05 11:46:05
ThanksView
  • 访问次数: 229
  • 注册日期: 2019-03-19
  • 最后登录: 2024-07-05

该错误可以通过从源码构建 git 安装包,并将gnutls替换为openssl解决。

步骤如下:

# 安装软件包依赖

sudo apt-get install -y build-essential fakeroot dpkg-dev

sudo apt-get -y build-dep git

sudo apt-get install -y libcurl4-openssl-dev

# 创建目录

mkdir git-openssl

cd git-openssl

# 获取 git 源码

apt-get source git

cd git-*

# 修改 git 安装包配置文件

# 将 libcurl4-gnutls-dev 替换为 libcurl4-openssl-dev

sed -i -e 's/libcurl4-gnutls-dev/libcurl4-openssl-dev/g' ./debian/control

# 删除 TEST= test,缩短安装包构建时间

sed -i -- '/TEST\s*=\s*test/d' ./debian/rules

# 构建安装包 sudo dpkg-buildpackage -rfakeroot -b

# 安装,git 版本号可能不一致

cd ../sudo dpkg -i git_2.17.1-1ubuntu0.8_amd64.deb

# 清理

cd ../../

sudo rm -rf git-openssl


ThanksView 最后编辑, 2022-09-05 11:48:54
沙发
2022-09-05 11:49:25
ThanksView
  • 访问次数: 229
  • 注册日期: 2019-03-19
  • 最后登录: 2024-07-05
重点是最后的清理

# 清理

sudo rm -rf git-openssl


板凳
2025-03-30 08:46:09
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#3
2025-03-30 08:46:09
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#4
2025-03-30 08:47:34 回复 #1
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#5
2025-03-30 08:47:38
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#6
2025-03-30 08:47:39
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#7
2025-03-30 08:47:49
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#8
2025-03-30 08:47:49 回复 #1
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#9
2025-03-30 09:32:56
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
#10
2025-03-30 09:32:57
pHqghUme
  • 访问次数: 2
  • 注册日期: 2025-03-30
  • 最后登录: 2025-03-30
1
1/4

三维半岛官网: http://www.thanksview.com

进入首页