Існує кілька різних систем init для Linux. Основні з них - SysVinit (традиційний), Upstart (заміна Ubuntu) та SystemD (натиснуті Fedora та Gnome). Каталоги /etc/init.d
та /etc/rc?.d
використовуються SysVinit. Книга, можливо, згадує їх щодо Ubuntu, оскільки інформація трохи датована (Ubuntu використовується для використання SysVinit, як і всі інші) або тому, що ці каталоги досі існують для сумісності.
/etc/init.d
містить купу сценаріїв, кожен з яких містить інструкції щодо запуску та припинення послуги. Деякі з цих послуг потрібно запустити під час завантаження; інших потрібно запускати в багатокористувацькому режимі, але не в режимі обслуговування для одного користувача; і можна визначити різні режими з різними наборами бажаних послуг. SysVinit управляє цим за допомогою запущених рівнів . Каталог /etc/rc$N.d
містить сценарії, які потрібно запустити при введенні runlevel N ( /etc/rc$N.d/S*
), і сценарії, які потрібно виконати, коли вийде з runlevel N ( /etc/rc$N.d/K*
). Оскільки у багатьох Runlevels є спільні сценарії, а не зберігається копія сценаріїв для кожного рівня, всі скрипти зберігаються в одному місці /etc/init.d
, а конкретні каталоги для runlevel./etc/rc?.d
містять символічні посилання. Крім того, імена символічних посилань вказують, чи слід запускати службу ( S*
) чи зупиняти (вбивати K*
) на цьому рівні запуску, а числовий префікс використовується для управління порядком виконання сценаріїв.
Сценарій, відповідальний за пересування, /etc/rc$N.d
є /etc/init.d/rc
(на попередньому Ustantu та на Debian; місця можуть відрізнятися від інших дистрибутивів Linux).