fai.conf − FAI Configuration




The configuration for a target host consists of two parts:

The NFSROOT, a very basic yet complete root file system, which is exported to clients. The NFSROOT is built using fai-make-nfsroot(8).

The configuration space, which is loaded as one of the first steps of a FAI run. Several tools and protocols are supported for maintaining and accessing the configuration space. See FAI_CONFIG_SRC below.

fai.conf defines the essential options to successfully start a FAI run. It must be valid bash(1) code. This configuration file is NOT copied into the nfsroot by fai-make-nfsroot.



This variable defines how to access the configuration space. It defines the protocol, the server and the location of the config space.

For an initial installation of a client this variable is defined by using fai-chboot(8). If you do a fai softupdate, you can set the value in /etc/fai/fai.conf or by using the option --cspace.

The following protocols and URL schemes are currently supported:

NFS: nfs://<server>/<exported directory>

Example: nfs://faiserver/srv/fai/config

Local directory: file://<directory>

The directory has to be an absolute path. So, this URL always starts with three slashes like this: file:///

CVS: cvs[+ssh]://<user>@<host>/<cvs root> <module>[=<tag>]

The config space is received from a cvs checkout.

Subversion: svn[+(file|http|https|ssh)]://[<user>@]<host>/<repository>

The config space checked out from a subversion repository using several protocol variants. Checkouts without a user name are also supported.

Git: git[+<protocol>]://<git path>

The config space checked out from a git repository, host can be empty. Also supported is git+http.

Mercurial: hg+(http|https)://<hg path>

HTTP: (http|https|scp|sftp)://<server>/<filename> where <filename> is a (compressed) tar archive.

The config space will be downloaded from the given location via the specified protocol. <filename> will be extracted by ftar(8), and thus needs to have a recognized suffix, such as .tar.gz or tar.xz.

LOGUSER Account name on the install server to save log files and call

fai-chboot(8). At the end of an installation, fai(8) may connect to the install server using FAI_LOGPROTO (see below) to store the generated log files and to change the network boot configuration of the target host. To fully enable this, configure .rhosts and PAM such that the configured user can log in from all install clients without password. This account should have write permissions for /srv/tftp/fai. For example, you can use write permissions for the group linuxadm. chgrp linuxadm /srv/tftp/fai;chmod g+w /srv/tftp/fai. If the variable is undefined, this feature is disabled.

FAI_LOGPROTO Protocol for saving logs

Supported values are: ssh (default), rsh, ftp and none. This will only be used if also LOGUSER is set.

ssh: Use the scp command to copy the log files to the log server.

rsh: Use the rcp command to copy the log files to the log server.

ftp: This option saves logs to the remote FTP server defined by the $LOGSERVER variable ($SERVER value is used if not set). Connection to the FTP server is done as user $LOGUSER using password $LOGPASSWD. The FTP server log directory is defined in $LOGREMOTEDIR. These variables are also defined in file server. All files in the directory /tmp/fai are copied to the FTP server following this example:


none: Don’t save the log files to the install server.

FAI_DEBMIRROR Access Debian mirror via NFS-mounted directory

If defined, FAI mounts the NFS share to $MNTPOINT during installation. Example: installserver:/srv/debianmirror


The port to which FAI sents messages, if the fai-monitor is running. Default to 4711. See also fai-monitor(8). This variable has to be set inside the nfsroot before the configuration space is available.


fai(8), fai−make-nfsroot(8), fai−setup(8), fai−mirror(1), fai−cd(8)

This file is part of FAI (Fully Automatic Installation). See the FAI manual for more information. The FAI homepage is http://fai-project.org.


This man page was written by Michael Tautschnig <mt@debian.org>.