这篇博客主要讲的是在centos下配置gitosis遇到的问题。
背景:centos7.2 64 ;gitosis2.0
1、困难1
1)产生的问题及原因。gitosis没有安装成功,没有出现finish的字样,但是没有发现,导致在用公钥初始化配置仓库时,出现了找不到gitosis的错误。gitosis安装失败的截图如下:
2)gitosis安装失败导致的错误。在安装gitosis失败之后,在用命令sudo -H -u gittest gitosis-init < /tmp/id_rsa.pub时,出现了找不到gitosis的错误。
3)根据错误找到的解决办法并做出了尝试。在出现找不到gitosis的错误之后,我在网上找了关于解决这个错误的手段,做了如下尝试:
a、安装pip10.0.1
安装pip10.0.1命令:
wget https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
tar -zxvf pip-10.0.1.tar.gz
cd pip-10.0.1
python setup.py install
安装pip10.0.1成功截图:
在root用户下用命令sudo -H -u gittest gitosis-init < /tmp/id_rsa.pub时,还是出现了找不到gitosis的错误。
b、安装distribute0.7.3
用pip安装distribute0.7.3命令:
pip install distribute
安装distribute成功截图:
在root用户下用命令sudo -H -u gittest gitosis-init < /tmp/id_rsa.pub时,还是出现了找不到gitosis的错误。
4)找到安装gitosis失败的真正原因:在服务器上下载了两个版本的gitosis,导致gitosis安装失败。
解决办法:删除其中一个版本的gitosis,成功安装gitosis。安装成功的截图:
收获:找到真正的错误才是解决问题的关键。
2、困难2
1)问题:root用户用公钥初始化gitosis仓库出现错误,用命令sudo -H -u gittest gitosis-init < /tmp/id_rsa.pub时,出现了找不到pkg_resources的错误。
2)解决用公钥初始化gitosis仓库失败的问题。解决问题的步骤如下:
a、在root下Python中查找这个库,可以找到这个文件pkg_resources,截图如下所示。 猜测root用户对于使用这个文件pkg_resources的权限不够,然后查找这个文件的所在目录,在/usr/lib/python*/sit*/gitosis-0.2-py2.7.egg目录下,将/usr/lib/python*/sit*/gitosis-0.2-py2.7.egg目录下的所有文件权限由700改成755。
b、在root用户下用sudo -H -u gittest gitosis-init < /tmp/id_rsa.pub初始化gitosis仓库,又出现了文件gitosis-init :permission denied的错误。修改这个gitosis-init文件的权限:查找到这个文件在/usr/bin目录下。在/usr/bin目录下有三个gitosis文件,将权限由700改成755。
3)用公钥初始化gitosis仓库成功。确保gitosis文件权限都改成755之后,使用公钥初始化gitosis,使用公钥初始化gitosis仓库成功的截图:
收获:在配置gitosis过程中,需要修改gitosis文件的权限(755权限),让gitosis文件所有者(我这里gitosis文件所有者的用户是root)有可读可写可执行的权限,组及其他用户有可读可执行的权限。
在此感谢冉华给予我的帮助 。