User Tools

Site Tools


startup

Startup

System configuration

Service bootstrap

Historically, the startup system has recently moved from init to systemd.

Ten years ago, most distributions used SysV Init. Various distributions developed new and improved init systems. Ubuntu built Upstart, for example. As of 2020, most distributions have switched to systemd, developed at Red Hat. It was a long and controversial adoption period, and still today Ubuntu version 20 supports both init and systemd. So one can find remnants of SysVInit still present, though systemd-init is the primary startup system.

For example, the following are from SysV init:

$ service --status-all  # list the startup services
$ ls /etc/init.d  # list the scripts to start and manage the services

These have been replaced by systemd

$ systemctl
$ ls /lib/systemd/system

So let's look at the cron service. For every script in /etc/init.d, there is a unit file in /lib/systemd/system.

  • /etc/init.d/cron → /lib/systemd/system

With SysV Init you could run the init.d script directly:

$ exec /etc/init.d/cron -options

or you could use the service command.

$ service cron start

Now in systemd, you use the systemctl command.

$ systemctl cron start

Other tools /lib/lsb/init-functions /var/name.pid ?

Configuration files: /etc/default/name /etc/name/name.conf

Startup Services

Notes “zeroconf network configuration, when user plugs laptop into network, including DNS service discovery Lennart Poettering 2005 avahi is the name of a lemur in Madagascar copy of bonjour”

Name Description Run Files
acpid Advanced Configuration and Power Interface. Provide a socket to multiplex kernel ACPI events. daemon /usr/sbin/acpid
alsa-utils Audio Levels. Save and restore at bootup and shutdown. run once /usr/sbin/alsactl
/usr/sbin/alsactl
/run/alsa
/usr/share/alsa/utils.sh
/var/lib/alsa/asound.state
anacron Anachronistic cron. Run once at startup to catch up with missed jobs. Also called by cron. run once /usr/sbin/anacron
apparmor AppArmor ? /lib/apparmor/rc.apparmor.functions
/sys/module/apparmor
/rofs/etc/apparmor.d
apport Automatic Crash Report generation ? /usr/share/apport/apport
/lib/lsb/init-functions
avahi-daemon Zeroconf Network Configuration. Copy of Bonjour. daemon /usr/sbin/avahi-daemon
/etc/default/avahi-daemon
bluetooth start bluetooth daemons daemon /sbin/bluetoothd
/etc/default/bluetooth
console-setup.sh Set console font and keymap. run once /lib/console-setup/console-setup.sh
cron cron scheduler daemon /usr/sbin/cron
/var/run/crond.pid
/etc/default/cron
/etc/pam.d/cron
cups Print Spooler and Server. has web interface at localhost:631 daemon /usr/sbin/cupsd
/run/cups/
cups-browsed Make network printers available locally, by browsing Bonjour broadcasts. daemon /usr/sbin/cups-browsed
/var/run/cups
dbus D-Bus. interprocess messaging daemon /usr/sbin/dbus-daemon
/usr/sbin/dbus-uuidgen
/var/run/dbus
/etc/default/dbus
gdm3 GNOME display manager daemon /usr/sbin/gdm3
/var/run/gdm3.pid
/usr/share/gdm/generate-config
grub-commoplymouth-logn Record successful boot. If GRUB suspects previous boot was unsuccessful, it displays the boot menu. run once /boot/grub/grubenv
hwclock.sh Set and adjust CMOS clock. Sync hardware and system clock time. Run at startup and shutdown. run once /sbin/hwclock
/etc/default/hwclock
/etc/default/rcS
irqbalance Balance interrupts for SMP systems. daemon /usr/sbin/irqbalance
/run/irqbalance.pid
/etc/default/irqbalance
kerneloops Send kernel crash reports to oops.kernel.org. daemon /usr/sbin/kerneloops
/etc/default/kerneloops
/var/run/kerneloops.pid
keyboard-setup.sh Setup the console keyboard layout. run once /lib/console-setup/keyboard-setup.sh
kmod Load the kernel modules listed in /etc/modules run once /etc/modules
network-manager Automatically switch network connections to the best available connection daemon
openvpn start openvpn daemon
plymouth Boot splash manager. Show and hide splash screen during boot. run once /etc/default/plymouth
/lib/lsb/init-functions
plymouth-log Inform plymouth that /var/log is writable. run once /etc/default/plymouth-log
/lib/lsb/init-functions
pppd-dns Restore /etc/resolve.conf if the system crashed before the ppp link was shut down. run once /lib/lsb/init-functions
procps Process parameters. Configure kernel parameters from /etc/sysctl.conf. daemon
pulseaudio-enable-autospawn Enable autospawn for pulseaudio daemon. run once
rsync Allow fast remote file copy, like RCP. daemon /usr/bin/rsync
/etc/default/rsync
/etc/rsyncd.conf
/var/run/rsync.pid
rsyslog Rocket fast system for logging. Enhanced syslogd. daemon /usr/sbin/rsyslogd
/run/rsyslogd.pid
/etc/default/rsyslog
/lib/lsb/init-functions
saned SANE network scanner server. daemon /usr/sbin/saned
/etc/default/saned
/lib/lsb/init-functions
/var/run/saned.pid
speech-dispatcher Common interface to speech synthesizers. daemon /usr/bin/speech-dispatcher
/run/speech-dispatcher/speech-dispatcher.pid
/lib/lsb/init-functions
spice-vdagent Has to do with X-11, Spice Guest. daemon /usr/sbin/spice-vdagentd
lsb
udev Start systemd-udevd. Hot plug events dispatcher. daemon
ufw Start ufw firewall. daemon
unattended-upgrades Unattended package upgrades shutdown. daemon
uuidd uuid generation daemon daemon
whoopsie Crash report submission daemon. daemon
x11-common Set up the X server and ICE socket directories. run once

from init to systemd

init - the original from SystemV Unix, serial-processing, slow boots

upstart - ubuntu-developed more efficient init

openrc - dependency-based, combines aspects of init and systemd

runit - cross-platform: BSD, MacOS, etc

systemd - multi-processing for fast boot, now ubiquitous

note: gentoo has its own init system

As of 2020, init has been replaced by systemd. See below.

startup.txt · Last modified: 2021/01/28 05:46 by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki