Почему «init 6» – команда перезагрузки? (исторические причины)

Я хотел бы знать, почему 6 – это номер / код / ​​сигнал, связанный с командой перезагрузки в «init 6». Я имею в виду причины истории / истории / легенды, а не технически … Если это была «причина, связанная с списком» или, может быть, графическая вещь о рекурсии / круг-оуроборе / 101.

Я начинаю читать « Дизайн операционной системы UNIX » Мориса Баха, но еще не нашел причины или идеи.

init 6 – это (или, a) команда перезагрузки из-за исторических определений «уровни выполнения» или общих состояний системы, в которых может ожидаться хост. Они обычно определяются как:

  • 0 – Выключение / остановка системы
  • 1 – Режим одиночного пользователя
  • 2 – зарезервировано для административного использования
  • 3 – Многопользовательский режим с сетью и услугами
  • 4 – зарезервировано для административного использования
  • 5 – Многопользовательский режим с подключением к сети, службам и графическим интерфейсом
  • 6 – Перезагрузка

Команда init сообщает системе перейти к указанному уровню выполнения. Поскольку 6 – это обычно определенный уровень запуска, используемый для перезагрузки хоста, а init 6 (или telinit 6 ) является средством перехода на этот уровень выполнения, вот почему init 6 обычно понимается как команда reboot .

С технической точки зрения, поскольку они могут быть переопределены искушенным или скучным системным администратором, было бы целесообразнее использовать shutdown -r в качестве команды перезагрузки. Частично это объясняется тем, что некоторые дистрибутивы (например, Gentoo) полностью игнорируют это соглашение и из-за разрастающейся усталости системы System V Init в пользу выскочки и других «PID 1» ​​демонов.

Первое появление System V style init было в SVR3 в начале восьмидесятых годов, до этого AT & T Unix не принимала аргументов.

Из коробки не было init 0 а init 6 настроен; только init 1 для однопользовательского режима и init 2 для многопользовательского режима.

Системные администраторы могли свободно использовать все, что захотят, с дополнительными уровнями запуска.

С SVR4, уровень выполнения, стандартизованный для этих значений:

  • s: одиночный пользователь
  • 0: остановка / выключение
  • 1: один пользовательский режим (! = Один пользователь, который был больше режимом восстановления / администрирования)
  • 2: многопользовательский (машина – клиент)
  • 3: многопользовательский режим; распределенный режим (машина – сервер)
  • 4: неназначенный
  • 5: diags
  • 6: перезагрузка

Мое лучшее предположение состоит в том, что 6 было выбрано потому, что не было предусмотрено требование о дополнительном неназначенном уровне выполнения.

Все это произошло до того, как Gnu / Linux был выпущен, поэтому все связанные с Linux не имеют значения.