Исправление init скирптов (ошибки при запуске)

После обновления с Debian 5 на Debian 6 при перезапуске некоторых демонов стали вылезать ошибки такого вида:

insserv: Script jexec is broken: incomplete LSB comment.

insserv: missing ‘Required-Stop:’ entry: please add even if empty.

insserv: missing `Default-Start:’ entry: please add even if empty.

Где вместо jexec может быть что угодно, у меня это был nginx и php-fastcgi. Все дело тут в изменившейся структуре init скриптов, а те программы которые выдают эти ошибки, скорее всего ставились вручную (собирались из исходников, ставились из deb пакетов, или может там просто руками писались init скрипты) и не обновились автоматом.

Исправить это можно руками, и это совершенно не сложно.

1. Удаляем существующие стартовые скрипты, можно руками, можно так update-rc.d php-fastcgi remove, где php-fastcgi тот демон который вызывает ошибку у вас.

2. Правим стартовый скрипт в каталоге /etc/init.d/ а точнее это место:
#! /bin/sh
### BEGIN INIT INFO
# Provides: php-fastcgi
# Required-Start: $all
# Required-Stop: $all

# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop php-cgi in external FASTCGI mode
# Description: Start and stop php-cgi in external FASTCGI mode
### END INIT INFO

Должно получится так:

#! /bin/sh
### BEGIN INIT INFO
# Provides: php-fastcgi
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog

# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop php-cgi in external FASTCGI mode
# Description: Start and stop php-cgi in external FASTCGI mode
### END INIT INFO

А получится так должно потому, что в Debian 6 изменили схему запуска демонов, теперь учитывается не только уровень запуска, но и очередность в уровне.

3. Добавляем скрипт на уровни запуска update-rc.d php-fastcgi defaults.

После всего этого, ошибки появляться не будут, и жить становится как то сразу легче. После всех этих процедур, не лишним будет проверить, перешла ли система на новую схему загрузки. Для этого надо набрать dpkg-reconfigure sysv-rc или ничего не произойдет (значит уже перешла) или запросит вашего разрешения на переход.

Более подробно о автозапуске в Debian можно почитать тут.

Смотрите так же:

Исправление init скирптов (ошибки при запуске): 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.