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

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

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

  • Запись Emacs отсутствует в меню диспетчера окон
  • Как импортировать ключи с сервера ключей с помощью gpg в debian?
  • Обновите мой IP-адрес (dhclient не найден)
  • Автозапуск приложения GUI в Debian как root
  • Разрешения на владение Moin
  • Как закрыть сеанс XServer с помощью команды
  •  # 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 

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

  • Виртуальная точка беспроводного доступа
  • SSH не регистрируется должным образом
  • минимальная установка X.org xServer на Debian Wheezy
  • Неспособность использовать IPv4-отображаемый IPv6 при сжатии debian
  • Как убедиться, что заставка не срабатывает при просмотре фильма?
  • debian: удалить или переустановить пакет в очень плохом несогласованном состоянии
  • 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 чтобы удалить его.
    Linux и Unix - лучшая ОС в мире.