Пятница, 19.04.2024, 23:45
Приветствую Вас Гость | RSS
Мой сайт
Главная
Регистрация
Вход
Форма входа

Меню сайта

Категории раздела
Об ОС Windows [137]
В категории размещаются статьи, касающщиеся операционных систем от Microsoft.
Об ОС *Nix [198]
В данной категории собраны статьи об ОС семейства Unix/Linux/FreeBSD/...
Справочные материалы [351]
Справка по всему разделу.
Виртуализация и Облака [46]
Networks & Routing [86]
DataBases [22]

Наш опрос
Оцените мой сайт
Всего ответов: 209

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Системное администрирование » Об ОС *Nix

Автозагрузка в линухах
Добавления скрипта в автозагрузку (Debian)
bum аватар
bum, 20.11.2008 — 03:22

В начале скрипта:

### BEGIN INIT INFO
# Provides: defaultdaemon
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

Добавление скрипта в автозагрузку

update-rc.d имя defaults

Удаление скрипта из автозагрузки

update-rc.d -f имя remove

* Debian
* init
* init.d
* rc

* Блог bum
*

D3viL аватар
D3viL, 20.11.2008 — 12:47

Я совсем не знаком с Линуксом.
Но я понимаю, что это что то важное! Только что? И зачем? update-rc.d это бинарник, скрипт или еще какая то штука?

*
*

FraDe, 20.11.2008 — 13:23

smile после прочтения у меня тоже возник вопрос "что это?", запись в блокнотик чтобы не забыть? или попытка сделать статью... но я сдержался и писать не стал smile

Поясню:

Что вот это такое мне вообще не понятно smile
### BEGIN INIT INFO
# Provides: defaultdaemon
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

А в целом:

Если вы хотите чтобы тот или иной INIT скрипт (обычно лежат в /etc/init.d/) запускался при старте системы, вместо создания линков в директориях rc.d вручную, используйте утилиту update-rc.d

Добавление в автозагрузку

update-rc.d имя defaults

Удаление из автозагрузки

update-rc.d -f имя remove

Есть и более хитрые параметры с указанием уровня загрузки и т.п. так что:
man update-rc.d

Еще есть вариант попроще:

apt-get install sysv-rc-conf

~# sysv-rc-conf --h
Usage:
sysv-rc-conf [ options ]

sysv-rc-conf --list [ service ]

sysv-rc-conf [ --level levels ] service

Либо тот который я упоминал в ответе Crazy:

apt-get install sysvconfig
sysvconfig

*
*

D3viL аватар
D3viL, 20.11.2008 — 14:30

А мне вот руками проще, зато я знаю, что скрипт нигде не напортачит и конфиги будут чистыми.

Software Like Sex Better When Its Free

*
*

Grifon аватар
Grifon, 20.11.2008 — 14:38

Очень часто системные администраторы делают всё сами, изобретая велосипеды, боясь, что автоматика напортачит. Я из таких, к сожалению. Но всё же я над собой работаю, и пытаюсь использовать готорые инструменты, но с оторожностью.

*
*

D3viL аватар
D3viL, 20.11.2008 — 15:33

Ну, я не системный администратор.
У меня полный набор разных UNIX-подобных операционок, поэтому для меня нет ничего лучше и роднее скрипта на zsh smile

*
*

Crazy Script, 23.11.2008 — 23:48

Тоже поставил данную оболочку. Скриптом не поделишься?;)

*
*

bum аватар
bum, 20.11.2008 — 18:43

запись в блокнотик чтобы не забыть? или попытка сделать статью... но я сдержался и писать не стал smile

Запись в блокнотик - блог, для себя, и для других.
---
Linux - это тип жизни!

*
*

Grifon аватар
Grifon, 20.11.2008 — 14:35

Полезная заметка. Только не написал что и зачем, чтобы было понятно тем, кто этого не знает.
Вся служебная информация, как представленная выше заключена в блоке между строками:

### BEGIN INIT INFO
### END INIT INFO

Все строки между которыми должны быть в формате
# {ключевое_слово}: арг1 [арг2...]
Строка начинается со знака # и последующего одного пробела. ключевое_слово может быть одним из:

* Provides:
Описывает предоставляемые этим скриптом объекты (арг1, агр2, ...) таким способом, что, когда скрипт запускается с аругментом start, данные объекты считаются существующими, и, следовательно, другие скрипты в init, которые требуют существование этих объектов, смогут запуститься на более поздней стадии. Обычно, можно использовать имя скрипта в качестве объекта, но так же можно использовать имя сервиса, которую он заменяет. Виртуальные объекты тут не указываются. Они определены вне скриптов init.d

* Required-Start:
Задаёт объекты, которые должны существовать, чтобы запустить скрипт. Можно использовать при необходимости виртуальные объекты, как описано ниже. Если объекты не указаны, то этот скрипт может быть запущен сразу после старта, не требуя подключенных локальных файловых систем, запущенного системного журнала и т.д.

