Какой обходной путь предпочтителен, пока ошибка /etc/rc.local не будет исправлена?

У меня есть несколько команд, которые мне нужно выполнить при запуске. Я хотел поместить их в /etc/rc.local, но это не работает ( сообщение об ошибке ).

Я видел несколько различных обходных путей, и я уверен, что все они работают, но мне интересно, есть ли предпочтительный или даже лучший способ сделать это? Я имею в виду тот, который может избежать потенциальных осложнений, или тот, который может считаться наилучшей практикой в ​​такой ситуации?

Я использую Linux в коммерческих целях (поскольку Windows вчера умерла от меня). Я стараюсь не вызывать больше проблем, чем исправляю. Заранее спасибо.

1
задан 13 July 2012 в 21:44

2 ответа

Я понимаю, что это старый пост .... Но именно это помогло автоматически смонтировать windows-ресурсы в ubuntu vitualbox. Я добавил 10-секундную паузу перед своими командами.

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 10 
<script to be run>
exit 0
0
ответ дан 13 July 2012 в 21:44

Вы все равно должны использовать /etc/rc.local, если только вы сами не можете подтвердить, что rc.local не работает.

После консультации с micahg (пользователем IRC), который работает с Bugsquad и BugControl, мы подтвердили, что /etc/rc.local работает так, как ожидается, что поведение 12.04. Поскольку упомянутая вами ошибка «Incomplete», это, скорее всего, ошибка в крайнем случае, а не ошибка, которую можно подтвердить.


То, что я бы добавил в комментарий к этой ошибке (но не после разговора с micahg), это (обратите внимание, что некоторые из них являются контекстно-зависимыми для ошибки)

[ 1113] rc.local действительно загружается при чистой установке 12.04. Я подтвердил, что rc.local работает правильно после многочисленных изменений в файле и многочисленных перезагрузок.

У меня есть 30 различных команд, которые активируют или деактивируют определенные сервисы и запускают определенные сервисы, которых нет в /etc/init.d/ или upstart. Каждая из этих команд была правильно запущена (только что протестирована) на чистой установке 12.04.

Так как /etc/rc.local требует, чтобы суперпользователь редактировал, я не думаю, что он перезаписывается или перезаписывается рабочим столом, за исключением определенных обстоятельств, когда графический драйвер принимает настройки (или графический интерфейс пользователя, например, подсветка или яркость экрана на ноутбуках, что, как я вижу, происходит при использовании драйверов и программного обеспечения проприетарной видеокарты), и в этом случае /etc/rc.local , скорее всего, работает, но графический интерфейс и соответствующее программное обеспечение запускаются после этого запускаются дополнительные команды и директивы после rc.local времени выполнения.

Это требует дополнительного тестирования с многочисленными различными комбинациями команд, но ожидаемое поведение rc.local действительно имеет место в стандартных тестах 12.04 и 11.04, которые я выполнял.

0
ответ дан 13 July 2012 в 21:44

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

Похожие вопросы: