Неполный комментарий LSB. insserv: отсутствует допустимое имя для "Предоставляет:", пожалуйста, добавьте

Недавно я установил: Debian x86_64, oracle 11g и OCI8. Я хотел бы включить автоматическую оболочку script ниже, но я получил следующую ошибку сообщения:

root @debian:/etc/init.d# uname -a Linux debian 3.2.0-4-amd64 # 1 SMP Debian 3.2.54-2 x86_64 GNU/Linux

root @debian:/etc/init.d# update-rc.d oracle-shm по умолчанию update-rc.d: использование последовательности загрузки на основе зависимостей insserv: script oracle-shm нарушен: неполный комментарий LSB. insserv: отсутствует допустимое имя для "Предоставляет:", пожалуйста, добавьте.

В моем файле конфигурации он содержит комментарий, как вы можете видеть ниже.

#! /bin/sh
case "$1" in
start)
  echo "Starting script /etc/init.d/oracle-shm"
  # Run only once at system startup
  rm -rf /dev/shm
  mkdir /dev/shm
  mount -t tmpfs shmfs -o size=2048m /dev/shm
  touch /dev/shm/.oracle-shm
  ;;
stop)
  echo "Stopping script /etc/init.d/oracle-shm"
  echo "Nothing to do"
  ;;
*)
  echo "Usage: /etc/init.d/oracle-shm {start|stop}"
  exit 1
  ;;
esac
#
### BEGIN INIT INFO
# Provides:          oracle-shm
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Bind /run/shm to /dev/shm at system startup.
# Description:       Fix to allow Oracle 11g use AMM.
### END INIT

Не могли бы вы посоветовать мне его решить? Большое спасибо! Marcos

Ответ 1

Я также получил сообщение insserv: missing valid name for 'Provides:' please add... когда (re-) запускается какая-то служба init.d foo. В файле /etc/init.d/foo есть допустимая строка Provides, т.е.

...
# Provides:          foo
...

Тем не менее, служба foo запустилась нормально, несмотря на это сообщение об ошибке.

Оказалось, что insserv или что-то еще, похоже, жалуются на проблемы в любом скрипте init.d, найденном в каталоге /etc/init.d/**, не обязательно тот, который запущен в настоящее время (re-).

Поэтому выполните следующую команду, чтобы найти проблемные сценарии init.d:

cd /etc/init.d/ && sudo grep -rin Provides

Он перечислит все строки Provides всех скриптов, найденных в /etc/init.d/

Проверьте, есть ли у всех действительное имя.

В моем случае был файл /etc/init.d/template котором была строка Provides без имени.

После того как я изменил строку файла с помощью Provides: template Provides:, сообщение об ошибке insserv исчезло.