Coda File System

Next Previous Contents

8. Installing and Configuring a Coda Client

A Coda client can be run on any workstation that has kernel support for Coda in its kernel. This chapter assumes the chapter on Configuring Kernels for use with Coda has been read. It contains valuable information for building a kernel if a pre-built kernel with Coda support (or loadable coda kernel modules) cannot be used. Supported UNIX ™ -like platforms are currently Linux, FreeBSD and NetBSD.

8.1 Installing and Configuring the Coda Client Binaries and Documentation

We currently provide binary distributions of the Coda client software for Red Hat Linux (i386 and Sparc), FreeBSD and NetBSD (i386). Red Hat Linux's rpm package format is supported. NetBSD 1.3.X and FreeBSD package format are supported as well. Please consult the INSTALL. < platform > available on / < platform > for the current version of Coda and for last minute updates which possibly have not made their way into the manual. To install the binaries for each platform, the following instructions apply:

For Linux


  • coda-debug-module- < kernel_version > - < coda_release > .i386.rpm
  • coda-debug-clients- < kernel_version > - < coda_release > .i386.rpm
  • coda-doc- < coda_release > .i386.rpm

NOTE: We provide a binary glibc (GNU C library) version of Coda for Red Hat 5.X and higher. Coda has run successfully on other versions of Linux and with different C libraries too.

To install the binary and documentation packages, do:

  • rpm -Uvh coda-module- < kernel_version > - < coda_release > .i386.rpm
  • rpm -Uvh coda-debug-clients- < kernel_version > - < coda_release > .i386.rpm
  • rpm -Uvh coda-doc- < coda_release > .i386.rpm
FreeBSD and NetBSD:

For FreeBSD, obtain: < OS-RELEASE > /i386/

For NetBSD, obtain: < OS-RELEASE > /i386/

Once the binary and documentation packages have been obtained, the following will install them:

  • pkg_add coda-clients- < OS_RELEASE > - < coda_release > /
  • tar zxfc coda-doc- < coda_release > .tgz -C /usr/share

Please make sure the correct path for your platform is set in your environmental PATH variable:

For Linux:

Coda installs in the standard /usr tree:


For FreeBSD:

Coda installs in the /usr/local tree:


which is not usually part of the FreeBSD path search, particularly for the root account. Please make sure this is part of your seach PATH.

Please note the NetBSD has elected to create a new tree to install NetBSD packages into (NetBSD uses /usr/pkg instead of /usr/local ). Coda creates package based on this /usr/pkg tree. Please make sure this tree is in your search path as the /usr/pkg is not part of the default PATH settings under NetBSD.

Once the binaries and documentation are installed, configuration of Venus is identical for all platforms when venus-setup is used. To run the script, type:


. For example,

venus-setup micky,minnie,goofy 40000

will setup up venus to look for the set of servers micky, minnie and goofy and configure Venus to use 40MB of disk space for caching. This information is kept in /usr/coda/etc/vstab .

NOTE: At least one Coda server must be specified and the minimum cache size is 10MB ( 10000 ).

This script not only creates /usr/coda and the necessary sub-directories, but creates /usr/coda/etc/vstab , and adds necessary Coda port numbers to /etc/services .

To start venus for the first time, become root and issue the following commands:

# venus -init
# xterm -e tail -f /usr/coda/etc/console

The last command allows you to monitor Venus as it reports messages to /usr/coda/etc/console .

8.2 Upgrading from a previous Release

If you are upgrading Coda from a previous release, do not run venus-setup again! Simply obtain the packages for your platform as indicated above. Then, shutdown venus by becoming root and issue the following command:

# vutil -shutdown

Next, install the binary packages following the installation instructions above. Make sure you have the appropriate kernel for *BSD systems or the correct module for Linux systems. The INSTALL. < platform > document available from the ftp site will contain relevant notes about upgrading the kernel for *BSD systems and the module for Linux systems. INSTALL. < platform > will provide necessary advice on which kernel to use with a provided Coda release.

Also, the Chapter on Installing and Configuring a kernel for use with Coda has information on configuring and building a kernel kernel (or loadable module) if a pre-build kernel or module won't work for the target platform.

Once the new binaries are installed and the any necessary kernel updates are completed, you need to start the new venus for the first time by becoming root and typing:

# venus -init

The < -init > flag is used to re-initialize the /usr/coda/venus.cache/ .

8.3 Configuration Changes made by venus-setup

This section describes the changes that must be made to various configuration files. Samples of the files are contained in Appendix XXX .


Create a vstab file in /usr/coda/etc to contain the Coda file system table information. The contents of this file are explained in the man page vstab(5) .


To automatically start Venus at boot time, the script rc.venus is provided in /usr/local/etc for FreeBSD systems and /usr/pkg/etc for NetBSD. venus.init is provided for Red Hat Linux in /etc/rc.d/init.d .

Linux uses should create the following symbolic link if it doesn't already exist:

ln -sf /etc/rc.d/init.d/venus.init /etc/rc.d/

This will allow init to process the file and start Venus at boot time on Red Hat Linux systems.

*BSD systems should append the following line to /etc/rc.local :

For FreeBSD:

if [ -f /usr/local/etc/rc.venus ]; then
        . /usr/local/etc/rc.venus

For NetBSD:

if [ -f /usr/pkg/etc/rc.venus ]; then
        . /usr/pkg/etc/rc.venus


The following port numbers are added to /etc/services by venus-setup :

coda_opcons     1355/udp                        # Coda opcons
coda_auth       1357/udp                        # Coda auth
coda_udpsrv     1359/udp                        # Coda udpsrv
coda_filesrv    1361/udp                        # Coda filesrv
coda_venus      1363/udp                        # Coda venus
coda_backup     1407/tcp                        # coda backup service
codacon         1423/tcp        venus.cmu       # Coda Console
coda_aux1       1431/tcp                        # coda auxiliary service
coda_aux1       1431/udp                        # coda auxiliary service
coda_aux2       1433/tcp                        # coda auxiliary service
coda_aux2       1433/udp                        # coda auxiliary service
coda_aux3       1435/tcp                        # coda auxiliary service
coda_aux3       1435/udp                        # coda auxiliary service


The following major and minor numbers are used for the various platforms:

Please be sure to check the INSTALL. < platform > to make sure these numbers have not changed. For Linux and FreeBSD, the above numbers are officially registered. Coda on NetBSD at present does not have formally registered major device numbers so these are subject to change from release to release.

8.4 Where Data and Configuration Information is Stored

Next Previous Contents