Variables
Jump to navigation
Jump to search
The following Variables do exist in FAI (example values included):
Please do not edit that much, without contacting Mrfai. Currently it's my private list of variable and comments.
type: int = internal use only; CS used in config space (often defined by *.var)
Which variables are needed inside the nfsroot, so the install clients can use them? (maybe write them into fai-client.var or nfsroot.var). Then do not copy fai.conf into the nfsroot any more.
| name | type | default value | example value | created by | used by | comments | |
|---|---|---|---|---|---|---|---|
| -- | |||||||
| FAI_CONFIG_SRC | nfs://faiserver/srv/fai/config | different sources | get-config-dir | fai-chboot -u, fai -s | |||
| FAI_ACTION | install, sysinfo, softupdate, inventory | fai-chboot via kernel command line | save_log_local() save_log_remote_shell() save_log_remote() get_bootp_info() task_action(), fai-savelog-ftp, updatebase | ||||
| FAI_SENDID | mac | kernel command line, fai-chboot | task_confidir | ID which is sent to fai monitor: host, mac or pxe | |||
| -- | |||||||
| FAI | /var/lib/fai/config | fai.conf | almost every function | location of the CS on the client | |||
| LOGUSER | fai | fai.conf | fai-setup, fai-savelog, fai-savelog-ftp,task_chboot() | empty LOGUSER will disable logging | |||
| NFSROOT | /srv/fai/nfsroot/ | nfsroot.conf | fai-setup, fai-make-nfsroot, fai-cd, fai-mirror, make-fai-bootfloppy | not needed in $NFSROOT, only needed on the install server | |||
| TFTPROOT | /srv/tftp/fai | nfsroot.conf | fai-make-nfsroot, fai-chboot | not needed in $NFSROOT, only needed on the install server | |||
| FAI_CONFIGDIR | /srv/fai/config | nfsroot.conf | *.postinst, fai-setup, fai-cd, fai-mirror, fai-make-nfsroot | configs space on the server | |||
| FAI_ALLOW_UNSIGNED | CS | 1 | class/*.var | prepareapt | allow installation of packages from unsigned repositories | ||
| FAI_BASEFILEURL | CS | https://fai-project.org/download/basefiles/ | class/*.var | task extrbase | download base.tar.xz using a class name via HTTP or FTP | ||
| LOGDIR | /tmp/fai | fai | very often | mostly set to /var/log/fai/$HOSTNAME/.... | |||
| LOGPASSWD | CS | class/*.var | fai-savelog-ftp | moved from fai.conf to CS | |||
| LOGREMOTEDIR | CS | upload | class/*.var | fai-savelog, fai-savelog-ftp | moved from fai.conf to CS | ||
| LOGSERVER | CS | class/*.var | fai-savelog, fai-savelog-ftp | default: LOGSERVER=$SERVER, moved from fai.conf to CS | |||
| MNTPOINT | /media/mirror | fai-make-nfsroot, fai-mirror, task_mirror() | influences entries in sources.list, may become a fixed path | ||||
| STOP_ON_ERROR | 99999 | class/*.var | task_error() | errors greater STOP_ON_ERROR will cause fai to stop the installation | |||
| SERVERINTERFACE | eth0 | nfsroot.conf | fai-setup | used to specify interface when building exportfs line, only needed when install server has multiple interfaces | |||
| FAI_DEBMIRROR | $mirrorhost:/srv/debmirror | fai.conf | move to nfsroot.conf, but needed in $NFSROOT/../fai.conf | ||||
| monserver | kueppers | task_confdir | sendmon() | name of host where faimond is running. default: monserver=$SERVER, but must be set before CS is available (e.g in fai.conf, kernel command line) | |||
| FAI_MONITOR_PORT | 4711 | task_confdir | sendmon() | port of the fai-monitor, must be set before CS is available (e.g in fai.conf inside the nfsroot or on the kernel command line) | |||
| duration | int | if set to 1 every task prints its execution time | |||||
| -- | |||||||
| target | /target | same as $FAI_ROOT | |||||
| ROOTCMD | 'chroot /tmp/target' | almost every script | |||||
| FAI_RUNDIR | cwd where fai was called | fai | scripts/LAST/50-misc | used for copying the kernel and initrd to the outside world | |||
| CONSOLEFONT | CS | class/*.var | |||||
| KEYMAP | CS | de | class/*.var | ||||
| FAI_KEEP_CRYPTKEYFILE | bool | setup-storage | if set, the keyfiles for LUKS encryption will not be deleted | ||||
| SS_IGNORE_VG | vg1 vg2 | setup-storage | used by fai-diskimage | ||||
| BOOT_PARTITION | CS | /dev/sda1 | setup-storage | grub/menu.lst/postinst | |||
| ROOT_PARTITION | CS | /dev/sda1 | setup-storage | LILO/20-create-liloconf | |||
| UTC | CS | yes | class/*.var | example/simple/scripts | |||
| TIMEZONE | CS | Europe/Berlin | class/*.var | example/simple/scripts | |||
| MODULESLIST | CS | psmouse | class/*.var | scripts/FAIBASE/10-misc | |||
| MAXPACKAGES | CS | 300 | fai-mirror, install_packages | limit the number of packages installed in one run | |||
| FAI_DISABLE_PACKAGE_NAME_CHECK | CS | install_packages | does the same as -N | ||||
| FAI_BACKUPDIR | CS | class/*.var | fcopy | directory used by fcopy for backup files | |||
| FAI_RAMDISKS | CS | $target/var/lib/dpkg | class/*.var | mkramdisk | a space-separated list of a directories that gets a ramdisks, use NONE to disable this feature | ||
| -- | |||||||
| FAI_ETC_DIR | int | /etc/fai | /etc/fai | fai -C | fai-make-nfsroot, fai-mirror, fai-cd, fai via fai_init() -> /usr/lib/fai/subroutines (task_debconf, task_repository) | ||
| FAI_ROOT | const | /target | bin/fai | almost every script | directory where the new system will be installed to, $target has the same value | ||
| APTPROXY | http://127.0.0.1:3142 | set by admin on cmdline or CS | fai-make-nfsroot, updatebase.DEBIAN | ||||
| fai_rundate | int | 20060123_163824 | task_setup() | fai-savelog | |||
| FAI_VERSION | const | FAI 5.3 | fai, prcopyleft() | ||||
| HOST | demohost | given on kernel command line | can redefine host name | ||||
| cfclasses | int | DEFAULT.LINUX.LAST | task_defclass() | cfagent scripts | |||
| classes | int | DEFAULT LINUX LAST | task_defclass() | almost every script | |||
| disklist | int | sda | set_disk_info() | setup-storage, fai-mount-disk | |||
| faimond | int | 0 | determines if faimond is running | ||||
| ip | int | dhcp | fai-chboot via kernel append parameter | get-boot-info | |||
| HOSTNAME | demohost | very often | may the hostname change during installtion? Is the hostname FQDN in some cases? numeric hostname if host-decl-name off in dhcpd.conf | ||||
| HOSTTYPE | int | x86_64 | bash variable | prcopyleft | |||
| netdevices | int | eth0 | get-boot-info | get-boot-info, task_sysinfo, dhclient-fai-script | |||
| netdevices_all | int | eth0 eth1 | get-boot-info | get-boot-info, task_sysinfo | |||
| netdevices_up | int | eth0 | get-boot-info | get-boot-info, task_sysinfo | |||
| nfsroot | int | /srv/fai/nfsroot/ | fai-chboot via kernel append parameter | kernel | may contain server's IP address, may contain nfs parameters like: v2,rsize=32768,wsize=32768 | ||
| renewclass | int | boolean | task_defclass() | on softupdate recalculate the list of classes, unset after use | |||
| cmdlineclasses | fai -c | task_defclass() | |||||
| romountopt | int | -o async,noatime,ro | unset after use | ||||
| sendhostname | int | task_confdir() | sendmon() | client's hostname, do not replace with $HOSTNAME, since HOSTNAME may change during installation | |||
| flag_sshd | int | boolean | define_fai_flags() | ||||
| flag_createvt | int | boolean | define_fai_flags() | ||||
| task_error | int | integer | every task can set it | formerly $terror | |||
| stamp | int | ..._IN_PROGRESS | |||||
| DEBIAN_FRONTEND | int | noninteractive | dpkg -i | ||||
| do_init_tasks | bool | fai, task_confdir(), prcopyleft() | 1 if doing net or CD installations, now use inside_nfsroot() | ||||
| -- | |||||||
| BROADCAST | 192.168.0.127 | get-boot-info | scripts/FAIBASE/30-interface | ||||
| DNSSRVS | 192.168.1.16 | get-boot-info | create_resolv_conf | ||||
| DNSSRVS_1 | 192.168.1.16 | get-boot-info | first element of DNSSRV | ||||
| DOMAIN | workgroup.de | get-boot-info | task_setup() task_prepareapt() | ||||
| NETMASK | 255.255.255.128 | get-boot-info | |||||
| NETWORK | 192.168.0.0 | get-boot-info | |||||
| IPADDR | 192.168.0.14 | get-boot-info | |||||
| GATEWAYS | 192.168.0.1 | get-boot-info | |||||
| GATEWAYS_1 | 192.168.0.1 | get-boot-info | |||||
| SERVER | kueppers | get-boot-info |
Variables that are unused since 4.0 versions of FAI:
| name | type | example value | created by | used by | comments |
|---|---|---|---|---|---|
| FAI_NORAMDISK | CS | class/*.var | mkramdisk | if set to 1, no ramdisk will be created | |
| USE_SETUP_STORAGE | CS | 1 | class/*.var | when set to 1, FAI will use the new partition tool setup-storage |
Useful oneliners
find all files not under a ".svn" directory and replace the string '$diskvar' with '$LOGDIR/diskvar'
Test:
find -name '.svn' -prune -o -type f -exec perl -n -e 's/\$diskvar/\$LOGDIR\/diskvar/g && print' {} \;
find -name '.svn' -prune -o -type f -exec perl -p -e 's/\$diskvar/\$LOGDIR\/diskvar/g' {} \; | less
Really replace: ( same, but "i" added )
find -name '.svn' -prune -o -type f -exec perl -pi -e 's/\$diskvar/\$LOGDIR\/diskvar/g' {} \;
See also
- "Re: How to use task_error ? (Writing pretty hooks)" (discussion on linux-fai mailing list, 04-Feb-2010)