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