游乐游手机版
首页/系统平台/文章详情

Solaris 10.0 cvs的安装方法

时间:2026-04-15 17:09
在Solaris 10上搭建CVS服务器 想在Solaris 10上搭建一个用于代码管理的CVS服务器?这事儿说复杂也不复杂,按照下面的步骤走,基本上就能搞定。整个过程默认都以root身份来执行,这一点很重要。 第一步:确认系统架构并下载对应软件 首先,你得搞清楚你的服务器到底是Sparc架构还是X

在Solaris 10上搭建CVS服务器

想在Solaris 10上搭建一个用于代码管理的CVS服务器?这事儿说复杂也不复杂,按照下面的步骤走,基本上就能搞定。整个过程默认都以root身份来执行,这一点很重要。

第一步:确认系统架构并下载对应软件

首先,你得搞清楚你的服务器到底是Sparc架构还是X86(i386)架构。打开终端,输入一个简单的命令就知道了:

# uname -p

根据这个结果,去GNU的CVS稳定版下载页面寻找对应的版本。Sparc架构就选sparc-sunos/目录,X86架构则选x86-sunos/目录。比如,我的X86机器下载的就是这个文件:x86-sunos/cvs-1.11.21-SunOS-5.8-i386.gz

第二步:解压安装CVS程序

下载完成后,用gunzip解压,然后把得到的文件挪到/usr/sfw/bin/目录下,并重命名为cvs,别忘了赋予它可执行权限。

# gunzip cvs-1.11.21-SunOS-5.8-i386.gz
# mv cvs-1.11.21-SunOS-5.8-i386 /usr/sfw/bin/cvs
# chmod a+x /usr/sfw/bin/cvs

到这里,你手上的cvs程序其实已经可以作为客户端直接访问远程的代码库了。但如果想让这台机器成为服务器,还得继续往下走。

第三步:初始化源代码仓库

所谓的源代码仓库,就是一个专门存放项目所有版本历史的地方。我们先创建一个目录,然后用刚才装好的cvs命令来初始化它。

# mkdir -p /usr/local/newrepos
# /usr/sfw/bin/cvs -d /usr/local/newrepos init

这样,/usr/local/newrepos就成了我们未来的代码大本营。

第四步:配置仓库权限

直接让root管理所有代码不安全,最好是创建一个专门的用户和组。创建一个名为cvs的组,再建一个属于这个组的用户cvsadmin,并设置好密码。

# groupadd cvs
# useradd cvsadmin
# passwd cvsadmin

接着,编辑/etc/group文件,确保cvsadmin用户确实在cvs组里。文件里的相关一行应该是这样的:

cvs::100:cvsadmin

最后,把这个新组的权限赋给整个代码仓库目录。

# cd /usr/local/newrepos
# chgrp -R cvs .
# chmod ug+rwx .

第五步:导入第一个项目

仓库建好了,现在可以往里面放东西了。假设你本地已经有一个项目,目录是/projects/myproject,那么“导入”过程是这样的:

# cd /projects/myproject
# /usr/sfw/bin/cvs -d /usr/local/newrepos import -m "log msg" myproject mycompany start
# chgrp -R cvs /usr/local/newrepos

执行成功后,恭喜,你已经可以用cvs命令在本地管理这个项目的版本了。

第六步:配置远程访问(关键步骤)

如果希望团队其他成员能从别的机器访问这个仓库,还需要进行网络服务的配置。

首先,在/etc/services文件里添加一行,定义CVS服务使用的端口:

cvspserver        2401/tcp                        # cvs server tcp port

然后,在/etc/inetd.conf文件中加入下面这行配置,告诉系统如何启动CVS服务:

cvspserver stream tcp nowait root /usr/sfw/bin/cvs cvs --allow-root=/usr/local/newrepos pserver

接下来,用inetconv命令让系统服务管理器(inetd)接管CVS服务:

# inetconv -i /etc/inetd.conf

命令执行后,你可能会看到类似下面的输出,这表示服务清单已经生成了:

inetconv: Notification: 100235/1 的服务清单已生成为 /var/svc/manifest/network/rpc/100235_1-rpc_ticotsord.xml, 跳过
inetconv: Notification: cvspserver 的服务清单已生成为 /var/svc/manifest/network/cvspserver-tcp.xml, 跳过

有时候,如果xml文件已存在,你可能需要先删除旧的清单文件再重新执行命令,以确保配置被正确导入:

# ls -la /var/svc/manifest/network/cvspserver-tcp.xml
# rm /var/svc/manifest/network/cvspserver-tcp.xml
# inetconv -i /etc/inetd.conf

最后,启用这个服务:

# svcadm enable svc:/network/cvspserver/tcp:default

你可以用inetadm命令检查服务状态,用telnet测试端口是否通畅:

# inetadm | grep cvs
# telnet localhost 2401

第七步:设置CVS远程登录密码

CVS有自己独立的密码文件,位于仓库的CVSROOT/passwd。密码需要加密格式,最简单的办法是从/etc/shadow文件里复制对应用户的加密串。

# more /etc/shadow
... (找到cvsadmin用户的加密密码行,例如 cvsadmin:O0QcwHtwGHAO2:14039::::::)
# echo "cvsadmin:O0QcwHtwGHAO2" > /usr/local/newrepos/CVSROOT/passwd

注意文件权限问题:如果后续用cvsadmin用户登录时遇到.cvspass文件权限错误,可能需要root帮忙调整一下文件所有者和组。

第八步:客户端远程访问测试

服务器端都好了,现在换到另一台机器试试。

首次连接需要先登录认证:

# cvs -d :pserver:cvsadmin@[你的服务器IP或主机名]:2401/usr/local/newrepos login

认证成功后,就可以把整个项目“检出”(checkout)到本地了:

# cvs -d :pserver:cvsadmin@[你的服务器IP或主机名]:2401/usr/local/newrepos co myproject

总结

至此,一个功能完整的CVS服务器就配置完成了。整个流程其实非常标准化:前期是搭建环境和初始化仓库,核心在于权限管理和服务配置,最后用客户端验证。如果后续需要添加新用户,只需将他们加入cvs组,并在/usr/local/newrepos/CVSROOT/passwd文件中为其添加一行加密密码即可。虽然CVS如今已不是最主流的版本控制工具,但在特定环境下,它依然是一个稳定可靠的选择。

来源:https://www.jb51.net/os/Solaris/1689.html
上一篇FreeBSD系统下安装字体的步骤详解 下一篇gnu bash shell编程之bash编程常用语法、特殊变量整理到一张图片上
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送