Назад | Перейти на главную страницу

В Debian 7.5 rc.local не запускается при загрузке

Я изо всех сил пытаюсь понять, почему rc.local не запускается во время загрузки.
Сам файл исполняемый, вызывается из /etc/rc2.d
Также файл из командной строки не вернет никаких ошибок.
Есть идеи, что еще проверить, чтобы выяснить, почему не запускается?

Поскольку вы говорите, что rc.local выполняется правильно, когда вы запускаете его вручную, сразу приходят на ум две вещи:

  • Что-то идет не так во время загрузки, но работает, когда вы запускаете его самостоятельно. Возможно, вы пытаетесь запустить программу, которой нет в PATH во время загрузки.
  • /etc/rc.local действительно не запускается при загрузке.

В обоих случаях первое, что я сделаю, это поставлю что-нибудь вроде

/usr/bin/printenv > /var/tmp/rc.local-$(date +%T)

как самая первая строка rc.local после #!/bin/sh линия. Это будет печатать переменные среды в файле с отметкой времени при каждом запуске. (Не записывайте файл в /tmp потому что он опорожняется при загрузке.) /etc/rc.local вручную и быстро посмотрите на получившийся файл (он будет называться примерно так /var/tmp/rc.local-21:14:35). Затем перезагрузите вашу систему.

У вас должно быть два файла в /var/tmp (или где угодно), что можно сравнить. Если у вас только первый файл, /etc/rc.local на самом деле не звонят. Если у вас два файла, сравните их. У последнего будет очень разреженная среда и PATH. Посмотрите через свой rc.local script и посмотрите, есть ли что-то, что вы пытаетесь запустить, что зависит от некоторой переменной или какого-либо компонента PATH, которого нет в среде загрузки. Если что-то обнаружите, добавьте необходимую инициализацию в rc.local.