Автозагрузка скрипта (Как?)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

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

Автозагрузка скрипта

Сообщение melord »

Доброго времени суток!!!
У меня глючный модем, точнее его драйвер. Что бы всё нормально работало приходиться после загрузки перезапускать (перезагружать, не знаю как правильно) модуль ядра. Для этого есть скрипт. Чтобы перезапустить модуль ядра нужно делать вот так:

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

# sh название_скрипта restart

Вопрос в принципе в следующем: Как это автоматизировать?
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Аватара пользователя
КВН
Сообщения: 242
Статус: Новичок

Re: Автозагрузка скрипта

Сообщение КВН »

Наверное, надо поместить скрипт в /etc/init.d и добавить на него ссылку в соответствующий /etc/rс[0-6].d/S[0-99](имя_скрипта)
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

А как-нибудь попроще нельзя? Я это уже пробовал сделать, чего-то не получилось (Наверное руки у меня не с того места растут)...
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Аватара пользователя
КВН
Сообщения: 242
Статус: Новичок

Re: Автозагрузка скрипта

Сообщение КВН »

А если в /etc/modules его (модуль) добавить?
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

Я смотрел этот файл, тоже такая идея возникла, но не пойму как его там правильно прописать...
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Аватара пользователя
КВН
Сообщения: 242
Статус: Новичок

Re: Автозагрузка скрипта

Сообщение КВН »

Ну попробуй допиши его имя (модуля, а не скрипта). Если нужны какие-то параметры, то и их тоже. Не получится, сотри. :) Конца света не будет :)

ЗЫ: Я то сам туда никогда ничего не писал :)
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

Спасибо, попробую
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

Владимир Корсун писал(а):
20.11.2006 06:33
Ну попробуй допиши его имя (модуля, а не скрипта). Если нужны какие-то параметры, то и их тоже. Не получится, сотри. :) Конца света не будет :)

ЗЫ: Я то сам туда никогда ничего не писал :)

Пробывал... При загрузке ошибки вылазивают.
Может есть ещё какие-нибудь предложения? Это же наверное можно как-нибудь по проще сделать?
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Лис
Сообщения: 1639
ОС: Zenwalk

Re: Автозагрузка скрипта

Сообщение Лис »

Если только подгрузить модуль, то пропишите в rc.modules (или как он там в Мандриве), а если нужно загрузить скрипт, то прописывайте в rc.local (поищите в дистре скрипт с подобным названием). Он запускается либо одним из последних, либо последним. Поэтому все, что нужно, уже должно быть загружено.
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

Спасибо, попробую...
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Аватара пользователя
makss
Сообщения: 226
ОС: Win+ Lin

Re: Автозагрузка скрипта

Сообщение makss »

можно сам скрипт посмотреть??
не воспринимайте Linux c позиции Windows, учитесь использовать командную строку
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

makss писал(а):
20.11.2006 15:55
можно сам скрипт посмотреть??

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

#!/bin/sh

# Source function library.
. /etc/rc.d/init.d/functions

# set to correct product (USB or PCI)
#UNICORN="unicorn_pci_eth"
UNICORN="unicorn_usb_eth"

# ANSI=1,G.lite=2,MULTI=3,G.dmt=4,
MODULATION=3

# default VPI, VCI and encapsulation
VPI=0
VCI=35

# standard setting for PPP over Ethernet
PROTOCOL=pppoe
ENCAPS=llc-encaps
MAC=00D0DE001699

# standard setting for PPP over ATM
#PROTOCOL=pppoatm
#ENCAPS=vc-encaps


echo -n "$1 $UNICORN $PROTOCOL $VPI.$VCI $ENCAPS"

stop () {
        killproc pppd >/dev/null 2>&1
        /sbin/ifconfig dsl0 down >/dev/null 2>&1
        /sbin/modprobe -r $UNICORN >/dev/null 2>&1
        return $?
}

start() {
        /sbin/modprobe $UNICORN PROTOCOL=$PROTOCOL ActivationMode=$MODULATION VPI=$VPI VCI=$VCI mac_address=$MAC >/dev/null 2>&1
           [ ! "$?" = 0 ] && return $?
        /sbin/ifconfig dsl0 up
        [ ! "$?" = 0 ] && return $?
        echo -n "start rp-pppoe"
        pppd pty 'pppoe -I dsl0 -m 1492'
        [ ! "$?" = 0 ] && return $?
        return 0
}

