fai(8)

NAME
fai - Fully Automatic Installation

SYNOPSIS
fai [options] ACTION
fai [options] dirinstall DIRECTORY
fai [options] install DIRECTORY

DESCRIPTION
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.

OPTIONS

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.

-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.

ACTIONS

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)

NOTES
Running with action "install" on a running system will almost certainly destroy it.

EXAMPLES
   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.

SEE ALSO
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.

AUTHOR
This manual page was written by Henning Glawe <glaweh@physik.fu-berlin.de> and Thomas Lange <lange@informatik.uni-koeln.de>.