[Решено]Не выполняется скрипт rc.local (странная ситуевина)

Kubuntu, Xubuntu и другие

Модератор: Модераторы разделов

Аватара пользователя
ZugDuk
Сообщения: 342

[Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

В моей ксубунте, автоматически не стартует скрипт rc.local
Точнее стартовать пытается, но пишет ошибку.


Идет загрузка, запускаются различные сервисы, самым последним в очереди, перед самым логином, идет rc.local
Выглядит он так.

Код: Выделить всё

 * Running local boot scripts (/etc/rc.local)
No such file or directory                                                 [fail]

Далее мне предлагают залогиниться. Ввожу root и оказываюсь в коммандной строке. В ней ручками ввожу:
/etc/init.d/rc.local start
и вижу результат:

Код: Выделить всё

 * Running local boot scripts (/etc/rc.local)                        [OK]

т.е. скрипт работоспособен. Но сам, автоматически, до логина, нормально не выполняется. Почему ?
Спасибо сказали:
blackdevil
Бывший модератор
Сообщения: 2751
Статус: Добровольный помощник
ОС: Ubuntu (lts)

Re: [Решено]Не выполняется скрипт rc.local

Сообщение blackdevil »

Права на файл смотрели?

п.с.:
* Running local boot scripts (/etc/rc.local)
No such file or directory

/etc/init.d/rc.local start

Разницу в пути к файлу замечаете?
Простые решения для Ubuntu-подобных систем: смотрим тут
Спасибо сказали:
Аватара пользователя
ZugDuk
Сообщения: 342

Re: [Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

blackdevil писал(а):
16.10.2008 19:42
Права на файл смотрели?

Смотрел.
На /etc/rc.local
owner - rwx
group - rx
other - rx

На /etc/init.d/rc.local
owner - rwx
group - rx
other - rx

Видимо дело не в этом :)
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: [Решено]Не выполняется скрипт rc.local

Сообщение rm_ »

У меня грабли относительно rc.local были связаны с тем, что при неудачном завершении любой из перечисленных в нём команд, команды следующие за ней не выполняются.

Вам же, порекомендую внимательно изучить исходники обоих rc.local. Или выложите их здесь, попробуем помочь.
Сам факт, что их два - не ошибка, просто один запускает другой, так и должно быть.
А вот где конкретно и какой файл там "не найден", вполне можно определить инспекцией исходников.
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: [Решено]Не выполняется скрипт rc.local

Сообщение Voice »

ZugDuk, прикрепите оба скрипта.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
ZugDuk
Сообщения: 342

Re: [Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

Voice писал(а):
17.10.2008 10:39
прикрепите оба скрипта.

/etc/init.d/rc.local

Код: Выделить всё

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions

do_start() {
    if [ -x /etc/rc.local ]; then
        log_begin_msg "Running local boot scripts (/etc/rc.local)"
        /etc/rc.local
        log_end_msg $?
    fi
}

case "$1" in
    start)
    do_start
       ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
       ;;
    stop)
       ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
       ;;
esac

и /etc/rc.local

Код: Выделить всё

#!/bin/sh -e
/usr/bin/fusesmb /media/network
exit 0
Спасибо сказали:
Аватара пользователя
KonungR
Сообщения: 110
ОС: Windows 7/8

Re: [Решено]Не выполняется скрипт rc.local

Сообщение KonungR »

ZugDuk
А в /etc/rc2.d (или какой уровень запуска а убунте применяется) есть ссылка на /etc/init.d/rc.local?
Windows 7 HB SP1 64bit, Windows 7 Pro SP1 32bit, Windows 8.1 Pro 32bit
Спасибо сказали:
Аватара пользователя
ZugDuk
Сообщения: 342

Re: [Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

/etc/rc2.d/rc.local

Код: Выделить всё

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions

do_start() {
    if [ -x /etc/rc.local ]; then
        log_begin_msg "Running local boot scripts (/etc/rc.local)"
        /etc/rc.local
        log_end_msg $?
    fi
}

case "$1" in
    start)
    do_start
       ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
       ;;
    stop)
       ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
       ;;
esac
Спасибо сказали:
Аватара пользователя
KonungR
Сообщения: 110
ОС: Windows 7/8

Re: [Решено]Не выполняется скрипт rc.local

Сообщение KonungR »

ZugDuk писал(а):
17.10.2008 13:47
/etc/rc2.d/rc.local

