---
name: "fai.conf"
section: "5"
platform: "linux"
package: "fai-client"
version: "6.4.3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/fai.conf"
---

# fai.conf(5)

FAI Configuration

## NAME

fai.conf - FAI Configuration

## SYNOPSIS

**/etc/fai/fai.conf**

## DESCRIPTION

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)](/fai-make-nfsroot/8.md).

- •

  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)](/bash/1.md) code. This configuration file is NOT copied into the nfsroot by fai-make-nfsroot.

## VARIABLES

- **FAI\_CONFIG\_SRC**

  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)](/fai-chboot/8.md). 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\>

  If the server is not specified, FAI tries to extract the server name from the nfsroot mount.

  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:///

- •

  Detect directory: detect://

  Check several places on a local storage. First check /media/data/config, otherwise use the default when booting an ISO (/var/lib/fai/config).

- •

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

  You can specify the branch by adding #\<branchname\> without a whitspace before the #.

  Example: git+ssh:://user@servername/srv/git/..../fai.git#branchname

  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)](/ftar/8.md), 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)](/fai-chboot/8.md). At the end of an installation, [**fai**(8)](/fai/8.md) 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. By default calling [fai-setup(8)](/fai-setup/8.md) will set up ssh access for **LOGUSER** so the install client can save the log files onto the server.

  This will not be passed onto the fai clients. To enable this on the fai clients check /srv/fai/config/class/FAIBASE.var to activate the transfer of logfiles to the server.

  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:

    ftp://$LOGUSER:$LOGPASSWD@$LOGSERVER/$LOGREMOTEDIR/

  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

- **FAI\_MONITOR\_PORT**

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

## SEE ALSO

[**fai**(8)](/fai/8.md), [**fai-make-nfsroot**(8)](/fai-make-nfsroot/8.md), [**fai-setup**(8)](/fai-setup/8.md), [**fai-mirror**(1)](/fai-mirror/1.md), [**fai-cd**(8)](/fai-cd/8.md)

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

## AUTHOR

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