Difference between revisions of "Init"

From ArchWiki
Jump to: navigation, search
m (Troubleshooting: fix case)
(Troubleshooting: systemd-shim is fail; add needs_root_rights)
Line 43: Line 43:
  
 
== Troubleshooting ==
 
== Troubleshooting ==
 
{{Expansion|rootless X (1.16), {{AUR|systemd-shim}}}}
 
  
 
This section addresses potential problems when not using ''systemd''.
 
This section addresses potential problems when not using ''systemd''.
Line 73: Line 71:
  
 
See [[Syslog-ng#Sources]] for details.
 
See [[Syslog-ng#Sources]] for details.
 +
 +
=== X 1.16 permissions ===
 +
 +
X 1.16 can be run as a regular user, but only with {{ic|logind}}. Others will need to enable root access in {{ic|/etc/X11/Xwrapper.config}}:
 +
 +
needs_root_rights = yes
  
 
== See also ==
 
== See also ==

Revision as of 12:12, 30 July 2014

Warning: Only systemd is officially supported in Arch Linux. When using a different init system, please mention so in support requests.

Init is the first process started during system boot. It is a a daemon process that continues running until the system is shut down. Init is the direct or indirect ancestor of all other processes, and automatically adopts all orphaned processes. It is started by the kernel using a hard-coded filename; if the kernel is unable to start it, panic will result. Init is typically assigned process identifier 1.

The init process, init scripts, and service manager combine to the init system. Init systems may separate these components, or combine (some or all) in the init process.

Inits (combined)

  • systemd — Dependency-based init system with aggressive parallelization, process supervision using cgroups, and the ability to depend on a given mount point or dbus service.
http://freedesktop.org/wiki/Software/systemd/ || systemd
  • Epoch — Single-threaded init system designed for minimal footprint and unified configuration.
http://universe2.us/epoch.html ||
  • initng — Dependency-based init system with parallelization and asynchronous start.
http://initng.sourceforge.net/trac || initng-gitAUR
  • SysVinit — Traditional System V init.
http://savannah.nongnu.org/projects/sysvinit || sysvinitAUR
  • Upstart — Event-based init system which handles starting, stopping and supervising of tasks and services.
http://upstart.ubuntu.com/ || upstartAUR

Inits

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: Some descriptions are not exactly descriptive (Discuss in Talk:Init#)
  • BusyBox — Utilities for rescue and embedded systems.
http://busybox.net/ || busybox
  • minit — Small yet feature-complete init.
http://www.fefe.de/minit/ || minitAUR
  • sinit — Simple init initially based on Rich Felker’s minimal init.
http://tools.suckless.org/sinit || sinitAUR

Init scripts

  • initscripts-fork — Maintained fork of SysVinit scripts in Arch Linux.
https://bitbucket.org/TZ86/initscripts-fork/overview || initscripts-forkAUR
  • minirc — Minimal init script designed for BusyBox.
https://github.com/hut/minirc/ || minirc-gitAUR
  • OpenRC Arch services — OpenRC service scripts compatible to Arch Linux.
https://github.com/andrewgregory/openrc-arch-services || openrc-arch-services-gitAUR
  • spark-rc — A simple rc script to kickstart your system.
https://github.com/fbt/spark-rc || spark-rcAUR
  • watchman-sm-services — Examples of services for watchman.
https://github.com/fbt/watchman-services || watchman-sm-services-gitAUR

Service managers

  • daemontools — Collection of tools for managing UNIX services.
http://cr.yp.to/daemontools.html || daemontoolsAUR
  • OpenRC — Dependency-based rc system that works with the system-provided init, normally SysVinit.
http://www.gentoo.org/proj/en/base/openrc/ || openrcAUR / openrc-coreAUR
  • perp — Persistent process (service) supervisor and managment framework for UNIX.
http://b0llix.net/perp/ || perpAUR
  • runit — UNIX init scheme with service supervision, a replacement for SysVinit, and other init schemes.
http://smarden.org/runit/ || runitAUR
  • s6 — Small suite of programs for UNIX, designed to allow service supervision in the line of daemontools and runit.
http://skarnet.org/software/s6/ || s6AUR
  • watchman — A not-so-simple service manager for Linux.
https://github.com/fbt/watchman || watchman-smAUR

Troubleshooting

This section addresses potential problems when not using systemd.

Cron functionality

Arch uses timer files instead of cron by default. See [1] for example cron jobs.

Group permissions

Systemd handles groups with logind. Without it, users should add themselves to the respective groups (such as audio, video), adjust Polkit rules if needed [2], and reboot.

Start X on the same TTY

See [3].

Syslog-ng

Syslog-ng is configured for journalctl by default. Edit /etc/syslog-ng/syslog-ng.conf:

source src {
 unix-stream("/dev/log");
 internal();
 file("/proc/kmsg");
};

See Syslog-ng#Sources for details.

X 1.16 permissions

X 1.16 can be run as a regular user, but only with logind. Others will need to enable root access in /etc/X11/Xwrapper.config:

needs_root_rights = yes

See also