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.
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
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:
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
For FreeBSD, obtain:
For NetBSD, obtain:
Once the binary and documentation packages have been obtained, the following will install them:
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:
Coda installs in the standard /usr tree:
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
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 <comma,seperated,list,of,servers> <cache_size_in_kilobytes>
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
NOTE:At least one Coda server must be specified and the minimum
cache size is 10MB (
This script not only creates
and the necessary sub-directories, but creates
and adds necessary Coda port numbers to
To start venus for the first time, become root and issue the following commands:
The last command allows you to monitor Venus as it reports messages to
# venus -init & # xterm -e tail -f /usr/coda/etc/console &
If you are upgrading Coda from a previous release, do not
venus-setup again! Simply obtain
the packages for your platform as indicated above. Then,
shutdown venus by becoming root and issue the following command:
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
# vutil -shutdown
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:
The <-init> flag is used to re-initialize the
# venus -init &
This section describes the changes that must be made to various configuration files. Samples of the files are contained in Appendix XXX.
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
start Venus at boot time, the script
rc.venus is provided
/usr/local/etc for FreeBSD systems and
venus.init is provided for Red
Hat Linux in
Linux uses should create the following symbolic link if it doesn't already exist:
This will allow
ln -sf /etc/rc.d/init.d/venus.init /etc/rc.d/
initto process the file and start Venus at boot time on Red Hat Linux systems.
*BSD systems should append the following line to
if [ -f /usr/local/etc/rc.venus ]; then . /usr/local/etc/rc.venus fi
if [ -f /usr/pkg/etc/rc.venus ]; then . /usr/pkg/etc/rc.venus fi
The following port numbers are added to
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:
# mknod /dev/cfs0 c 67 0
# mknod /dev/cfs0 c 93 0
# mknod /dev/cfs0 c 46 0
# mknod /dev/cfs0 c 51 0
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.
/usr/coda/etcCoda configuration files critical for Venus startup.
/usr/coda/venus.cacheCached copies of Coda files.
/usr/coda/spoolSave CMLs from aborted reintegrations.
/usr/coda/tmpTemporary hoard related files.
/etc/servicesVarious port numbers used by Coda for client and server communication.