The it program executes scripts before transferring control of the system to the user, typically before the first user logs in. The it program executes programs that collect information such as system name, passwords, timezone, and current date.
A system can be in a run level at any given time; each run level has a specific group of processes that run at that level. The init program operates in one of four run levels: 0, s, 2, or 3. The run level changes when init is invoked by a privileged user. The it program is run from /etc/inittab whenever the system is booted or rebooted, or when a level transition occurs for some other reason, such as within init3. The it program first determines which run level the system is coming up under. Next it turns on shared libraries and swap and then searches for any /sbin/it.d/run-level directories, where run-level names a system run level; for example, 2.d, 3.d, 23.d, and so forth. If any such directories exist, it collects the names of all files in those directories. These files are typically links to files in the /sbin/it.d/bin directory and are created beforehand by itruns(8). After collecting the file names, it sorts them, eliminates duplicate references, orders the names as specified by the data file /sbin/it.d/data/options.mask, executes the files, and finally removes the files it executed. After all the files collected from the run level directories have been handled, it exits.
The /sbin/it.d/data/options.mask file contains a single line with a list of file names separated by colons. The it command executes collected files in the order in which they appear from left to right in the options.mask file. Programs not listed in the options.mask file are executed after those defined in options.mask. These "unspecified" programs are run in the order into which they were initially sorted; that order is controlled by the LC_COLLATE environmental variable and the specifications in the /usr/lib/nls/loc/locale files.
Commands: itruns(8) init(8) rc0(8) rc2(8) rc3(8) who(1) delim off