Variables: Difference between revisions

From FAIWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 35: Line 35:
|FAI_ALLOW_UNSIGNED||CS|||| 1 ||class/*.var||prepareapt||allow installation of packages from unsigned repositories
|FAI_ALLOW_UNSIGNED||CS|||| 1 ||class/*.var||prepareapt||allow installation of packages from unsigned repositories
|-
|-
|FAI_BASEFILEURL||CS||||http://faiserver/basefiles. ||class/*.var|| task extrbase||download base.tar.xz using a class name via HTTP or FTP
|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/....||
|LOGDIR||||||/tmp/fai|| fai ||''very often''|| mostly set to /var/log/fai/$HOSTNAME/....||
Line 64: Line 64:
|-
|-
|ROOTCMD||||||'chroot /tmp/target'||||''almost every script''||
|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 || ||
|CONSOLEFONT||CS|||| ||class/*.var || ||
|-
|-
|KEYMAP||CS||||de||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||
|BOOT_PARTITION||CS||||/dev/sda1|| setup-storage ||grub/menu.lst/postinst||
Line 80: Line 84:
|-
|-
|MAXPACKAGES||CS||||300||||fai-mirror, install_packages || limit the number of packages installed in one run
|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_BACKUPDIR||CS||||||class/*.var ||[[fcopy]]|| directory used by fcopy for backup files
Line 88: Line 94:
|-
|-
|-
|-
|FAI_ETC_DIR ||int||/etc/fai|||/etc/fai||fai -C|| [[fai-make-nfsroot]], [[fai-mirror]], [[fai-cd]], task_prepareapt, fai_init()||
|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
|FAI_ROOT||const||||/target||bin/fai||''almost every script''|| directory where the new system will be installed to, $target has the same value
Line 96: Line 102:
|fai_rundate||int||||20060123_163824||task_setup()||fai-savelog||
|fai_rundate||int||||20060123_163824||task_setup()||fai-savelog||
|-
|-
|FAI_VERSION||const||||FAI 3.2||||[[fai]], prcopyleft()||
|FAI_VERSION||const||||FAI 5.3||||[[fai]], prcopyleft()||
|-
|-
|HOST|||||| demohost || given on kernel command line || || can redefine host name
|HOST|||||| demohost || given on kernel command line || || can redefine host name
Line 164: Line 170:
|-
|-
|SERVER||||||kueppers||get-boot-info || ||  
|SERVER||||||kueppers||get-boot-info || ||  
|-
|}
Variables that are unused since 3.x versions of FAI:
{|border="1" class="wikitable sortable"
!name!!type!!example value!!created by!!used by !!comments
|-
|FAI_REMOTECP||||scp||[[fai.conf]] || fai-savelog|| replaced by FAI_LOGPROTO
|-
|FAI_REMOTESH||||ssh||[[fai.conf]] || fai-savelog, task_chboot()|| replaced by FAI_LOGPROTO
|-
|FAI_LOCATION||||faiserver:/srv/fai/config||[[fai-make-nfsroot]]||get_bootp_info() get_fai_dir() get_fai_cvs()|| replaced by FAI_CONFIG_SRC
|-
|FAI_LOGPROTO|| || ftp||[[fai.conf]]||[[fai-setup]], save_log_remote()||replaces FAI_REMOTECP and FAI_REMOTESH, may be removed from fai.conf, should be defined in class/*.var, but fai-setup needs this too, maybe add option to fai-setup that determines if ssh/rsh should be set up
|-
|diskvar||int||$LOGDIR/disk_var.sh|||||| removed, replace with "$LOGDIR/diskvar"
|-
|lpipe||int ||/tmp/fai/logfifo|||||| variable removed, try to remove the ugly hack using it
|-
|FAI_BOOT||||dhcp bootp||||[[fai-make-nfsroot]]|| removed
|-
|DNSDOMAIN||||workgroup.de||task_setup()|| || removed
|-
|installserver||||kueppers|||[[fai.conf]]|| only for building FAI_LOCATION|| removed
|-
|mirrorhost||||192.168.0.8||[[fai.conf]]|| [[nfsroot.conf]], $FAI_DEBOOTSTRAP, $FAI_DEBMIRROR, NFSROOT_ETC_HOSTS || removed
|-
|fstab||int||fstab|| || was used for solaris, fstab -> vfstab|| removed
|-
|VIDEODRIVER||CS||mga||20-hwdetect.source ||scripts/DEMO/10-misc|| removed with Xorg
|-
|-
|}
|}

Latest revision as of 09:55, 12 February 2020

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