The /campus File System


Introduction and Motivations

The /campus file system can be found on all corporate servers in BII. It is a file system shared among all 8 application servers, whatever files in here can be accessed by all equally. Thus, the app servers only differ in the applications they run. They otherwise have access to the same set of files. The physical storage for the /campus file system is provided by a central file server. Only corporate servers are allowed to mount the /campus file system.

Since all app servers mount /campus, user files can be accessed from any app server. In addition to user files, applications installed in /campus are equally accessible by all 8 servers. Thus services like DNS, mail, proxy, etc, can be started up by any of the 8 servers. If one server breaks down, the surviving servers simply run the apps which were previously running on the broken server. Services run on the various app servers may be moved around for load balancing. In addition, several instances of a particular service may be started up on multiple app servers so as to provide redundancy or load balancing via multiple DNS entries.

Local storage on each of the app servers is limited to base OS only. Add on software, scripts and tools are obtained from /campus. With this architecture, an app server can be rapidly deployed/reinstalled and brought into production status without much configuration or preparation.

File System Layout

There are currently 3 main subdirectories in the campus file system. They are :

/campus/apps

This is where software applications for BII corporate services are installed. In addition to corporate software, commonly used user tools and applications are installed here as well. In order to support various versions of unix, software in here is installed in platform specific directories. Currently, Linux (x86) and Solaris (sparc) packages are installed in :

    /campus/apps/i686
    /campus/apps/sun4u

/campus/home

This is where all user home directories are located. Users should be careful with the permissions to their home directories. Your home directory is /campus/home/username. On any app server, it is the same as /home/username. All staff and masters student home directories are here. By default, files placed in users home directories are readable by other users.

/campus/sys

Files and directories in here are used primarily for service configuration, startup and shutdown. Users may refer to files here if they wish to check out how services on corporate servers are configured.

Software Packages (Solaris, sparc)

The following software packages have been installed at /campus/apps/sun4u/packages. Some are BII corporate services, others may be of interest to various users. If there is a piece of software you find useful and want the BII community to enjoy, please feel free to suggest to the IT systems team.

As of 1st March 2004

Software Description
LPRng-3.8.21 Network printing
antidefacer-0.2 Package to track webpage changes
atail-0.1 A tail which follows logfiles even when they rotate
atk-1.2.4 Accessibility Toolkit
bind-9.2.2 DNS server and client tools
bison-1.875 A parser generator
checkpassword-pam-0.95 A password checker which uses the system PAM libraries
coreutils-5.0 Various unix utilities built from source (eg, ls, cp, md, etc).
courier-imap-1.7.3 IMAP server
cyrus-sasl-2.1.15 The SASL encryption library
db-4.1.25 A database API
ethereal-0.8.14 Used for capturing packets on the network
expect-5.39 A tool for automating interaction with other commandline tools
festival-1.4.3 A text to speech generator
fetchmail-6.2.3 Tool for automated mail fetching from IMAP or POP sources
flex-2.5.4 A lexical analyser
gcc-2.95.3 C, C++, fortran compiler
gcc-3.2.2 C, C++, fortran compiler
gdb-5.0 The GNU debugger
gdbm-1.8.3 A database API
gettext-0.12.1 Framework for producing multi-lingual messages
ghostscript-7.05 PostScript and PDF language interpreter and previewer
gimp-1.2.5 A graphics manipulation tool
glib-1.2.10 An API for useful C routines (eg trees, hashes, etc)
glib-2.2.2 An API for useful C routines (eg trees, hashes, etc)
gnuplot-3.7.3 An interactive 2D/3D plotting program
gq-0.7.0beta2 A graphical LDAP browser
gtk+-1.2.10 A graphics toolkit
gtk+-2.2.2 A graphics toolkit
http-parse-0.1 Commandline tool for parsing CGI parameters.
httpd-2.0.45 The Apache webserver
httpd-2.0.48 The Apache webserver
j2sdk1.4.1_03 Java Deverloper's Kit
jpeg-6b JPEG libraies
libart_lgpl-2.3.3 An API for 2D graphics
libnet-1.1.0 API for packet injection
libpcap-0.7.2 API for packet capture
libpng-1.2.5 API for PNG graphics manipulation
lsof_4.68 Tool to show open files, sockets, etc
lynx2-8-4 A text based web browser
m4-1.4 A macro processor
make-3.79.1 GNU make utility
mozilla-1.4 A web browser, email client and calendar
mutt-1.4 A text based email client
mysql-3.23.57 The MySQL database server and client utilities
ntop-2.2c Utility to monitor and report various network statistics
ntp-4.1.2 Network Time Protocol tools
octave-2.0.16 A high-level interactive language for numerical computations
openldap-2.1.22 LDAP server and client tools
openssh-3.7.1p1 Secure Shell server and client tools
openssh-3.7.1p2 Secure Shell server and client tools
openssl-0.9.7b SSL encryption API and tools
openssl-0.9.7c SSL encryption API and tools
opera-6.12-beta1 A web browser
pango-1.2.3 Library for layout and rendering of text.
patch-2.5.4 GNU patch utility
perl-5.8.0 Perl package
pgp-2.6.3 Pretty Good Privacy encryption tools
php-4.3.2 PHP scripting interpreter
pine4.56 A text email client
pkgconfig-0.15.0 A package to put together build flags for compiling/linking
procmail-3.22 Email processing utility with tons of customizable rules
proftpd-1.2.8 FTP server daemon
qmail-1.03 SMTP and POP services
rrdtool-1.0.45 Tool for manipulating round-robin databases
rsync-2.5.6 File/directory synchronization tool
safecat-1.9 Tool for writing files into ./Maildir/
samba-2.2.8 File and print sharing utilities for windows
screen-3.9.9 A terminal multiplexing tool
spamassassin-2.55 A package of perl scripts which analyse mail for spam
speech_tools-1.2.3 C++ API frequently used in speech software
squid-2.5.STABLE3 HTTP proxy server
squirrelmail-1.4.1 Web based Email client
sredir-0.1 Socket redirector utility
stunnel-4.04 A socket redirector with SSL support
tar-1.13 The GNU tar utility
tcl8.4.4 The TCL scripting interpreter
tcpdump-3.7.2 A tool for packet capture
tiff-v3.5.7 TIFF image processing API
tightvnc-1.2.9 A virtual desktop / virual X server software
tk8.4.4 Tool for writing apps with TK/TCL language
top-3.5beta12 Display processes and memory consumption
tripwire-1.3.1 Security tool for monitoring file changes
ttcp-0.1 Network bandwidth tester
ucd-snmp-4.2.3 SNMP tools
ucspi-tcp-0.88 TCP wrappers and TCP server tools
xv-3.10 An image display tool
zlib-1.1.4 Data compression API