Ответ хаоса - это то, что говорится в какой-то документации. Но это не то, что на самом деле делает systemd. (Это не то, что rcсделал ван Смуренбург , так же. Ван Смуренбургrc определенно не игнорировал заголовки LSB, которые insservиспользовались для вычисления статических порядков, для начинающих.) Документация Freedesktop, такая как страница "Несовместимость", на самом деле неверна, на эти и другие моменты. (The HOMEпеременная окружения на самом деле это часто устанавливается, например. Это продолжалось полностью документированы в любом месте в течение длительного времени. Это сейчас описано в руководстве, по крайней мере, но Freedesktop WWW страницы до сих пор не исправлена.)
Нативный формат службы для systemd - это единица службы . Правильное управление службами systemd работает исключительно в терминах тех, которые он читает из одного из девяти каталогов, в которых .serviceмогут храниться (общесистемные) файлы. /etc/systemd/system, /run/systemd/system, /usr/local/lib/systemd/system, И /usr/lib/systemd/systemчетыре из этих каталогов.
Совместимость со rcсценариями Ван Смуренбурга достигается с помощью программы преобразования с именем systemd-sysv-generator. Эта программа приведена в /usr/lib/systemd/system-generators/каталоге и, таким образом , автоматически запускается Systemd в начале процесса начальной загрузки при каждой загрузке, и снова каждый раз, когда Systemd проинструктирован повторно загрузить свою конфигурацию позже.
Эта программа является генератором , типом вспомогательной утилиты, задачей которой является создание файлов сервисных модулей на лету, в tmpfs, где находятся еще три из этих девяти каталогов (которые предназначены для использования только генераторами). systemd-sysv-generatorгенерирует сервисные модули, из которых выполняются rcсценарии van Smoorenburg /etc/init.d, если он не находит собственный системный сервисный модуль с таким именем, уже существующий в других шести местах.
Управление сервисом systemd знает только о сервисных блоках. Эти автоматически (повторно) сгенерированные сервисные единицы пишутся для вызова rcсценариев ван Смуренбурга . Они имеют среди прочего:
[Единица измерения]
SourcePath = / и т.д. / init.d / Wibble
[Обслуживание]
ExecStart = / etc / init.d / wibble start
ExecStop = / etc / init.d / wibble stop
Мудрость заключается в том, что rcсценарии Ван Смуренбурга должны иметь LSB-заголовок и выполняться параллельно без учета приоритетов, навязанных /etc/rc?.d/системой. Это неверно по всем пунктам.
На самом деле, они не должны иметь LSB заголовка, и если они не systemd-sysv-generatorмогут признать более ограниченную старую RedHat комментарий заголовки ( description:, pidfile:и так далее). Более того, в отсутствие заголовка LSB он будет возвращаться к содержимому /etc/rc?.dферм символьных ссылок, считывая приоритеты, закодированные в именах ссылок, и создавая из них порядок до / после, сериализовывая сервисы. Заголовки LSB не только не являются обязательным требованием, и они не только сами кодируют до / после упорядочений, которые до некоторой степени сериализуют вещи, но и резервное поведение при их полном отсутствии фактически является непараллельной операцией.
Причина, по которой /etc/rc3.dэто не имеет значения, заключается в том, что вы, вероятно, включили этот сценарий через другой /etc/rc?.d/каталог. systemd-sysv-generatorпереводит перечисленные в любой из /etc/rc2.d/, /etc/rc3.d/и /etc/rc4.d/в родные Wanted-Byотношения с systemd multi-user.target. Уровни выполнения «устарели» в мире systemd, и вы можете забыть о них.
дальнейшее чтение