In the world of Linux, the inittab file is a critical component that controls the initialization process of the system. However, if you’re using Ubuntu, you may have noticed that the inittab file is nowhere to be found. In this article, we’ll delve into the reasons behind this and discuss what Ubuntu uses instead.
A Brief Overview of the inittab File
Traditionally, in Linux systems, the /etc/inittab file was used as the configuration file for the System V init daemon. This file played a key role in defining how the system boots up, including the runlevels and various system-wide settings.
The Shift from inittab in Ubuntu
Ubuntu 10.10 and earlier versions used the
/etc/inittab file. However, in an effort to modernize and streamline the boot process, Ubuntu transitioned away from the System V init system and adopted different init systems, namely Upstart and systemd.
From Ubuntu version 16.04 onwards, the
/etc/inittab file is no longer used or present. Instead, the init system reads its configuration from files in the
/etc/init directory for Upstart or
/etc/systemd/system directory for systemd.
Understanding Upstart and systemd
Upstart is an event-based replacement for the traditional init daemon â€“ the process that controls the tasks executed at boot time and when the system shuts down. Upstart allows for a more dynamic system through its event-driven nature, which allows it to respond to events asynchronously as they are generated.
systemd, on the other hand, is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system. systemd is now the default init system for most Linux distributions, including Ubuntu.
Checking the Current Runlevel or Boot Targets
In the past, the
/etc/inittab file was used to define the system’s runlevel. In the absence of this file in newer Ubuntu versions, you can use the
runlevel command to get similar information. Here’s how:
runlevel command will return the previous and current runlevel. The output will look something like this:
In this example, ‘N’ indicates that no previous runlevel exists, and ‘5’ is the current runlevel.
In conclusion, the
/etc/inittab file is absent in newer versions of Ubuntu due to the shift from the traditional System V init system to more modern init systems like Upstart and systemd. These new init systems provide more flexibility and parallelization of the initialization process, resulting in faster boot times.
Remember, you can always use the
runlevel command to check the current runlevel or boot targets in Ubuntu 16.04 and later. This shift in Ubuntu’s init system is a testament to the constant evolution and improvement in the Linux ecosystem.
The inittab file in Linux is used to configure the System V init daemon, which controls the initialization process of the system. It defines various system-wide settings and runlevels.
The inittab file is not present in newer versions of Ubuntu (16.04 onwards) because Ubuntu transitioned away from the System V init system and adopted different init systems like Upstart and systemd.
Upstart and systemd are different init systems used in Ubuntu. Upstart is an event-based replacement for the traditional init daemon, while systemd is a suite of basic building blocks for a Linux system that provides a system and service manager.
In newer versions of Ubuntu, you can use the
runlevel command to check the current runlevel or boot targets. Simply run
runlevel in the terminal, and it will display the previous and current runlevel.
Upstart and systemd provide more flexibility and parallelization of the initialization process, resulting in faster boot times. They also offer improved event-driven capabilities and better management of system services.