Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 прозоречна система, а X прозоречна система (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/networking stop
        Друг пример е, че променяш настройките на мрежата и трябва да рестартираш мрежата. Можете да използвате команди като тази:
        /etc/init.d/мрежов рестарт
        Често използваните скриптове за инициализация в директорията init.d са:
      
Мрежови връзки
самба
Apache2
ftpd
Sshd
Гълъбарник
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