case "$1" in
    stop)
        stop
       ;;

    start)
        start
       ;;

    restart)
        stop
        start
       ;;

    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac

RETVAL=$?
if [ $RETVAL = 0 ]; then
    echo_success
else
    echo_failure
fi
echo
exit $RETVAL
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Аватара пользователя
makss
Сообщения: 226
ОС: Win+ Lin

Re: Автозагрузка скрипта

Сообщение makss »

добавте в modules.conf строку

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

alias ds10 unicorn_usb_eth


еще бы неплохо увидеть вывод lsmod
до рестарта сервиса и после
не воспринимайте Linux c позиции Windows, учитесь использовать командную строку
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

Лис писал(а):
20.11.2006 15:50
Если только подгрузить модуль, то пропишите в rc.modules (или как он там в Мандриве), а если нужно загрузить скрипт, то прописывайте в rc.local (поищите в дистре скрипт с подобным названием). Он запускается либо одним из последних, либо последним. Поэтому все, что нужно, уже должно быть загружено.

Добавил скрипт в rc.local, всё отлично работает! Спасибо!
Но всё-равно интересно, почему модуль свои параметры не сохраняет?
makss. Вывод команды lsmod до перезапуска

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

# lsmod
Module                  Size  Used by
md5                     3584  1
ipv6                  234016  8
snd_seq_dummy           2532  0
snd_seq_oss            31136  0
snd_seq_midi_event      5696  1 snd_seq_oss
snd_seq                46960  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_pcm_oss            48960  0
snd_mixer_oss          16896  1 snd_pcm_oss
snd_emu10k1           116516  1
snd_rawmidi            19616  1 snd_emu10k1
snd_seq_device          6828  5 snd_seq_dummy,snd_seq_oss,snd_seq,snd_emu10k1,snd_rawmidi
snd_ac97_codec         83900  1 snd_emu10k1
snd_pcm                79784  3 snd_pcm_oss,snd_emu10k1,snd_ac97_codec
snd_timer              20548  3 snd_seq,snd_emu10k1,snd_pcm
snd_page_alloc          8392  2 snd_emu10k1,snd_pcm
snd_util_mem            3232  1 snd_emu10k1
snd_hwdep               6848  1 snd_emu10k1
snd                    46116  13 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_emu10k1,snd_rawmidi,snd_seq_de
vice,snd_ac97_codec,snd_pcm,snd_timer,snd_hwdep
soundcore               7008  1 snd
af_packet              16392  0
usbhid                 44544  0
floppy                 55444  0
ide_cd                 37988  0
loop                   14504  0
supermount             31956  1
nls_koi8_u              4768  9
nls_cp866               4768  9
vfat                   10592  9
fat                    45980  1 vfat
sis_agp                 6052  1
nvidia               3693864  12
agpgart                29032  2 sis_agp,nvidia
atm                    34680  0
unicorn_usb_eth       710868  0
tsdev                   5984  0
ohci_hcd               19140  0
usbcore               108348  4 usbhid,unicorn_usb_eth,ohci_hcd
evdev                   7648  0
ext3                  124744  4
jbd                    48568  1 ext3

И после

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

# sh unicorn-rp-pppoe restart
restart unicorn_usb_eth pppoe 0.35 llc-encapsstart rp-pppoe     [  OK  ]
# lsmod
Module                  Size  Used by
ppp_async               8704  0
crc_ccitt               1632  1 ppp_async
ppp_generic            24788  1 ppp_async
slhc                    5984  1 ppp_generic
unicorn_usb_eth       710868  0
md5                     3584  1
ipv6                  234016  8
snd_seq_dummy           2532  0
snd_seq_oss            31136  0
snd_seq_midi_event      5696  1 snd_seq_oss
snd_seq                46960  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_pcm_oss            48960  0
snd_mixer_oss          16896  1 snd_pcm_oss
snd_emu10k1           116516  1
snd_rawmidi            19616  1 snd_emu10k1
snd_seq_device          6828  5 snd_seq_dummy,snd_seq_oss,snd_seq,snd_emu10k1,snd_rawmidi
snd_ac97_codec         83900  1 snd_emu10k1
snd_pcm                79784  3 snd_pcm_oss,snd_emu10k1,snd_ac97_codec
snd_timer              20548  3 snd_seq,snd_emu10k1,snd_pcm
snd_page_alloc          8392  2 snd_emu10k1,snd_pcm
snd_util_mem            3232  1 snd_emu10k1
snd_hwdep               6848  1 snd_emu10k1
snd                    46116  13 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_emu10k1,snd_rawmidi,snd_seq_de
vice,snd_ac97_codec,snd_pcm,snd_timer,snd_hwdep
soundcore               7008  1 snd
af_packet              16392  0
usbhid                 44544  0
floppy                 55444  0
ide_cd                 37988  0
loop                   14504  0
supermount             31956  1
nls_koi8_u              4768  9
nls_cp866               4768  9
vfat                   10592  9
fat                    45980  1 vfat
sis_agp                 6052  1
nvidia               3693864  12
agpgart                29032  2 sis_agp,nvidia
atm                    34680  0
tsdev                   5984  0
ohci_hcd               19140  0
usbcore               108348  4 unicorn_usb_eth,usbhid,ohci_hcd
evdev                   7648  0
ext3                  124744  4
jbd                    48568  1 ext3
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
Аватара пользователя
makss
Сообщения: 226
ОС: Win+ Lin

