fai.conf(5)
π fai.conf β FAI Configuration π
okay so bestie, welcome to fai.conf(5), aka the File Formats Manual page that runs the whole FAI show. this is the glow-up guide for your config file, and it's honestly iconic. let's get into it β¨
πΈ SYNOPSIS πΈ
/etc/fai/fai.conf
π¦ DESCRIPTION π¦
so like, the configuration for a target host comes in two parts, and both of them are essential, no cap:
- The NFSROOT β a very basic yet complete root file system, which is exported to clients. it gets built using
fai-make-nfsroot(8). π«Ά - The configuration space β this one gets loaded as one of the very first steps of a FAI run. several tools and protocols are supported for maintaining and accessing it. see
FAI_CONFIG_SRCbelow for the deets π
fai.conf defines the essential options you need to successfully start a FAI run. it must be valid bash(1) code, periodt. and important: 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. it's giving "where is everything" energy.
for an initial installation of a client, this variable is defined by using fai-chboot(8). if you're doing 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. sneaky but valid π
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://
checks 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 #. (yes, that typo is canon, we don't fix what the manpage said bestie π)
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), 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. by default calling fai-setup(8) will set up ssh access for LOGUSER so the install client can save the log files onto the server. main character logistics honestly π
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. no LOGUSER, no logs going anywhere, simple as that β¨
ssh: use thescpcommand to copy the log files to the log server.rsh: use thercpcommand to copy the log files to the log server.ftp: this option saves logs to the remote FTP server defined by the$LOGSERVERvariable ($SERVERvalue is used if not set). connection to the FTP server is done as user$LOGUSERusing password$LOGPASSWD. the FTP server log directory is defined in$LOGREMOTEDIR. these variables are also defined in filefai.conf. you need write access for the$LOGREMOTEDIRon the FTP server. all files in the directory/tmp/faiare 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. defaults to 4711. see also fai-monitor(8). π
β οΈ heads up bestie: this variable has to be set inside the nfsroot before the configuration space is available. don't sleep on it.
π«Ά SEE ALSO π«Ά
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 https://fai-project.org. π
π AUTHOR π
this man page was written by Michael Tautschnig <mt@debian.org>.
and that's the whole thing, bestie! π this page is from FAI 4.0, dated December 2013 β vintage but still serving absolute cvnt π β¨ go configure something iconic, you've got this π¦
π¦ where this page comes from
- ubuntu stonking: fai-client 6.6ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms