LINUX.ORG.RU

Установка systemd в Gentoo с параллельным переключением на Sysvinit

 , , , ,


0

1

Возможно ли это? Сценарий следующий: в случае необходимости Sysvinit хочу переключаться именно на него.



Последнее исправление: Marketersandmobile (всего исправлений: 2)

технически они могут быть установлены одновременно (так работает в debian c sysv-init сейчас), как в генте - не знаю.

slapin ★★★★★
()
Ответ на: комментарий от Marketersandmobile

Хочу попробовать установить две системы инициализации сразу и переключаться между ними.

Тебе само ядро неразрешит этого делать и в случае завершения процесса инита уйдёт в bsod.
Так сделано специально из соображения безопасности.

Инит можно сменить только путём перезагрузки или написав метаинит,который будет переключать субиниты.
И при этом тебе придётся решать проблему по передаче информации о состоянии системы от одного инита к другому.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)

Зная ЛОР 2015-16, я одновременно знаю и об огнеопасности темы. Но максимально конструктивно выражаю вопрос, чтобы никого не провоцировать.

Marketersandmobile
() автор топика
Ответ на: комментарий от Marketersandmobile

Хочу попробовать установить две системы инициализации сразу и переключаться между ними.

Через опции ядра можно менять систему инициализации, но это по сути перезагрузка. Тебя такой вариант устроит?

Deleted
()

в случае необходимости

Что за необходимость-то такая?

Bfgeshka ★★★★★
()

В первую очередь тебя интересует CMDLINE ядра.

Для systemd прописываешь туда init=/lib/systemd/systemd.

Для всего остального — init=/sbin/init*.

* – У меня в системе openrc/sysvinit не установлены, потому /sbin/init ссылается на /lib/systemd/systemd.

mord0d ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Gentoo не умеет в sysvinit без openrc.

Не "не умеет", а "официально не поддерживает", это разные вещи. Если есть сильное желание и руки растут откуда надо, можно хоть на самописном башескрипте инициализироваться и даже работать (надёжность, конечно, будет на совести админа).

mord0d ★★★★★
()
Ответ на: комментарий от torvn77

И при этом тебе придётся решать проблему по передаче информации о состоянии системы от одного инита к другому.

И не решить её, так как у OpenRC поддержка cgroups ограниченная, а systemd клало на runlevels (это можно обойти, в Debian решили это симлинками).

mord0d ★★★★★
()

Сделай чтобы один из runlevel'ов sysvinit просто запускал systemd. Типа в inittab

sd:5:respawn:/lib/systemd/systemd

Если поцтеринг за посление несколько лет не напихал в systemd безусловных требований быть pid 1, то должно работать наподобие xinetd какого. По крайней мере это работало когда эта дрянь только появилась.

Ну и если нужен systemd просто делаешь init 5 и оно запускается со всеми своими юнитами и сервисами. Не нужен - переключаешься в другой runlevel.

Stanson ★★★★★
()

Установка systemd в Gentoo с параллельным переключением на Sysvinit

Это так не работает. Зависимости прописаны так что в работоспособном состоянии будет что то одно. Так что оба сразу практически иметь можно только переключается между ними можно будет только с последующей переборкой мира.

anonymous
()
Ответ на: комментарий от mord0d

Не «не умеет», а «официально не поддерживает»

выражение «не умеет» вполне может обозначать именно это

на самописном башескрипте инициализироваться и даже работать (надёжность, конечно, будет на совести админа)

это лишь значит, что админ в это «умеет», дистрибутив здесь ортогонален

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.