В /etc/rcX.d должен быть не скрипт rc.local, а ссылка на него. Например S99rc.local
Windows 7 HB SP1 64bit, Windows 7 Pro SP1 32bit, Windows 8.1 Pro 32bit
Спасибо сказали:
Аватара пользователя
ZugDuk
Сообщения: 342

Re: [Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

ну да. Так и есть, я просто не точно написал имя файла
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: [Решено]Не выполняется скрипт rc.local

Сообщение Voice »

# /usr/bin/fusesmb /media/network

Работает нормально?
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: [Решено]Не выполняется скрипт rc.local

Сообщение Frank »

ZugDuk писал(а):
16.10.2008 14:54
В моей ксубунте, автоматически не стартует скрипт rc.local
Точнее стартовать пытается, но пишет ошибку.
...

В скрипте в самом начале поправь строку

Код: Выделить всё

#!/bin/sh
на

Код: Выделить всё

#!/bin/sh -x
и смотри, что происходит при загрузке.
Изображение
Спасибо сказали:
Аватара пользователя
ZugDuk
Сообщения: 342

Re: [Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

Frank писал(а):
17.10.2008 16:26
В скрипте в самом начале поправь строку
#!/bin/sh
на
#!/bin/sh -x
и смотри, что происходит при загрузке.

Добавил -x в /etc/rc.local
При загрузке вышло такое

Код: Выделить всё

* Running local boot scripts (/etc/rc.local)
+ /usr/bin/fusesmb /media/network
                                                         No such file or directory+ exit0
                                                                                                             [OK]


Если после логина запустить /etc/rc3.d/S99rc.local start
то все стартует нормально.

Код: Выделить всё

 * Running local boot scripts (/etc/rc.local)                                   + /usr/bin/fusesmb /media/network
+ exit 0
                                                                         [ OK ]

Ну и собственно fuse начинает работать именно после второго запуска после логина.


Voice писал(а):
17.10.2008 15:44
# /usr/bin/fusesmb /media/network

Работает нормально?

Ну если его руками запустить, то не совсем нормально, но работает.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: [Решено]Не выполняется скрипт rc.local

Сообщение Frank »

ZugDuk писал(а):
20.10.2008 09:23
Добавил -x в /etc/rc.local
При загрузке вышло такое

Код: Выделить всё

* Running local boot scripts (/etc/rc.local)
+ /usr/bin/fusesmb /media/network
                                                         No such file or directory+ exit0
                                                                                                             [OK]

...

It is based on FUSE (userspace filesystem framework for Linux), thus you will
have to prepare fuse kernel module to be able to use it.

Видимо, на этапе первого запуска чего-то ещё не хватает. Так ли уж нужно fuse вариант smb клиента?
Изображение
Спасибо сказали:
Аватара пользователя
ZugDuk
Сообщения: 342

Re: [Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

Frank писал(а):
20.10.2008 12:54
Видимо, на этапе первого запуска чего-то ещё не хватает.

Не хватает логина. Между выполнением скрипта /etc/rc3.d/S99rc.local и логином наверняка нет ничего.
А как найти логин ? Что это такое и где оно запускается ?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: [Решено]Не выполняется скрипт rc.local

Сообщение rm_ »

Увидев Вашу тему установил у себя тоже fusesmb.
Вот что прописал в rc.local:

Код: Выделить всё

sudo -H -u rm /usr/bin/fusesmb /mnt/net/

Всё работает. Попробуйте тоже, добавить sudo -H -u <имяпользователя>.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: [Решено]Не выполняется скрипт rc.local

Сообщение watashiwa_daredeska »

ZugDuk писал(а):
21.10.2008 10:07
Не хватает логина.

Смотрим man fusesmb, видим, что он использует конфиг в $HOME/.smb На этапе rc.local переменная HOME установлена? Указывает в нужное место? Конфиг там есть?
Спасибо сказали:
Аватара пользователя
ZugDuk
Сообщения: 342

Re: [Решено]Не выполняется скрипт rc.local

Сообщение ZugDuk »

rm_ писал(а):
21.10.2008 10:28
sudo -H -u <имяпользователя>.

Респект тебе. :drinks: Это решило. :2a:
Теперь ничего не ругается.
Ну и заморочка, маленькая, но коварная :black eye: :)
Спасибо сказали: