/etc/rc.d vs /etc/init.d


15

Чи /etc/init.dкаталог убунту рівнозначний (функціонально) тому, що я вважаю більш стандартним /etc/rc.d/(принаймні, для арки)? Чи є якась конкретна причина, що використовується для init.d замість rc.d для запуску сценаріїв?


1
насправді арка Linux є єдиним дистрибутивом, який використовує, /etc/rc.dщо я бачив ... Я підозрюю, що він може використовуватися в bsd.
ксенотеррацид

1
він використовується у freebsd
wlraider70

Відповіді:


16

Ubuntu використовує /etc/init.dдля зберігання сценаріїв SysVinit, оскільки Ubuntu заснований на Debian, і саме для цього використовується Debian. Red Hat використовує /etc/rc.d/init.d. Я забуваю, що використовує Slackware. Просто немає стандартного місця.

Ubuntu перебуває в процесі переходу з SysVinit на Upstart , в якому використовуються конфігураційні файли в /etc/init.


2
На жаль, але /etc/init.d є стандартом, як частиною стандарту SVR4, який копіювали запущені сценарії Linux.
Багата Гомолка

Веб-сайт Upstart стверджує, що Ubuntu використовує його з версії 6.10
badp

@badp: Хоча 6.10, все ще використовується сценарій init у стилі SysV /etc/init.d. Перехід до /etc/init/*.confпочатку розпочався пізніше (8.04 все ще був у стилі SysV, 10.04 вже переходив).
Жил "ТАК - перестань бути злим"

2
Ubuntu перейшов з Upstart на systemd з 15.04.
PetroCliff

7

/etc/init.d була давньою історичною локацією для SVR4. Я забув, чому redhat додав рівень /etc/rc.d/. Я думаю, щоб виділити речі на rc.d, але тоді потрібно було б додати купу символьних посилань для зворотної сумісності. Таким чином, є /etc/init.d у redhat, просто він посилається в іншому місці.

Таким чином, стандартне місцезнаходження - /etc/init.d, хоча це може бути символьним посиланням, а не реальним каталогом.

Було кілька дійсно старих дистрибутивів Linux, які копіювали BSD з /etc/rc.local, але майже ніхто більше не використовує це.



5

Історично /etc/rc.dдерево каталогів позначає систему Init, яка слідує традиції 4.4 BSD ініціалізації системи, яку зазвичай називають системою rcinit. Вся сучасна (Безкоштовна / Відкрита / Мережа) система BSD та Slackware Linux дотримуються цієї традиції.

/etc/init.dДерево каталогів позначає систему ініціалізації System V (SysV) , який слідує за AT & T UNIX, SunOS, Solaris традиції ініціалізації системи. Це зазвичай називають системою SysV Init. Debian власне дотримується цієї традиції в серії Wheezy, але планує використовувати SystemD в серії Джессі. Історично RedHat та похідні використовували SysV Init, але більше не так.

Також з часом дистрибуції прийняли особливості обох схем init.


А далі є AIX з "/etc/rc.d/init.d/". Трохи стовпця А та трохи стовпця Б.
DarkHeart

0

Насправді, принаймні в CentOS 6.8 Сантьяго, /etc/init.dце лише м'яке посилання на /etc/rc.d.


Саме так я і мав на увазі, ха-ха. Вибачте за неправильне написання, я змінив свою відповідь зараз.
chromechris

Чому люди беруть участь у виборах, не даючи пояснень? Заява, якщо навмисно не має значення, все ще може мати значення або значення для читача-початківця. Поясніть, коли ви зволікаєте. Я +1, щоб скасувати ефект -1
Асад Ікбал

0

PuppyLinux має і /etc/rc.d, і /etc/init.d , не є символьним посиланням. Що таке симпосилання - /etc/rc.d/init.d , який пов'язує рівень до /etc/init.d (я дивлюсь на Щеня на базі Slackware - також є Ubuntu та інші аромати .) У кожному README.txt є пояснення їх підходу.


0

Гаразд, /etc/init.dце місце, де можна швидко розгорнути сценарій init. Другий крок до активації цього сценарію - запустити chkconfigкоманду над ним. Скажімо, ви запустите chkconfig --add <yourscript>, символічні посилання будуть створені між /etc/init.d/<yourscript>і/etc/rc.d/rcX.d/S50<script>наприклад. X у rcX.d, що представляє номер запуску сценарію, і S50, що представляє тип сценарію (є два з цих типів, S&K, S повідомляє системі запускати сценарій, коли він завантажується, і K повідомляє системі вийдіть із скрипту витончено, коли ви закриєте. Число після S / K позначає порядок, в якому вони трапляються, якщо у вас є деякі сценарії, які залежать від активності інших). За замовчуванням, якщо в сценарії не вказано жодного рівня запуску, або при видачі команди runlevel, CentOS6 створює сценарії S50 для рівнів 2,3,4,5 та K50 для рівнів запуску 0,1,6.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.