На 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,

Другие вопросы по тегам