CVS configuration

zhaozj2021-02-16  173

CVS represents a collaborative version of the system; this is a system that puts a set of files in the hierarchy tree to keep synchronous systems. People can update their local hierarchy copies from the CVS server and send the modified result or new file; or delete the old file.

CVS based on client / server behavior makes it easy to accommodate multiple users, and it is convenient to constitute a network. This feature allows CVS to become the first choice when people in different locations have handled data files (especially the source code of the program).

All important free software items use CVS as a central point between its programmers to integrate the improvements and changes to each programmer. These items include: GNome, KDE, The GIMP, WINE, and more.

Therefore, it is naturally, Mandrakesoft also uses CVS as its own development management platform.

Below is my own steps I have in configuring CVS servers and clients, I hope to save you time, one step is to ^ - ^

All steps to configure the server are as follows:

1: I use Linux RedHat9.0

2: Established a CVS user group

GroupAdd CVS

3. Establish a CVSRoot user and the directory of the CVS group

UserAdd -g cvs -g cvs -d / home / cvsroot cvsroot

4: Add a password for cvsroot users

Passwd cvsroot

5: Change / home / cvsroot directory properties

CHMOD 775 / HOME / CVSROOT

6: Initialize the CVS source library, this operation generates directory / home / cvsroot / cvsroot, under the initialization file

CVS -D / home / cvsroot init

7: Create a user and password that can log in to the CVS service, you need to create a file passwd

Vi / Home / CvsRoot / CVSROOT / Passwd

The document content is as follows:

Steven: xxxxx: cvsroot

8.xxxxxx is a password, generated by the following file: vi /Home/cvsroot/passwdgen.pl file content:

#! / 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. If you need a password to: Some, type: passwdgen.pl "some" Enter the encrypted password to return to the xxxxxx in the Passwd file

10. Join the CVS service (my Redhath9 has a CVS service, so you don't have to add)

VI / ETC / SERVICES

CVSPSERVER 2401 / TCP #PServer CVS Service

CVSPSERVER 2401 / UDP #PServer CVS Service

11. CVS service is evoked by my intend, so I need to change the service provided by inetd, my RedHat is used in the inetd method to add the following: CVSPSERVER Stream TCP NOT / USR / BIN / CVS cvs - allow-root = / home / cvsroot PServer

My RedHat9 uses the Xinetd method, so adds services that need to be started in the xinetd.d directory:

CD /etc/xinetd.d

VI CVSPSERVER

document content:

Service CVSPServer

{

Disable = no

Flags = Reuse

Socket_type = streamwait = no

User = root

Server = / usr / bin / cvs

Server_Args = -f - allowow-root = / home / cvsroot pserver

LOG_ON_FAILURE = UserID

}

12. Restart inetd or xinetd:

/etc/rc.d/init.d/xinetd Restart

13. Check if the CVSPSERVER service is already started

NetStat -l | grep cvspserver

The results are as follows:

TCP 0 0 *: CVSPSERVER *: * LISTEN

All the above results passed, but executed on my client (redhat9)

CVS -D: PServer: steven@192.168.211.72: / home / cvsroot login

After entering the password, return Connection Confuse Information

Supplement:

CVS -D: PServer: steven@192.168.211.72: / home / cvsroot login

After entering the password, no message is received, that is, it means successful

^ _ ^ no news is a good news !!

In the client, set the environment variable as follows:

Export CVS_RSH = SSH

Export cvsroot =: pserver: username @ ip: / home / cvsroot

You can

Echo $ CVS_RSH

SSH

Echo $ CVSROOT

: pserver: UserName @ ip: / home / cvsroot

So you can enter CVS login directly on the client.

Other operations can directly CVS Command

转载请注明原文地址:https://www.9cbs.com/read-8837.html

New Post(0)