Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 11617|Відповідь: 0

[linux] Розумійте каталог /etc/init.d та /etc/rc.local скрипти на системах Linux

[Копіювати посилання]
Опубліковано 13.11.2017 11:53:19 | | |
Англійська версія цієї статті взята з: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/

1. Про /etc/init.d
     Якщо ви коли-небудь користувалися системою Linux, то чули про каталог init.d. Для чого саме цей каталог? Вона робить лише одну річ у кінцевому підсумку, але це не дрібниця, це робиться для всієї системи, тому це дуже важливо. Каталог init.d містить багато скриптів старту та зупинки для різних сервісів системи. Він керує всім — від acpid до x11-common. Звісно, init.d зовсім не такий простий. (Примітка перекладача: ACPID — це новий стандарт управління живленням для операційних систем Linux; X11 також називають системою X Window, а система X Window (X11 або X) — це віконна система з растровим відображенням. Це стандартний набір інструментів і протокол для створення графічних інтерфейсів користувача на Unix та Unix-подібних операційних системах, а також на OpenVMS, і може використовуватися майже для всіх сучасних операційних систем.
    Якщо подивитися на каталог /etc, можна знайти багато каталогів у формі rc#.d (де # позначає заданий рівень ініціалізації, діапазон — 0~6). Під цими каталогами існує багато скриптів, які контролюють процес. Ці сценарії починаються на «K» або на «S». Скрипти, які починаються на K, виконуються перед скриптами, що починаються на S. Місце розташування цих скриптів визначає, коли вони почнуть працювати. Між цими каталогами системні сервіси працюють разом, як здорова машина. Однак іноді хочеться почати або вбити процес чисто, не використовуючи команди kill або killall. Ось де /etc/init.d стає в пригоді!
    Якщо ви використовуєте систему Fedora, ви можете знайти таку директорію: /etc/rc.d/init.d. Насправді він робить одне й те саме, куди б ви не ввели init.d.
     Щоб мати змогу використовувати скрипти в каталозі init.d, потрібні root або sudo привілеї. Кожен скрипт виконується як команда, яка структурується приблизно так:
     Опція /etc/init.d/command
     comand — це фактична команда, яка виконується, і опції можуть бути такими:
Початок
Зупинити
Перезарядка
Перезапуск
Примусове перезарядження
       У більшості випадків ви використовуєте опції старт, стоп, перезапуск. Наприклад, якщо ви хочете вимкнути мережу, ви можете використати таку команду:
     
         /etc/init.d/мережеві зупинки
        Ще один приклад — ви змінюєте налаштування мережі і потрібно перезапустити мережу. Ви можете використовувати такі команди:
        /etc/init.d/networking restart
        Найпоширеніші скрипти ініціалізації в каталозі init.d такі:
      
Нетворкінг
самба
apache2
FTPD
СШХД
голубник
mySQL
         Звісно, у вас можуть бути й інші, більш поширені скрипти, залежно від встановленої операційної системи Linux.
2. Про /etc/rc.local
      rc.local — це також скрипт, який я часто використовую. Скрипт виконується після запуску скрипта на рівні системної ініціалізації, тому можна безпечно додати бажаний скрипт після завантаження системи. Поширений випадок полягає в тому, що можна додати скрипт кріплення/монтування NFS. Також можна додати скриптові команди для налагодження всередині. Наприклад, я стикався з ситуацією, коли сервіс самби завжди не працює належним чином, і інспекція показує, що самба мала запускатися і виконувати під час запуску системи, тобто конфігурація самби демона гарантує, що ця функція виконується правильно. У такому випадку я зазвичай не витрачаю багато часу на пошуки чому, мені просто потрібно додати цей рядок до скрипту /etc/rc.local:
          /etc/init.d/samba початок
     Таким чином проблему виключення сервісу SAMBA було успішно вирішено.

3. Короткий зміст
         Linux гнучкий. Завдяки гнучкості ми завжди можемо знайти багато різних способів розв'язання однієї й тієї ж проблеми. Приклад запуску системного сервісу — гарний приклад. Зі скриптом у каталозі /etc/init.d, у поєднанні з потужним інструментом /etc/rc.local, ви можете бути впевнені, що ваш сервіс працюватиме бездоганно.




Попередній:Asp.Net З'являється в EF6.0, не знайдено з фіксованою назвою "System.Data.SqlClient"...
Наступний:Конфігураційний файл MySQL my.cnf детально пояснюється
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com