Почему скрипты, начинающиеся с 'S', существуют в /etc/rc.d/rc{0,6}.d
? Будут ли проблемы, если я поменяю 'S' на 'K'?
Изменяется ли поведение системы при ее остановке / перезагрузке?
Да, традиционный системный стиль инициализации V (что это такое) создает символические ссылки, которые начинаются с S или K. Те, у кого S, означают "старт", и они запускаются с параметром "старт" при вводе этого уровня запуска. Те, которые с K означают "kill", эти службы запускаются с параметром "stop" при вводе этого уровня запуска. Это приводит к тому, что на разных уровнях запуска работают разные наборы сервисов. Если вы можете изменить одно из S на K, сервер не будет запущен, он будет остановлен. Это может или не может быть проблемой в зависимости от того, была ли это критическая услуга.
Кстати, этот метод устарел в новых, основанных на зависимостях системах запуска в новых дистрибутивах Linux.
Лучший ответ, который я нашел на другом веб-сайте, заключается в том, что K и S игнорируются на уровнях выполнения 0 и 6, так как система просто выполняет все эти сценарии с помощью команды остановки в алфавитно-цифровом порядке в любом случае ... Так что S или K даже не имеет значения.
Я могу доказать это в стандартной установке Ubuntu, где у меня есть примеры, подобные следующим:
K20restsrv K20zfs-гора K20zfs-доля
S31umountnfs.sh S40umountfs S60umountroot S90halt
Примеры K содержат команды останова в этих сценариях. Сценарии также определяют уровни запуска по умолчанию, когда команды запуска и остановки будут выполняться, как это показывает запуск по умолчанию на уровнях запуска 2,3,4,5 и остановку по умолчанию на 0,1,6