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@cs.uni-koeln.de>.