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
ftp://ftp.coda.cs.cmu.edu/pub/coda/<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:
Obtain: ftp://ftp.coda.cs.cmu.edu/pub/coda/linux/i386/
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
For FreeBSD, obtain:
ftp://ftp.coda.cs.cmu.edu/pub/coda/freebsd/<OS-RELEASE>/i386/
For NetBSD, obtain:
ftp://ftp.coda.cs.cmu.edu/pub/coda/netbsd/<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:
Coda installs in the standard /usr tree:
/usr/sbin
/usr/bin
Coda installs in the /usr/local tree:
/usr/local/sbin
/usr/local/bin
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:
venus-setup <comma,seperated,list,of,servers> <cache_size_in_kilobytes>
. 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
.
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/
.
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
:
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 /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:
# 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/etc
Coda configuration files critical for Venus startup./usr/coda/venus.cache
Cached copies of Coda files./usr/coda/spool
Save CMLs from aborted reintegrations./usr/coda/tmp
Temporary hoard related files./etc/services
Various port numbers used by Coda for client
and server communication.