запутанное поведение скриптов LSB Init в Debian

Я испытываю странное поведение с LSB Init Scripts в Debian Wheezy. Я могу продемонстрировать проблему на следующем примере:

Сценарий /etc/init.d/resolvconf начинается с S и останавливается на уровнях выполнения 0 и 6 .

 # Default-Start: S # Default-Stop: 0 6 

И действительно, когда я использую chkconfig resolvconf on для включения скрипта, я вижу, что символические ссылки были созданы в соответствующих каталогах уровня запуска:

 $ ls /etc/rc?.d/*resolvconf /etc/rc0.d/K02resolvconf /etc/rc6.d/K02resolvconf /etc/rcS.d/S13resolvconf 

Когда я chkconfig resolvconf off скрипт с помощью chkconfig resolvconf off , символические chkconfig resolvconf off исчезнут. Все идет нормально.

Теперь я решил, что не хочу, чтобы сценарий начинался с S (я собираюсь запустить его вручную), но я все же хочу, чтобы он остановился на уровнях выполнения 0 и 6 . Я меняю начало по умолчанию следующим образом:

 # Default-Start: # Default-Stop: 0 6 

и включите скрипт на chkconfig resolvconf on . И ничего не происходит.

 $ ls /etc/rc?.d/*resolvconf ls: cannot access /etc/rc?.d/*resolvconf: No such file or directory 

никакие символические ссылки не созданы, и сценарий не останавливается на уровнях 0 и 6 .

Что здесь происходит?

Как я могу запустить скрипт только на уровне выполнения 0 и 6 , не начиная с S ?

ОБНОВИТЬ

как было предложено @Rui F Ribeiro, я полностью удалил строку # Default-Start: Теперь, когда я запускаю chkconfig resolvconf on , я получаю следующие ошибки:

 insserv: Script resolvconf is broken: incomplete LSB comment. insserv: missing `Default-Start:' entry: please add even if empty. insserv: Default-Start undefined, assuming empty start runlevel(s) for script `resolvconf' 

однако символические ссылки создаются.

 $ ls /etc/rc?.d/*resolvconf /etc/rc0.d/K02resolvconf /etc/rc6.d/K02resolvconf 

Но почему я получаю ошибки?

  • Обсуждаются ли какие-либо обсуждения предложения нового стандарта иерархии файловой системы?
  • Как перенаправить демона и stderr с помощью start-stop-daemon (8)?
  • Как получить DISTRIB_CODENAME?
  • Настройка Bind9 - lsb-base не в источниках
  • Как установить бинарный файл Intel на ARM?
  • Как изменить таймаут в systemctl
  • Как интерпретировать явные ссылки на GNU в спецификациях LSB?
  • Запуск сценария для запуска сценария оболочки как демона
  • One Solution collect form web for “запутанное поведение скриптов LSB Init в Debian”

    chkconfig только считывает строки «Default-Start» при вычислении уровней запуска для скриптов. Он подсчитывает количество уровней запуска и только вызывает insserv если в «Default-Start» запрашивается хотя бы один уровень выполнения …

    Обходные пути, которые избегают такого поведения, включают:

    • предоставление услуг с помощью chkconfig -a ;
    • отключить службы с помощью chkconfig -d ;
    • используя insserv напрямую, insserv service чтобы включить service , insserv -r service чтобы удалить его.
    Interesting Posts

    Подключение к беспроводной сети и Fedora 15 Загрузка

    Зачем избегать тривиальных символов в сценарии оболочки?

    Как смонтировать Apple Time Capsule во FreeBSD (FreeNAS) в качестве общего ресурса smbfs?

    Как я могу напечатать нечетные и четные строки в виде столбца с помощью AWK?

    Как сохранить копию защищенной формы PDF в Evince?

    Фиксирование заголовков объектов git

    Проблема Java PATH при установке JDK7 на centos 32 бит

    В чем разница / отношение между именем ядра и именем ОС?

    Экран GNU замедляет работу клавиши ESC Vim

    Как определить реальный размер выборки и количество каналов в WAV-файле?

    Как настроить графические драйверы?

    Как установить Rekonq 1.0 на Fedora 17?

    Отменить или изменить по умолчанию «повторное обнаружение мониторов» windows + p cinnamon keybinding с использованием gsettings

    parse error в / var / lib / dpkg / status: поле «Зависимости», недопустимое имя пакета `python: any '

    Как я могу объяснить этой команде, что они нуждаются в поддержке Linux?

    Linux и Unix - лучшая ОС в мире.