Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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 (X11 или X) — это оконная система с растровым отображением. Это стандартный набор инструментов и протокол для построения графических пользовательских интерфейсов на Unix и Unix-подобных операционных системах, а также на OpenVMS, и может использоваться практически во всех современных операционных системах.
    Если посмотреть на каталог /etc, можно найти множество каталогов в виде rc#.d (где # обозначает заданный уровень инициализации, диапазон — 0~6). В этих каталогах существует множество скриптов, контролирующих процесс. Эти сценарии начинаются либо на «K», либо на «S». Скрипты, начинающиеся на K, запускаются раньше скриптов, начинающихся на S. Место размещения этих скриптов определяет, когда они начнут работать. Между этими каталогами системные сервисы работают вместе, как здоровая машина. Однако иногда хочется начать или уничтожить процесс чисто, не используя команды «убить» или «убить все». Вот тут и пригодится /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/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