Chinaunix首页 | 论坛 | 博客
  • 博客访问: 849107
  • 博文数量: 168
  • 博客积分: 5431
  • 博客等级: 大校
  • 技术积分: 1560
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-22 11:56
文章存档

2015年(2)

2014年(1)

2013年(12)

2012年(12)

2011年(15)

2010年(5)

2009年(16)

2008年(41)

2007年(64)

分类: 项目管理

2008-09-23 23:16:01

开源软件现状
  开源软件当今已经发展的如火如荼,对于免费的软件资源可以极大的降低企业的成本,提高工作效率。开源软件的优点这里不在啰嗦。至于它也不是没有缺点的。本部分内容介绍开源软件世界中比较有实用价值的软件,详细介绍这些软件的运行环境,编译方法,配置,实用等。主要目的在于介绍这些资源给可能用到的人。

软件1:
CVS(Current version system):
    这个软件应该是名声响当当的,很多知名的大公司即便是在windows平台开发软件也实用他管理自己的项目source code。开源项目基本实用它提供软件下载等。
    这个软件的优点是体积小功能强大,运行稳定。缺点是实用起来比较麻烦。针对这个缺点windows平台开发出了具有UI界面的WinCVS,本人使用过,十分方便。

软件下载地址:
可以到sourceforge.net上查找下载

安装配置方法:
    一般并不需要我们自己由源码build binary,可以根据各自工作的系统平台去下载线程的安装包,甚至于有的系统自身就有这样的安装文件(Redhat等),找到光盘安装一下即可。由于安装比较简单这里不赘述。

    安装好CVS后必须对该软件进行配置才能正常工作,主要是一些CVS相关的环境变量。
1:系统环境linux redhat

2:建立cvs用户组(不创建也可以,不过创建一个有利于用户管理)

命令:groupadd cvs

注:必须以root身份运行该命令

3.建立cvs组的cvsroot用户和所属的目录

useradd -g cvs -G cvs -d/home/cvsroot xxx

以上命令选项的含义可以通过man page查看

4:为xxx用户添加密码

passwd xxx

5:改变/home/cvsroot的目录属性

chmod rw /home/cvsroot

6:初始化cvs源码库,生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件

cvs -d /home/cvsroot init

7:创建可以登陆cvs服务的用户及密码,需要创建文件passwd

vi /home/cvsroot/CVSROOT/passwd

文件内容如下:

stphen_du:xxxxx:xxx

8.xxxxxx为密码,由以下文件生成: vi /home/cvsroot/passwdgen.pl 文件内容:

#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift; my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";

9.如果需要密码为:some,则敲入: passwdgen.pl "some" 回车即可得到加密密码,用其替换passwd文件中的xxxxxx

10.cvs服务
vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service

11.cvs 服务由inted来唤起,因此需要修改inetd服务,redhat使用的是inetd 方式则在文件/etc/inetd.conf中加入如下的内容:cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver

redhat使用的是xinetd方式,所以在xinetd.d目录下添加需要启动的服务:

cd /etc/xinetd.d
vi cvspserver

文件内容:

service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}

12.重新启动inetd或者xinetd:

/etc/rc.d/init.d/xinetd restart

13.检查cvspserver服务是否已经启动

netstat -l |grep cvspserver

结果如下:

tcp 0 0 *:cvspserver *:* LISTEN

以上结果全部通过,但是在我的客户机上执行

cvs -d :pserver:stephen_du@192.168.211.72:/home/cvsroot login

输入密码后,返回connection confuse信息

补:

cvs -d :pserver:stephen_du@192.168.211.72:/home/cvsroot login

输入密码后,没有收到任何消息,即表示成功

在客户端,设置环境变量如下:

export CVS_RSH=ssh
export CVSROOT=:pserver:username@ip:/home/cvsroot


软件2:
SVN:
它是针对CVS使用上的缺点进行改进的CVS,最近大家纷纷将代码由CVS移植到SVN上。
阅读(1388) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~