写在前方:博主linux小白,刚接触,就准备在linux上安装git,遭遇各种小白问题。
1. 从#到$,创建自己的用户
2. yum失效问题
3. 解决虚拟机Centos 上网问题 3.1–3.5
4. 将光盘yum源改成网络yum源(linux系统默认是网络yum源,之前没折腾的同学,就跳过这一步了)
5. 安装git
6. yum安装git版本过低,考虑源码包安装 6.1–6.8
———-不华丽的分割线———————————

1 从#到$,创建自己的用户(PS:与git根本无关)

看到教程上安装git,是在$下操作的,所以也想弄个用户账户,linux 中有4个文件和用户有关:

  • /etc/group 存储当前系统所有用户组信息
  • /etc/gshadow 用户组密码信息
  • /etc/passwd 用户信息(passwd不是密码的意思吗?奇怪)
  • /etc/shadow 用户密码信息
    创建账户命令行:
    useradd -d /home/bigqiang bigqiang
    创建一个名为bigqiang 的用户,-d指定表示指定/home/bigqiang 为家目录;使用 su 命令进行用户切换,完成从#到$ 的用户切换,可以打开/etc/passwd 查看系统已为用户添加了新用户

2 yum 安装,接下了开始直接安装git,命令行:
yum -y install git
报错:
yum报错
原因是,之前Centos安装升级过python2.7,而yum这个模块是用python写的,新的python2.7没有默认安装yum,所有无法识别,解决方法,进入系统的yum文件:

vim /usr/bin/yum

在首行末尾添加Centos6.7 默认python版本号2.6 保存退出,使yum指向默认版本,问题解决。
3 使虚拟机Centos能上网
接下来重新敲git安装命令,发现git安装失败,有三个文件无法下载,回想之前学习yum的时候,将yum源搭载成本地yum源的实验室环境,因为彼时Centos还未联网,而且在初始构建服务器时,搭载本地yum源还是很有用处的,而此刻,搭载的本地的光盘yum源可能是缺少安装需要的三个文件(具体什么文件,无关紧要),所以决定将yum源改回网络yum源,使其真正连接到yum服务器上,成为真正的yum源。但是首先得让Centos能上网,搭建网络yum源才有意义。
使Centos能上网5步:(其中1,2步早前已完成,具体步骤忘得差不多了,不展开)
3.1. 给linux 分配ip
给linux分配IP,有几种方法,这里简单介绍两种:用ifconfig 命令设置临时IP(重启后又失效,故不用);用setup 工具(红帽系列专用)。
3.2.启动网卡
命令行
vim /etc/sysconfig/network-scipts/ifcfg-eth0

把 ONBOOT = no ,改为 ONBOOT =yes
重启网络服务:
service network restart
3.3. 修改UUID
一般不需要修改,因为虚拟机有能够复制系统的功能,复制的系统UUID必相同,所以需要修改,实际工作中,如果是自己装的操作系统,装一台有一个UUID,肯定不会重复。
3.4. 设置虚拟机连接方式
虚拟机有三种连接方式:桥接,使用真实你的电脑的网卡(物理网卡),优点:配置简单,缺点:需要占用一个网段的IP;
NAT,只能与自己的真实机通信,但不能连局域网的其他IP主机,可利用真实机的IP地址上网;
HOST-only,只能与自己主机通信,不能上网。一般选桥接就可以了。
3.5. 修改桥接网卡
在VMware 界面上的编辑选项里有虚拟网络编辑器选项,因为默认是自动网卡(不靠谱,不知道自动给你选什么),而一般计算机都有至少两个网卡,有线,无线(wireless),根据自己的联网情况选相应网卡,VMware1与VMware8 是与NAT,HOST-only相对应,可以不用理会。
至此,Centos联网设置完毕,用ping 命令检测一下,ping通。
4. 好了,这时候可以将yum源改成网络yum源,在/etc/yum.resos.d/中有默认4-5个yum源文件,目前知道两个功能,带base 字样的文件,是默认生效的yum源文件,控制网络yum源,如果不用可以将此文件改名,让它无法生效;带Media字样的是光盘yum源文件,现在进入该文件,将enabled 参数将1改成0 ,使其失效,保存退出。再将以前修改的base文件名改回默认,这样网络yum就生效了。自此,万事俱备了。

5.所有的设置都妥当了,进行yum在线安装:

yum -y install git

-y 是安装过程自动回答yes
再检测下是否能用git了,git –version
显示出git的版本,大功造成,正当我举杯欢庆的时候。。。

6 事实证明偷懒的方式需要付出代价,由于yum安装的git版本过低1.7.1导致我建立git远程库的时候出现了如下报错:
这里写图片描述
查资料说是可能原因之一是git版本过低,看了官网git更新到2.7.2,感觉自己的版本确实有点低,就决定装新版本试一试,事后证明是对的。而yum服务器上官方可能更新的git版本较慢,决定直接用源码包。
准备知识:首先,源码包一般用C语言编写,所以要先按照C语言编译器gcc,可用yum源安装,博主之前已安装,就不展开讲;其次,源码包一般保存位置在/usr/local/src/,软件安装位置一般在/usr/local/git(什么软件名自己创建相应文件夹),还有安装之前要用yum源安装该源码包的依赖包,解决好依赖关系。
开始安装:
6.0 安装依赖包:
yum install curl
yum install curl-devel
yum install zlib-devel
yum install openssl-devel
yum install perl
yum install cpio
yum install expat-devel
yum install gettext-devel
6.1下载源码包,一般用wget 命令,暂时没弄懂会下在哪里,博主直接用Windows环境下先下好,在用winscp软件直接复制到Centos环境的源码包文件夹下。
6.2 解压缩源码包,以xxx.tar.gz为例,命令行
tar -zxvf xxx.tar.gz
其中 tar 原本是打包的命令,又加了-z,就连打包带压缩,非常方便,
-z 表示tar.gz 的压缩文件,还有其他形式,不展开。
-x 表示解打包
-v 显示过程
-f 指定压缩文件名
本命令会解压缩在当前目录下
6.3 进入解压缩文件的目录,非常关键,必须做,要不然接下去步骤都白搭。
6.4 进行软件配置与检查,看看下的源码包有没有问题,命令行
./configure –prefix=/usr/local/git
可以指定安装位置为上面目录,但是这次博主没这么做,用另外的命令行:
autoconf
./configure
可能会自动分配安装位置吧,因为看教程由于之前安装过低版本git,后续需要更改路径,所有直接按教程的命令行,就不自己指定安装位置了。
6.5 敲命令行:make 进行编译,翻译成机器语言
6.6 进行最后真正的安装:make install 最后无报错即为安装成功。
6.7最后修改 /etc/ld.so.conf 文件,在最后加入一行:/usr/local/lib
保存并关闭。(博主就是不知道这一步是干什么,6.4步才用autoconf)
到此,可以查看git版本,已为新版本,如果无效,可以尝试6.8步
6.8添加link
ln -s /usr/local/bin/git /usr/bin/
这一步对于原本系统中有旧版git的系统很重要,会报告Link已存在,此时要删除原来的Link即/usr/bin/git,再执行6.8步。大功造成。测试关联git远程库,也无报错,解决问题。

补充一小点,在commit版本到master分支时,又出现一个报错:
这里写图片描述
解决时一定要去掉 命令行中的 –global,才可以生效,可以用命令行:
git config -l 查看是否生效,一直找了半天没发现这个小bug,浪费了一丢丢时间。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