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

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

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

решение1

Поскольку вы говорите, что 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скрипт и посмотрите, нет ли чего-то, что вы пытаетесь запустить, что зависит от какой-то переменной или какого-то компонента PATH, который не находится в среде загрузки. Если вы что-то нашли, добавьте необходимую инициализацию в rc.local.

Связанный контент