在CentOS VPS上源碼安裝高版本git
來自: http://blog.csdn.net/yanzi1225627/article/details/50608561
背景:個別軟件在國內下載很慢,在vps下載就很快。但是下載好后的文件通過scp弄出來的時候又很慢,所以想通過在vps里安裝git,通過gitlab或oschina來進行中轉。但遺憾的是,上傳到gitlab速度高達每秒20多M,國內下載幾十KB;上傳到國內的oschina速度100多KB,下載不用說很快。綜合而看,方案有待改進!但比scp快。
通過yum install git在CentOS6.5上,安裝的git版本是1.7.1,不符合要求。在git push時會報如下錯誤:
git push error: The requested URL returned error: 401
問題出在不彈出讓你輸入用戶名和密碼的地方,當然你可以嘗試通過此處的方法,將git的地址改進下。但根本原因是,低本地的git解析不了高版本的git鏈接地址,所以死活不彈出來讓你輸入用戶名的地址。以下是安裝高版本git方法。
安裝之前最好不用root賬戶,否則root安裝的有些東西普通用戶無權限訪問。vps里先建個普通用戶:
1,adduser test (刪除的話用userdel -f test)
2,passwd test
3,然后給給user增加sudo的權限:
chmod u+w /etc/sudoers
使該文件可寫,然后找到root這一行,在下面增加一行:
root ALL=(ALL) ALL
yanzi ALL=(ALL) ALL
chmod u-w /etc/sudoers 去除sudoers文件的可寫權限。然后以新建用戶登錄進行操作:
1,yum remove git 刪除老git
2,安裝前的準備:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
3,此處是git下載列表,下載git2.5.4版本:wget https://www.kernel.org/pub/software/scm/git/git-2.5.4.tar.gz
解壓:tar zxvf git-2.5.4.tar.gz
然后將git安裝到/usr/local/git目錄,便于以后刪除升級git:
make prefix=/usr/local/git all
然后:make prefix=/usr/local/git install
之后在/usr/local/git下就安裝了git。
之后編輯/etc/profile 或/etc/bashrc,將上面git的bin路徑加到path里,或直接運行如下:
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
然后source /etc/bashrc
運行:git --version檢測是否安裝成功。
4,由于安裝完git,按tab是沒有自動提示的,因此要增加自動提示的腳本:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
下載這個腳本,然后在~/.bash_profile里添加:
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
即可。
5,之后還有個惱人的問題,git的提示信息都是中文的,個別時候還是中文,請運行:
echo "alias git='LANG=en_GB git'" >> ~/.bashrc
重啟終端進去即可!