在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
重启终端进去即可!