Re: Автозагрузка скрипта

Сообщение makss »

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

/sbin/ifconfig dsl0 up
echo -n "start rp-pppoe"
pppd pty 'pppoe -I dsl0 -m 1492'


судя по выводу могу сказать что не подгружается pppoe
щас посты перечитал
Наверное, надо поместить скрипт в /etc/init.d и добавить на него ссылку в соответствующий /etc/rс[0-6].d/S[0-99](имя_скрипта)

это собственно и нужно сделать

и еще если дать команду не restart а start он заработает??
В принципе можно и так оставить, rc.local для этого и сделан что бы дописывать запуск своих сервисов
не воспринимайте Linux c позиции Windows, учитесь использовать командную строку
Спасибо сказали:
Аватара пользователя
melord
Сообщения: 149
ОС: Debian 5.0

Re: Автозагрузка скрипта

Сообщение melord »

Спасибо. Но оставлю как есть, главное работает :)
Наверное, надо поместить скрипт в /etc/init.d и добавить на него ссылку в соответствующий /etc/rс[0-6].d/S[0-99](имя_скрипта)

Это пробовал. При запуске системы начинает грузиться этот скрипт и так зависает на долго. Возможно что делал не правильно!? Но всё равно всем спасибо за помощь, проблема решена!!!
Познать всё невозможно! Но к этому нужно стремиться!..
Спасибо сказали:
petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Re: Автозагрузка скрипта

Сообщение petrushka_sch2 »

Владимир Корсун писал(а):
20.11.2006 04:09
Наверное, надо поместить скрипт в /etc/init.d и добавить на него ссылку в соответствующий /etc/rс[0-6].d/S[0-99](имя_скрипта)

не могли бы вы объяснить поподробнее про ссылку?
Спасибо сказали:
petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Re: Автозагрузка скрипта

Сообщение petrushka_sch2 »

up... Никто не в курсе?
Спасибо сказали:
Аватара пользователя
*Sasha*
Сообщения: 2519
Статус: Мимо шёл
ОС: Debian

Re: Автозагрузка скрипта

Сообщение *Sasha* »

petrushka_sch2 писал(а):
12.05.2007 23:10
не могли бы вы объяснить поподробнее про ссылку?

А что не понятно делаешь ссылку ln -s /etc/init.d/(имя_скрипта) /etc/rс[0-6].d/S[0-99](имя_скрипта)
Спасибо сказали:
petrushka_sch2
Сообщения: 252
ОС: Mandriva 2007.1

Re: Автозагрузка скрипта

Сообщение petrushka_sch2 »

а чо должно стоять в качестве [0-6] и [0-99]
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Автозагрузка скрипта

Сообщение diesel »

petrushka_sch2 писал(а):
14.05.2007 19:58
а чо должно стоять в качестве [0-6] и [0-99]

rc[0-6].d - это ранлевел в который ты хочешь добавить скрипт. (текущий ралевел можно узнать командой runlevel)
S[0-99]mycoolscript - зайди в папку с ранлевелом. там будет куча подобным образом пронумерованных скриптов. Запускаются они из папки в порядке возрастания номера, если номер один и тот же - то по алфавиту. если принципиально перед чем, или после чего будет запущен скрипт - то надо выбрать правильный номер. если не принципиально ... ставь любой, S98mycoolscript is OK :) :)
Спасибо сказали: