Почему мой rc.local не запускается при запуске?

Это дублирующая проблема, но я не считаю, что это дублирующий вопрос, так как ни один из приведенных ответов для людей, страдающих той же проблемой, не работает для меня.

rc.local не запускается при запуске. Это очень просто и содержит следующее:

#!/bin/sh
#
# 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

echo "this was written by rc.local" > /home/simon/start_text

exit 0

«Сон 10» существует, как это было дано в качестве возможного решения проблемы в другом вопросе.

У «#! / Bin / sh» был удален «-e», так как это было также предлагаемое решение.

/etc/rc.local является исполняемым файлом и принадлежит пользователю root.

-rwxrwxrwx 1 root root 396 Jan 24 06:06 rc.local

Запуск скриптов запуска вручную работает нормально, например, "/ etc # ./rc.local" или ": /etc/init.d# ./rc.local start". И то и другое приведет к записи тестового файла (start_text).

Я запускаю 12.04 в Virtualbox, я не уверен, должно ли это иметь какое-то значение.

Я не могу думать о том, что проверить дальше. Идеи, пожалуйста.

0
задан 24 January 2015 в 09:31

1 ответ

Согласно этот документация Ubuntu, системной оболочкой по умолчанию в Ubuntu является Тире вместо Bash, в то время как оболочка входа в систему по умолчанию является Bash. Вывод ls -al /bin/sh шоу Вы, является ли/bin/sh символьной ссылкой (самого вероятного) Тире, или Bash. В моем случае это - Bash:

lrwxrwxrwx 1 root root 4 Apr 8 2014 /bin/sh -> bash

Тире не будет в состоянии интерпретировать echo "this was written by rc.local" > /home/simon/start_text в /etc/rc.local, таким образом, необходимо будет определить для использования Bash для интерпретации команды как это

/bin/bash echo "this was written by rc.local" > /home/simon/start_text.

<час>

можно изменить системную оболочку по умолчанию на Bash, но это не рекомендуется через удаление и воссоздание символьных ссылок:

rm -f /bin/sh

sudo ln -s /bin/bash /bin/sh

Или назад Подчеркнуть штриховой линией:

rm -f /bin/sh

sudo ln -s /bin/dash /bin/sh

1
ответ дан 24 January 2015 в 09:31

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

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