Не запускается в автозагрузке самописный исполняемый файл (Debian 5 2.6.26-2-amd64)

Knoppix

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

Аватара пользователя
dduck
Сообщения: 64
ОС: Debian

Не запускается в автозагрузке самописный исполняемый файл

Сообщение dduck »

Доброго времени суток.
Написал файл, примерно следующего содержания "tt.cpp":

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

#include <stdlib.h>
using namespace std;
int main() {
//system("echo '1'");
system ("mount -t ext3 /dev/sdb1 /usr");
system("sleep 5");
system("exit");
}
(Не надо мне говорить, что при загрузке монтируется через "fstab" . Я это знаю. Это просто примерный код исполняемого файла. Тут важно то, что посылаются команды в консоль, с правами "root")

Потом откомпилировал его командой

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

g++ tt.cpp


В результате появился исполняемый файл "aa". Поместил этот исполняемый файл в папку home/flash/
Затем написал файл скрипта, под названием "mymount", следующего содержания:

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

#!/bin/sh
/home/flash/aa


Поместил этот файл скрипта в /etc/init.d/ . Затем создал симлинк, под названием "S35mountmy" на этот скрипт в /etc/rcS.d/
В итоге когда перезагружаюсь этот исполняемый файл не исполняется (не срабатывает).


Подскажите в чем ошибка? Почему не исполняется файл при загрузке?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21347
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение Bizdelnick »

Что там у нас по УК за групповой взрыв мозга полагается? :blowup:
/home -то смонтирован на момент запуска скрипта?
Права на исполнение у скрипта выставлены?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
dduck
Сообщения: 64
ОС: Debian

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение dduck »

Да права выставлены (777) и на исполняемый файл и на скрипт. Хотя подождите какие права? На этом этапе и так все скрипты запускаются с правами root. Или я ошибаюсь? (скрипт соответственно сделан исполняемым)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21347
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение Bizdelnick »

dduck писал(а):
30.11.2009 23:51
Да права выставлены (777). Хотя подождите какие права? На этом этапе и так все скрипты запускаются с правами root. Или я ошибаюсь?

Правильно всё, правильно. Я просто подумал, вдруг Вы chmod +x сделать забыли.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение drBatty »

dduck писал(а):
30.11.2009 23:24
(Не надо мне говорить, что при загрузке монтируется через "fstab" . Я это знаю. Это просто примерный код исполняемого файла. Тут важно то, что посылаются команды в консоль, с правами "root")

dduck писал(а):
30.11.2009 23:24
Поместил этот файл скрипта в /etc/init.d/ . Затем создал симлинк, под названием "S35mountmy" на этот скрипт в /etc/rcS.d/
В итоге когда перезагружаюсь этот исполняемый файл не исполняется (не срабатывает).

вы мне другое поясните: зачем было писать на Си shell-скрипт???
dduck писал(а):
30.11.2009 23:51
Да права выставлены (777) и на исполняемый файл и на скрипт.

достаточно 500. запуск скриптов осуществляется с правами root, но подмонтирован-ли каталог с этим скриптом в этот момент?
dduck писал(а):
30.11.2009 23:24
/home/flash/aa

может вы сначала запускаете скрипт, а потом монтируете? посмотрите лог загрузки, там эта тема раскрыта.

Bizdelnick писал(а):
30.11.2009 23:54
Правильно всё, правильно. Я просто подумал, вдруг Вы chmod +x сделать забыли.

да можно и с правами 400, просто запускать надо

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

. myscript

или

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

sh myscript
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
dduck
Сообщения: 64
ОС: Debian

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение dduck »

вы мне другое поясните: зачем было писать на Си shell-скрипт???

я же говорю: "Это просто примерный код исполняемого файла". Важно то, чтобы этот файл выполнялся на этапе загрузки. Какие команды (или не команды) он будет отдавать совершенно не важно. Это просто пример.
но подмонтирован-ли каталог с этим скриптом в этот момент?

Конечно подмонтирован.
может вы сначала запускаете скрипт, а потом монтируете?

У меня по скриту монтируется совсем другой раздел (не тот на котором расположен исполняемый файл) (и уж конечно не тот на котором расположен сам скрипт :) )

просто запускать надо

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

. myscript
или

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

sh myscript
не понимаю. Можете пример привести касательно моего случая? В какое место это писать? Я же скрипт в "автозагрузку" прописал, что этого мало?
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение drBatty »

dduck писал(а):
01.12.2009 02:03
не понимаю. Можете пример привести касательно моего примера? В какое место это писать? Я же скрипт в "автозагрузку" прописал, что этого мало?

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

PS: да, скрипт тут не нужен, в файле rc.local просто напишите

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

/home/flash/aa

если этот файл существует, он выполнится.
проверить можно так:

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

if [ -x /home/flash/aa ]; then
 echo "есть такой файл! выполняем!"
 /home/flash/aa
else
 echo "файла /home/flash/aa не существует, или на его выполнение нет прав"
fi
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
dduck
Сообщения: 64
ОС: Debian

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение dduck »

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

в том то все и дело, что мне нужно чтобы он выполнялся сразу после монтирования всего из файла fstab.
проверить можно так...

Спасибо. Значит вроде всё правильно сделал. Буду разбираться. Я просто думал где то принципиальная ошибка вкралась.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Не запускается в автозагрузке самописный исполняемый файл

Сообщение drBatty »

dduck писал(а):
01.12.2009 02:09
в том то все и дело, что мне нужно чтобы он выполнялся сразу после монтирования всего из файла fstab.

"сразу" значит "перед тем как ..."
перед чем вы хотите запустить этот скрипт?
(а вообще, это вам к дебианщикам, у вас это как-то через... хитровыкрученно короче)
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: