xiaofengliu 2008-05-14
git是linux下边很好用的版本控制工具,可是因为其开放性,其认证权限等还是比较弱的,我喜爱这个工具是因为其分布式特性,这样我既可以象cvs/svn那样进行集中式的管理,也可以在一个受限制的环境中(比如客户现场、不能访问svn服务器的情景中)跟我们的team成员对代码进行版本控制。
gitosis是git的一个便捷的管理工具,它可以管理多个repository,可以管理用户认证,可以不需要多个shell账号就可以解决多用户访问集中repository的问题。
如果你的系统是linux那么,安装gitosis是轻而易举的事情,详细请看这里,可是如果Solaris呢?恐怕就不是那么简单了,下边做个简单陈述作为自己的备忘,希望对其他git使用者有所帮助。
1.安装git
下载最新的git源代码和必要的lib安装包,至少需要:
最好将/usr/ucb:/usr/ccs/bin放到你的PATH环境中,因为这里有ar,ld等命令
如果所需准备好了的话,编译应该不是问题的(我的gcc是3.4)
2.安装使用gitosis
参考HostingGitrepositories,TheEasy(andSecure)Way
顺便补充几点:
[list=1]Solaris的adduser/useradd并没有--disabled-password选项,作为替换等创建完git用户后,使用passwd -d git命令将密码清空,这样就没法通过ssh/telnet登录了,保证了你的repository的安全性sudo -H -u git gitosis-init < /tmp/id_rsa.pub --要确保git等系列命令要在PATH中能找到,并且能正常运行一定要chmod 775 /xxx/repositories/gitosis-admin.git/hooks/post-update下边的post-update,xxx表示git用户所在的目录要主要LD_LIBRARY的设置,请参考鄙人的另一篇文章:LD(LD_LIBRARY_PATH)的配置[*]确保你的/usr/bin下边有如下命令:ls /usr/bin/git* /usr/bin/git /usr/bin/git-update-server-info /usr/bin/gitosis-serve /usr/bin/git-receive-pack /usr/bin/git-upload-pack /usr/bin/git-shell /usr/bin/gitosis-run-hook
[/list]