Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
init:как_загружается_linux [2016/04/05 01:46] mirocowinit:как_загружается_linux [2019/12/09 20:14] (текущий) mirocow
Строка 1: Строка 1:
-{{tag>linux}}+{{tag>debian remove systemd sysv system init}}
  
 ====== Как загружается Linux ====== ====== Как загружается Linux ======
Строка 6: Строка 6:
 Когда я осваивал Linux, мне было очень интересно что происходит при загрузке системы. Попытка разобраться в процессе загрузки привела меня в исходники загрузочных скриптов (/etc/inittab, /etc/rc*, /etc/init.d/*, ...) и их конфигов (/etc/sysconfig/*, /etc/cond.f/*, ...). Надо отметить серьёзные размеры и сложность этих скриптов - чтобы в них разобраться потребовалось немало времени. Но я в те времена искренне верил, что загрузка это сложный процесс, и что размеры и сложность загрузочных скриптов вполне оправданы. Когда я осваивал Linux, мне было очень интересно что происходит при загрузке системы. Попытка разобраться в процессе загрузки привела меня в исходники загрузочных скриптов (/etc/inittab, /etc/rc*, /etc/init.d/*, ...) и их конфигов (/etc/sysconfig/*, /etc/cond.f/*, ...). Надо отметить серьёзные размеры и сложность этих скриптов - чтобы в них разобраться потребовалось немало времени. Но я в те времена искренне верил, что загрузка это сложный процесс, и что размеры и сложность загрузочных скриптов вполне оправданы.
 Когда меня окончательно достал RedHat, я решил собрать свой дистрибутив на базе LFS. Для своего дистрибутива пришлось самостоятельно разрабатывать загрузочные скрипты, и тут-то выяснилась правда: ничего сложного в процессе загрузки нет! Когда меня окончательно достал RedHat, я решил собрать свой дистрибутив на базе LFS. Для своего дистрибутива пришлось самостоятельно разрабатывать загрузочные скрипты, и тут-то выяснилась правда: ничего сложного в процессе загрузки нет!
-Проработав 2.5 года на своём дистрибутиве (PoWeR Linux) я мигрировал на Gentoo (на качественную поддержку своего просто не хватало времени). Изучив загрузочные скрипты Gentoo я пришёл в ужас! Их размеры и сложность были ещё больше, чем у старого RedHat. После детального изучения стала ясна причина: один и тот же комплект загрузочных скриптов использовался и для LiveCD и для обычной системы - такой себе универсальный монстрик. Так что при переходе на Gentoo я решил взять загрузочные скрипты из PoWeR Linux а стандартные Gentoo-шные не использовать (т.е. у меня от Gentoo используется только portage). И с тех пор ещё 4 года эти скрипты работают у меня на домашней рабочей станции и кучке удалённых серверов.+Проработав 2.5 года на своём дистрибутиве (PoWeR Linux) я мигрировал на Gentoo (на качественную поддержку своего просто не хватало времени). Изучив загрузочные скрипты Gentoo я пришёл в ужас! Их размеры и сложность были ещё больше, чем у старого RedHat. После детального изучения стала ясна причина: один и тот же комплект загрузочных скриптов использовался и для LiveCD и для обычной системы - такой себе универсальный монстрик.\\ 
 +<text>   </text>Так что при переходе на Gentoo я решил взять загрузочные скрипты из PoWeR Linux а стандартные Gentoo-шные не использовать (т.е. у меня от Gentoo используется только portage). И с тех пор ещё 4 года эти скрипты работают у меня на домашней рабочей станции и кучке удалённых серверов.
  
 ===== Характеристики ===== ===== Характеристики =====
Строка 67: Строка 68:
 При желании можно настроить SysVinit для работы в том же стиле: При желании можно настроить SysVinit для работы в том же стиле:
 Запуск /etc/runit/{1,2,3} из SysVinit: /etc/inittab Запуск /etc/runit/{1,2,3} из SysVinit: /etc/inittab
-id:3:initdefault: + 
-rc::bootwait:/etc/runit/+  id:3:initdefault: 
-l0:0:wait:/bin/sh -c '/etc/runit/3; exec /sbin/halt' +  rc::bootwait:/etc/runit/
-l3:3:once:/etc/runit/+  l0:0:wait:/bin/sh -c '/etc/runit/3; exec /sbin/halt' 
-l6:6:wait:/bin/sh -c '/etc/runit/3; exec /sbin/reboot' +  l3:3:once:/etc/runit/
-ca:12345:ctrlaltdel:/sbin/shutdown -r now+  l6:6:wait:/bin/sh -c '/etc/runit/3; exec /sbin/reboot' 
 +  ca:12345:ctrlaltdel:/sbin/shutdown -r now
  
 Сервисы Сервисы