I'm on Ubuntu 10.10, and I've just joined the Linux world coming from OS X.
I'm learning about runlevels and the rc directory in /etc/, and everywhere (manuals, tutorials, etc) I'm reading about inittab. But I can't find it in my Ubuntu installation. Why? Does Ubuntu follow the runlevel model? How are rc and levels loaded without inittab?
5 Answers
If you do man inittab in your terminal, all shall be revealed:
The /etc/inittab file was the configuration file used by the original
System V init(8) daemon.
The Upstart init(8) daemon does not use this file, and instead reads
its configuration from files in /etc/init. See init(5) for more
details.
- 2,143
Back in the days the "System-V" init service was used in Ubuntu, and it used the /etc/inittab file.
Some time ago (around 2006) the "Upstart" init service replaced SysV. During these days you could follow the top answer and use man inittab to get info on this change.
At the time of writing (e.g. for Ubuntu 16.04) the "systemd" boot process is in use and there is no reference left to "inittab" (e.g. if you do apropos inittab you'll probably not find anything). Instead you could do man runlevel to get similar information.
Bottom line: the /etc/inittab file is nowhere, likely because you use a newer version for Ubuntu that has a different init service, e.g. systemd.
- 345
While searching this in various forum, I got to know that /etc/inittab is not anymore used in debian distro.
It uses /etc/init/rc-sysinit.conf
- 2,478
- 131
No, it does not follow the runlevel model. Ubuntu has moved away from sysV init to upstart instead. The main reason for this was to parallelize the initialization process to vastly reduce boot time.
- 38,031
As most of the answers here state, That Debian/Ubuntu have switched from sysV to systemd, and systemd has it's own way of managing the boot targets (which was called runlevels) here are the commands used to set the default or switching to another target provided by systemctl:
systemctl isolateused to switch between targetssystemctl isolate multi-userswitchs to the multi user targetsystemctl isolate graphicalswitchs to the graphical interface target
systemctl get-defaultoutputs the current default targetsystemctl set-defaultchanging the default boot targetsystemctl set-default multi-userwill set the default boot target to the multi user target and this will simple get done by creating a symlink/etc/systemd/system/default.targetpoints to/lib/systemd/system/graphical.targetsystemctl set-default graphicalsetting back the default boot target to the graphical interface
Resources: amazingly explained by Shawn Powers in this YouTube video