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:
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./usr/local/sbin /usr/local/bin
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 < 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
/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:
The last command allows you to monitor Venus as it reports messages to# venus -init & # xterm -e tail -f /usr/coda/etc/console &
/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:
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 &
/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:
This will allowln -sf /etc/rc.d/init.d/venus.init /etc/rc.d/
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.