Có lý do của vấn đề, đó là gnutls
gói. Nó hoạt động kỳ lạ đằng sau một proxy. Nhưng openssl
đang hoạt động tốt ngay cả trong mạng yếu. Vì vậy, cách giải quyết là chúng ta nên biên dịch git
với openssl
. Để làm điều này, hãy chạy các lệnh sau:
sudo apt-get update
sudo apt-get install build-essential fakeroot dpkg-dev
sudo apt-get build-dep git
mkdir ~/git-openssl
cd ~/git-openssl
apt-get source git
dpkg-source -x git_1.7.9.5-1.dsc
cd git-1.7.9.5
(Hãy nhớ thay thế 1.7.9.5
bằng phiên bản thực tế của git trong hệ thống của bạn.)
Sau đó, chỉnh sửa debian/control
tệp (chạy lệnh gksu gedit debian/control
:) và thay thế tất cả các phiên bản libcurl4-gnutls-dev
bằng libcurl4-openssl-dev
.
Sau đó, xây dựng gói (nếu nó không thành công trong thử nghiệm, bạn có thể xóa dòng TEST=test
khỏi tệp debian/rules
):
sudo apt-get install libcurl4-openssl-dev
sudo dpkg-buildpackage -rfakeroot -b
Cài đặt gói mới:
i386: sudo dpkg -i ../git_1.7.9.5-1_i386.deb
x86_64: sudo dpkg -i ../git_1.7.9.5-1_amd64.deb
Lấy cảm hứng từ đây: https://github.com/xmendez/wfuzz/wiki/PyCurlSSLBug