Variables

From FAIWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
SS_IGNORE_VG vg1 vg2 setup-storage used by fai-disimage
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 int boolean fai, task_confdir(), prcopyleft() 1 if doing net or CD installations
--
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