该错误可以通过从源码构建 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
# 清理
sudo rm -rf git-openssl