* Required-Stop:
Задаёт объекты, используемые сервисом, предоставляемой скриптом. Объект, предоставляемый этим скриптом должен завершиться до завершения перечисленных здесь объектов, чтобы избежать конфликтов. Обычно, здесь указывают те же объекты, что и в Required-Start

* Should-Start:
Задаёт объекты, которые, если существуют, должны должны быть запущены перед сервисом, предоставляемым данным скриптом. Это допускает слабые зависимости, которые не приводят сервис к ошибке, если объекты не доступны. Можно использовать при необходимости виртуальные объекты, как описано ниже.

* Should-Stop:
Задаёт объекты, если существуют должны быть остановлены уже после данного сервиса. Обычно, здесь указывают те же объекты, что и в Should-Start

* Default-Start:
Задаёт уровни запуска, на которых скрипт должен быть запущен (остановлен) по умолчанию. Например, если сервис должен быть запущен на только уровнях 3, 4 и 5, укажите "Default-Start: 3 4 5" и "Default-Stop: 0 1 2 6".

* Short-Description:
Задаёт короткое описание действия скрипта. Ограничено одной строкой.

* Description:
Задаёт более подробное описание действия скрипта. Может быть в несколько строк, в этом случае, каждая строка описания должна начинаться с символа # с последующим знаком табуляции или как минимум 2-мя символами пробела. Описание заканчивается перед линией, не совпадающим с этим условием.

* X-Start-Before, X-Stop-After:
Задаёт обратные зависимости, которые значат то же, как если бы они были указаны в should-start и should-stop в пакетах, указанных тут.

Для отслеживания зависимостей важны ключевые слова provides, required- и should-. Остальные не используются. Уровни запуска по умолчанию используются программой для упорядочивания скриптов (например, insserv) для того, чтобы отслеживать, какой из каталогов rc#.d обновлять, когда служба добавляется в первый раз, и должны отражать назначение сервиса.
Вот некоторые "виртуальные" объекты:

$local_fs
Все локальные фаловые системы подключены. Все скрипты, которые производят запись в /var/ должны зависеть от этого, если они уже не зависят от $remote_fs
$network
низкоуровневая сеть, т.е. сетевые карты, может подразумеваться PCMCIA запущеной
$named
Демоны, которые могут предоставлять разрешение доменных имён предполагаются запущенными. Например, DNS, NIS+ или LDAP
$portmap
Демоны, предоставляющие сервис SunRPC/ONCRPC portmapping как указано в 1833 (если они есть)
$remote_fs
Все файловые системы подключены. Скрипты, которые должны быть запущены во время остановки системы до того, как всем процессам будет отправлен сигнал уничтожения, должны зависеть от $remote_fs.
$syslog
системный журнал функционирует
$time
установленно корректное системное время, например, ntp или rdate, или RTC
$all
Запускает скрипт как можно последним

За более подробной информацией пройдите по http://wiki.debian.org/LSBInitScripts

*
*

FraDe, 20.11.2008 — 14:38

т.е. в любой свой скрипт, я добавляю эту шапку а потом использую update-rc.d и всё работает?

*
*

Grifon аватар
Grifon, 20.11.2008 — 15:08

Ага

*
*

FraDe, 20.11.2008 — 15:09

прикольно

*
*

bum аватар
bum, 20.11.2008 — 18:41

Я рад что ты понял для чего это, и что это жудко удобно!
---
Linux - это тип жизни!

*
*

bum аватар
bum, 20.11.2008 — 18:44

Респект!, нашел то что я не мог найти, спасибо!
---
Linux - это тип жизни!

*
*

max9000, 24.08.2009 — 17:56

я так чего-то и не понял с автозагрузкой у меня puppyrus 4.1 и нужно поставить в автозагрузку скрипт который должен выполнятся после входа в графическую среду пользователем root

*
*

Grifon аватар
Grifon, 24.08.2009 — 18:06

Это уже не автозагрузка - то, что Вы описываете. Если необходимо, чтобы что-то выполнилось при входе в систему в консоли - пихаете это в ~/.bash_login, если хотите в графической среде - то, в kde, например, создаёте ссылку на приложение и перемещаете её в ~/.kde4/Autostart/ или ~/.kde/Autostart/

*
*

max9000, 24.08.2009 — 18:23

у меня скрипт вида /usr/local/etc/mpcs-1.02 -c/usr/local/etc тут нету определенного приложения т.к. он выполняется как-то по другому наверное я в linux не очень так что не обиижайтесь за безграмотность

Источник: http://www.permlug.org/node/4585

Категория: Об ОС *Nix | Добавил: admin (02.03.2010)
Просмотров: 2279 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2024