fai - Fully Automatic Installation
fai [options] ACTION
fai [options] dirinstall DIRECTORY
fai [options] install DIRECTORY
FAI allows for non-interactive initial installation and online
maintenance ("softupdates") of operating systems according to a
user-defined configuration.
fai starts an fai-action, e.g. an installation or a softupdate. If
the variable FAI_ACTION is defined, this action will be performed. The
command line argument will override the value of FAI_ACTION. You can also
define your own actions which will be executed when specified.
- ACTION is
required.
- -C CFDIR
- Use CFDIR as the configuration directory. Default is /etc/fai.
- -c|--class
class[,class]
- Define classes. Multiple classes must be comma separated. If not
specified, use the shell environment variable $classes (space separated).
The first class has lowest priority. You need the script class/01-classes
in your config space for this to work, since -c only sets the variable
$cmdlineclasses.
- -h|--help
- Show help, version and summary of options.
- -N|--new
- Renew the list of defined classes. By default, FAI uses the list of
classes which was created during the first installation and skips calling
fai-class(1). You need this option for the first softupdate if the system
was not installed with FAI, you can also use it in subsequent runs.
- -s|--cspace
<URL>
- URL of the config space. See fai.conf for more information on the format
and which types of protocol are supported. This overrides the setting of
FAI_CONFIG_SRC in /etc/fai.
- -u|--hostname
<HOSTNAME>
- Use this hostname instead the output of the hostname command. This is
useful in conjunction with the dirinstall action, where you want to
manually define a hostname that should be used for defining classes and
for the network setup and other stuff. There, you don't want the name of
the host where you run fai dirinstall to be used - because programs in a
chroot, or in a virtualized OS instance should run with their own name,
and install their own set of classes.
- -v|--verbose
- Create verbose output.
- install
- starts a fully automatic installation:
- 1.
- setup the fai environment (create ramdisk, get configuration
data,...)
- 2.
- define classes and variables
- 3.
- partition the local hard disk and create file systems
- 4.
- install new software packages
- 5.
- call configuration scripts
- 6.
- check and save the logfiles
- sysinfo
- starts a system rescue:
- 1.
- setup the fai environment (create ramdisk, get configuration
data,...)
- 2.
- define classes and variables
- 3.
- do different types of hardware detection and print hardware info
- 4.
- save the logfiles
- softupdate
- starts a softupdate:
- 1.
- fetch FAI configuration according to /etc/fai/fai.conf
- 2.
- define classes and variables
- 3.
- update the installed packages
- 4.
- install new software
- 5.
- call configuration scripts
- 6.
- check and save the logfiles
- inventory
- print hardware inventory:
- 1.
- setup the fai environment
- 2.
- define classes and variables
- 3.
- List information about CPU, RAM, network devices, hard disks
- 4.
- save the logfiles
- dirinstall
[DIR]
- Installation into a directory. This is nearly the same action as install
except for skipping the task that partitions the hard disks and creates
the file systems. Classes can be defined with option -c, or by giving the
hostname with -u or --hostname and enabling automatic definition by class
scripts from hostname with -N. (Without -N class scripts aren't executed)
Running with action "install" on a running system will
almost certainly destroy it.
fai -v -s file:///srv/fai/config -cDEFAULT,FAIBASE dirinstall
/srv/etchroot
This command will do an installation into the directory
/src/etchroot. For defining variables, selecting the software packages and
calling the customization script the classes DEFAULT, FAIBASE and LAST are
used.
This program is the central part of FAI (Fully Automatic
Installation). See the FAI manual for more information on how to use FAI.
The FAI homepage is https://fai-project.org.
This manual page was written by Henning Glawe
<glaweh@physik.fu-berlin.de> and Thomas Lange
<lange@informatik.uni-koeln.de>.