Description of the classes		Wed, 30 Jun 2004 22:39:47 +0200
--------------------------

If you want to find all files (except hostnames) that are classes try:
   find /usr/local/share/fai -type f | egrep '/[[:upper:][:digit:]_]+$'

In cfengine scripts you can find class names using:
   egrep -r '[[:upper:][:digit:]_]+::' /usr/local/share/fai

Shell scripts are using the commad ifclass. So use:
   egrep -r 'ifclass[[:space:]]+[[:upper:][:digit:]_]+' /usr/local/share/fai


Class name       used in  Description
----------------------------------------------------
	       CHVDPSF A	  

SMALL_IDE	  D    A  disk layout for one disk smal IDE disk

BOOTP_SERVER	   P	  packages for a BOOTP server

DHCPC		   PS     do network configuration using dhcp-client

DHCP_SERVER	   P	  packages for a DHCP server

COMPILE		   P	  packages for software development

DEBIAN_DEVEL	   P	  packages nedded by Debian developers

GERMAN		   P	  packages for the german environment

MENU           C          pop up a menu which defines a new class

NFS_SERVER	   P   A  add user space nfs server to package list

NONIS		    SF A  dont't use NIS

NIS	 	   PSF A  add NIS software, and configure NIS (nsswitch.conf,
			  defaultdomain,host.conf.yp.conf)

NTP		   PS	  add ntp software, create ntp.conf

XFREE		   P      packages for xfree server, fonts,...

SERVER		   PS     long list of packages and add tcsh to /etc/shells

KERNEL_SOFT	   P	  install kernel sources and related packages

HOME_CLIENT	    S	  add nfs mount $hserver:/home to fstab

HOME_SERVER	    S	  export /home and /usr to  @faiclients 

DATALESS	 V  SF	  add nfs mount $bserver:/usr to fstab, make /vol
			  symlink, extract /usr/local/vol archive if available

USR_LOCAL_MOUNT     S	  add nfs mount $bserver:/usr/local to fstab

USR_LOCAL_COPY      S	  copy /usr/local to client

USR_LOCAL_RSYNC     S	  rsync /usr/local from $LOGUSER@$bserver to client

SCRATCH		    S  A  export /scratch to netgroup @faiclients

FILES_SCRATCH	    SPFA  export /files/scratch to netgroup @sundomain and/or
			  @faiclients,  install auto.master and auto.scratch

LILO		    S	  create lilo.conf, install lilo

GRUB		    S	  install and configure grub

FAI_BOOTPART	    S     add fai boot menu to lilo.conf or grub's menu.lst

NETWORK		    S	  disable fingerd, talkd, ntalkd, rexecd, discard,
			  daytime, identd in inetd.conf; create network
			  configuration, resolv.conf, copy ssh_known_hosts

NOSECURETTY         S     allow remote login for root

NOTCPD		    S     don't use tcp wrapper for rsh, rlogind,
			  rstatd and rusersd

NOTEBOOK	   PS	  increase max count between two fsck for all
			  partitions and install special notebook
			  packages

NOGETTY             S     disable getty, no login on console

LAST		    S 	  remove backup files of cfengine, link /tmp
			  if necessary, add nfs location of debian
			  mirror to fstab 

DEFAULT	       C V PS  A  minimal software list, set timezone, hostname, create
			  lo device configuration, keymap, copy dot files for
			  root account, make /dev/fd* writeable for all, CDROM
			  readable for all, install kernel package
                       	  set UTC, longer interval for marks in syslogd, set
			  passwd for root account, add account roott
			  with same password

CS_KOELN       C V P F	  generic disk layout, templates of dot files
			  and extra packages for our institute

SPARC		   P   A  install packages sparc-utils

AUDIO              P      install some packages for audio

MBR		    S     install lilo into MBR (otherwiese into root partition)

DISKLESS        H	A mount nfs directories instead of
			  partitioning local disks

BEOWULF            P F    Packages for Beowulf clients, hosts.equiv for Beowulf

ATOMCLIENT       V        define variables for Beowulf atom?? clients

NETTOOLS           P      install extra network packages like nmap, traceroute,
                          fping which are not standard user tools

BSDAMD             PSF    Packages for BSD automouter, amd.conf,
                          default/am-utils and sources.list are copied

SCANNER            P      Install sane scanner environment

SCSI	           P	A Install scsitools package

DNS_SERVER         P      Package for an DNS server

MATROX		     F    precreated XF86Config-4 file

Explanation of "used in":
-------------------------
C = /fai/class/
V = used for *.var in /fai/class
D = /fai/disk_config/
P = /fai/package_config/
S = /fai/scripts/
F = /fai/files/ (used by fcopy)
A = auto class (defined by a script)
H = /fai/hooks

The following classes should always be defined:

LAST, DEFAULT (are defined by default)
BOOT and maybe MBR

Some classes depends on another class. For example, the class NTP is used
in the script NETWORK. So both classes must be defined if the ntp
configuration should be created.
