Всё больше дистрибутивов нынче продалось общественным работникам принимает по умолчанию схему инициализации системы systemd. Не стала исключением и openSUSE: начиная с релиза 12.1, она используется здесь по умолчанию.

Вдаваться в дискуссию о её достоинствах и недостатках я не буду: вокруг этого сломано уже немало копий, например, в обсуждении на Юниксфоруме. От себя замечу только, что ни малейшего увеличения скорости загрузки при использовании systemd я не заметил — а ведь это преподносилось как одно из её величайших достижений. Более того, в некоторых случаях время старта системы даже увеличивалось. А больше systemd и похвалиться нечем — разве что прогрессивностью.

Благо в openSUSE есть возможность выбора между схемами инициализации. Если при появлении меню GRUB’а нажать клавишу F5, появится меню с выбором:

  • Default;
  • Systemd;
  • System V;
  • Shell.

Первый и второй пункты (в данном случае) идентичны, выбор же третьего приводит к инициализации по старой доброй схеме SysV. Однако проделывать это надо при каждой загрузке. Нельзя ли сделать выбор SysV перманентным, по умолчанию?

Оказалось, что можно. Для этого всего-то и требуется, что выполнить команду

# zypper in sysvinit-init

то есть просто установить соответствующий пакет.

В ходе установки будет выведено предупреждение:

Проблема: systemd-sysvinit-39-2.1.x86_64 конфликтует с namespace:otherproviders(sbin_init), который предоставляется sysvinit-init-2.88+-234.1.x86_64
 Решение 1: удаление systemd-sysvinit-39-2.1.x86_64
 Решение 2: не устанавливать sysvinit-init-2.88+-234.1.x86_64

Без тени смущения выбираем Решение 1 (иначе ради чего мы это затевали). И после окончания удаления systemd и установки sysvinit-init будем грузиться через старую привычную схему инициализации — теперь она будет соответствовать пункту Default в меню начальной загрузки.

Впрочем, выбор инициализации посредством systemd будет по прежнему доступен из меню по клавише F5. А если, паче чаяния, опять захочется на говно… нога в ногу со всем прогрессивным человечеством, и использовать systemd, достаточно будет повторно установить пакет systemd-sysvinit.

Не знаю, как долго будет сохраняться такое «двоевластие», но пока для тех, кто без душевного трепета относится к прогрессу ради прогресса, решение есть. И это не может не радовать.

UPD Увы, радость оказалась не очень долгой: после обновления до Milestones 2 выяснилось, что при использовании sysvinit-init ни выключение, ни перезагрузка не происходят с первого раза. Что лечилось только возвратом в зад systemd-sysvinit. Так что мирное сосуществование двух систем вряд ли продлится долго.


К содержанию