Linux setup a Concurrent Versioning System (CVS) howto

Q. I am planning to use Concurrent Versioning System. I am using both Red Hat and Fedora Linux. How do I setup a CVS server?


A. Concurrent Versioning System (CVS) a widely used version control system for software development or data archiving solutions.

From the wiki page, “CVS keeps track of all work and all changes in a set of files, typically the implementation of a software project, and allows several (potentially widely separated) developers to collaborate”.

CVS Configuration – Install CVS

Use rpm or up2date or yum command to install cvs:# rpm -ivh cvs*OR# up2date cvsOR# yum install cvsCreate a CVS user# useradd cvs
# passwd cvs
Above command will create a user cvs and group cvs with /home/cvs home directory.

Configure CVS

Open /etc/profile and append following line:# vi /etc/profileAppend following line:export CVSROOT=/home/cvsSave the file and exit to shell promot.

Make sure your /etc/xinetd.d/cvs looks as follows:# less /etc/xinetd.d/cvsOutput:

service cvspserver
       disable            = no
       socket_type    = stream
       wait                = no
       user                = cvs
       group              = cvs
       log_type          = FILE /var/log/cvspserver
       protocol          = tcp
       env                 = '$HOME=/home/cvsroot'
       bind                =
       log_on_failure  += USERID
       port                = 2401
       server             = /usr/bin/cvs
       server_args     = -f --allow-root=/home/cvsroot pserver

Note: Replace with your actual server IP address.

Restart xinetd:# service xinetd restartAdd users to this group (see this howto for more info)# adduser username -g cvs
# passwd username
Client configuration
Finally user can connect to this CVS server using following syntax:
$ export CVSROOT=:pserver:vivek@
$ cvs loginWhere,

  • vivek – username
  • – CVS server IP

See also:

🥺 Was this helpful? Please add a comment to show your appreciation or feedback.

nixCrat Tux Pixel Penguin
Hi! 🤠
I'm Vivek Gite, and I write about Linux, macOS, Unix, IT, programming, infosec, and open source. Subscribe to my RSS feed or email newsletter for updates.

8 comments… add one
  • balaji May 9, 2008 @ 18:30

    thank you

  • Mitko Aug 25, 2008 @ 9:42

    very helpful, thanks!

  • surendra kumar Nov 13, 2008 @ 17:21

    some of the points you are missing vivak
    you didnt specified how to create repository,initilazing the cvs repository and import already existing projects
    any way nice artical

  • Ghulam Mohmad Nov 27, 2008 @ 5:53

    I am sory to ask again the same thing as i had asked for the CVS client installation on Linux i have already CVS server installed on one linux machine now i want to install CVS client on another linux machine please furnish a step by step guideline to acheive this.

    Waiting for reply.
    Ghulam Mohmad

  • Dev Feb 20, 2009 @ 11:15

    hey thanx for this document!!!!
    i have configured cvs successfully…. and its running on port 2401 by default..
    when i tried to connect ….ex.
    cvs -d :pserver:username@server_name:/usr/local/cvsroot login
    i got
    :unrecognized auth response from host usage: options …..

    please help me !!!!!
    any idea why this happens ?
    username is system account has rights to access cvs repository …

  • Vijay Thakur Mar 13, 2009 @ 5:26

    Yes a very helpful steps to configure to CVS in linux. But now i want to configure my other linux machine as a CVS client. For that what will be the steps and where can be the software obtained.

  • Shanker. Apr 10, 2009 @ 14:31

    cvs login: authorization failed: server rejected access to /home/cvsrep for user cvs

    Plz resolve the Issue

  • Binu Jayaraj Dec 4, 2009 @ 10:13

    Article was of great help. Thank you very much for sharing it. I would like to point out that, I couldn’t connect using pserver as the connection type instead I could manage connecting to server using extssh.

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Your comment will appear only after approval by the site admin.