6

Почему скрипты, начинающиеся с 'S', существуют в /etc/rc.d/rc{0,6}.d? Будут ли проблемы, если я поменяю 'S' на 'K'?

Изменяется ли поведение системы при ее остановке / перезагрузке?

2 ответа2

11

Да, традиционный системный стиль инициализации V (что это такое) создает символические ссылки, которые начинаются с S или K. Те, у кого S, означают "старт", и они запускаются с параметром "старт" при вводе этого уровня запуска. Те, которые с K означают "kill", эти службы запускаются с параметром "stop" при вводе этого уровня запуска. Это приводит к тому, что на разных уровнях запуска работают разные наборы сервисов. Если вы можете изменить одно из S на K, сервер не будет запущен, он будет остановлен. Это может или не может быть проблемой в зависимости от того, была ли это критическая услуга.

Кстати, этот метод устарел в новых, основанных на зависимостях системах запуска в новых дистрибутивах Linux.

0

Лучший ответ, который я нашел на другом веб-сайте, заключается в том, что K и S игнорируются на уровнях выполнения 0 и 6, так как система просто выполняет все эти сценарии с помощью команды остановки в алфавитно-цифровом порядке в любом случае ... Так что S или K даже не имеет значения.

Я могу доказать это в стандартной установке Ubuntu, где у меня есть примеры, подобные следующим:

K20restsrv K20zfs-гора K20zfs-доля

S31umountnfs.sh S40umountfs S60umountroot S90halt

Примеры K содержат команды останова в этих сценариях. Сценарии также определяют уровни запуска по умолчанию, когда команды запуска и остановки будут выполняться, как это показывает запуск по умолчанию на уровнях запуска 2,3,4,5 и остановку по умолчанию на 0,1,6

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .