Ubuntu, управляйте запуском init

Ubuntu использует выскочку вместо sysvinit. Однако существуют все еще runlevels и ссылки в них.

Я установил скалистую вершину, и она добавила себя к запуску ОС. Теперь я хочу удалить его, и популярные опции состоят в том, чтобы удалить ссылки запуска и остановки сервиса от runlevels или сделать/etc/init.d/неисполняемый файл сценария. Это прекрасно, но это будет проблематично в случае, если я хочу поместить скалистую вершину снова в список запуска. Как я знал бы для помещения надлежащих последовательностей в надлежащие runlevel каталоги.

Там какое-либо полное руководство дано? Каковы правила для этого? Какие-либо инструменты для управления init?

Скажите

3
задан 11.06.2010, 09:13

3 ответа

SysVinit работает как это. Сценарии инициализации для каждого пакета расположены в/etc/init.d. Ссылки на те сценарии расположены в/etc/rcS.d и/etc/rc [0-6].d. Эти ссылки запускаются или с S (запускаются) или K (уничтожают) и 2-разрядное число.

  • Когда начальные загрузки системы и процесс SysVinit запускаются, это смотрит в/etc/rcS.d и выполняет сценарии, запускающиеся с S, заказанного числом. (Я полагаю, что это передает аргумент "запуска" сценариям, но я не уверен.)

  • После того, как все/etc/rcS.d сценарии обрабатываются, система начинает перемещаться в определенный runlevel. В Ubuntu, загружаясь на нормальный рабочий стол, значение по умолчанию runlevel равняется 2. Таким образом, SysVinit смотрит в/etc/rc2.d и

    1. остановки все сервисы со ссылками, запускающимися с K, заказанного числом; и
    2. запускает все сервисы со ссылок, запускающихся с S, заказанного числом.

    Если Вы загрузились в режим восстановления Ubuntu вместо этого, Вы будете загружаться в runlevel 1. После того, как все сервисы запускаются, система runlevel официально установлена.

  • Наконец, система запускает/etc/rc.local скрипт.

При переключении runlevels позже SysVinit выполняет тот же базовый процесс: это не проверяет/etc/rcS.d, но переходит прямо к обработке ссылок в/etc/rcN.d (где N является любым runlevel, вводится).


Вы могли также записать Новомодный сценарий. Я записал о Выскочке ранее, таким образом проверьте там на большее количество деталей. Новомодные сценарии сохранены в/etc/init; чтобы записать им, просмотрите существующие сценарии для получения ощущения того, как оно работает, и считайте init (5) страница справочника.

8
ответ дан 07.12.2019, 23:10

Я знаю только update-rc.d как инструмент. Страница руководства дает хорошее объяснение, как использовать ее, и не слишком трудно учиться.


Благодаря Шарлатану, который сказал мне о chkconfig. Проверьте его сообщение здесь.

1
ответ дан 07.12.2019, 23:10

Вот страница справочника обновления-rc.d. В основном удаление ссылок rc.d не будет работать, поскольку они будут восстановлены на обновлении. Корректный путь:

sudo update-rc.d tor disable

Который переименовывает S (запускают) ссылки в/etc/rc?.d к K (остановка) ссылки. Это также работало бы:

sudo rename 's:/S:/K:g' /etc/rc?.d/S*tor
0
ответ дан 07.12.2019, 23:10

Теги

Похожие вопросы