Ознайомтеся з Linux: Каталог /etc/init.d

Якщо ви використовуєте Linux, ви, швидше за все, чули про це init.d каталог. Але що саме робить цей каталог? Зрештою, це робить одне, але це робить одне для всієї вашої системи init.d дуже важливо. The init.d Каталог містить ряд сценаріїв запуску / зупинки для різних служб у вашій системі. Все з швидкий до x11-поширений контролюється з цього каталогу. Звичайно, це не так просто.

Якщо ви дивитесь на / тощо Ви знайдете каталоги, які знаходяться у формі rc # .d (Де # - це число, що відображає певний рівень ініціалізації - від 0 до 6). У кожному з цих каталогів є ряд інших сценаріїв, які керують процесами. Ці сценарії починаються з «K» або «S». Усі сценарії 'K' виконуються перед 'S' скриптами. І залежно від місця розташування скриптів буде визначати, коли сценарії ініціюються. Між каталогами системні служби працюють разом, як добре змащена машина. Але бувають випадки, коли вам потрібно запустити чи зупинити процес чисто і без використання команд kill або killall. Саме тут /etc/init.d каталог стане в нагоді.



Тепер, якщо ви використовуєте дистрибутив на зразок Fedora, ви можете знайти цей каталог у /etc/rc.d/init.d. Незалежно від місця, він служить одній і тій же цілі.

Для того, щоб контролювати будь-який із сценаріїв у init.d вручну ви повинні мати root (або sudo) доступ. Кожен скрипт буде виконуватися як команда, і структура команди буде мати вигляд:

/etc/init.d/command ВАРІАНТ

Де командування - фактична команда для запуску та ВАРІАНТ може бути одним із наступних:

  • почати
  • Стоп
  • перезавантажити
  • перезапустити
  • перезавантаження

Найчастіше ви будете використовувати будь-який почати, зупинити, або перезапустити. Отже, якщо ви хочете зупинити свою мережу, ви можете випустити команду:

/etc/init.d/networking зупинка

Або якщо ви внесете зміни в свою мережу і вам потрібно перезапустити її, ви можете зробити це за допомогою наступної команди:

/etc/init.d/networking перезапуск

Деякі з найбільш поширених сценаріїв init у цьому каталозі:

  • мережа
  • самба
  • apache2
  • ftpd
  • sshd
  • голубець
  • mysql

Звичайно, у вашому каталозі можуть бути частіше використовувані сценарії - це залежить від того, що ви встановили. Наведений вище список взятий з установки Ubuntu Server 8.10, тому стандартна інсталяція на робочому столі мала б кілька менших сценаріїв мережевого типу.

А як щодо /etc/rc.local

Є третій варіант, який я досить часто використовував. Цей варіант є /etc/rc.local сценарій. Цей файл запускається після запуску всіх інших скриптів рівня init, тому безпечно ставити різні команди, які ви хочете видати при запуску. Багато разів я розміщую в цьому сценарії інструкції з монтажу таких речей, як nfs. Це також гарне місце для розміщення сценаріїв 'усунення несправностей'. Наприклад, колись у мене з'явилася машина, яка, чомусь, самба, здавалося, не хотіла запускати. Навіть afer перевірити, щоб переконатися, що демон Samba був налаштований на ініціалізацію при завантаженні. Тому замість того, щоб витрачати весь цей час наперед, я просто розмістив лінію:

/etc/init.d/samba start

в /etc/rc.local сценарій і Самба працювали як шарм. Врешті-решт я повернусь і з цим проблемою зняти біду.

Фінальні думки

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