Автостарт на дриме

  • Не подскажите, где можно добавить комманды в меню установки автостарта ? набивать длинныю команду пультом мучительно, наверняка все ети команды хранятся где-то в фаиле ?
    Или поставлю вопрос так : где можно добавить комманду
    "export LD_LIBRARY_PATH=/hdd/opt/local/lib:$LD_LIBRARY_PATH"
    перед стартом Апаче?

  • Поиском пользовался,но читать слишком ного,короче не нашел ничего.


    Имедж не рудрим,охото везьде уметь это делать.
    Проблемма такая:я хочю засунуть [camd3]и[mgcamd] B автостарт.
    Пробовал зоздать файл [init] зделал [chmod],вписал туда путь к [camd3],но он HE запустился.



  • вычитал,что нужен скрипт для запуска.
    типа:


    [autostart.sh] 755
    в нем вписать строчки
    [
    #!/bin/sh
    /var/bin/camd3
    ]


    А потом этот скрипт запустить,
    наверное из файла [init]?


    [
    #!/bin/sh
    /var/bin/autostart.sh &
    ]


    или надо запускать так:[var/bin/.camd3]?

  • Цитата

    я хочю засунуть [camd3]и[mgcamd] B автостарт.


    Дык, пропиши их в /etc/init.d/rcS, куда-нибудь перед запуском enigma. Или не срабатывает?



    UF

  • Цитата

    Спасибо, сейчас попробую!


    Только с амперсандом на конце, обязательно. Вот так - /var/bin/camd3 &
    /var/bin/newcamd &


    UF

  • Что опять не так?


  • Цитата

    Странно он воттак запустил: ]


    Как "вот так"?


    Если хочешь поглядеть вывод программы - запускай её вот так:


    /var/bin/camd3 1> /var/tmp/log1 2> /var/tmp/log2 & - в этих файлах будет все, что программа вывела на stdout при запуске.



    UF

  • [QUOTE]Что опять не так?


    Ты это всё не туда прописал. ;) Пропиши до запуска enigma, как я и советовал, то бишь вот в этой части скрипта:


    touch /tmp/.enigma
    while [ -e /tmp/.enigma ]
    do


    вот здесь напиши /var/bin/camd3 &
    /var/bin/newcamd &


    а потом уже пойдет enigma


    UF

  • файл init
    [!/bin/sh


    touch /tmp/.enigma
    while [ -e /tmp/.enigma ]
    do
    /var/bin/camd3_start
    /bin/enigma
    ret=$?
    echo "enigma returned with "$ret
    case $ret in
    0)
    echo "Shutdown"
    /var/bin/camd3_stop
    rm /tmp/.enigma
    /sbin/halt
    ;;
    3)
    echo "Reboot Flash"
    /var/bin/camd3_stop
    rm /tmp/.enigma
    umount /var
    umount /hdd
    sleep 2
    /tmp/reboot
    ;;
    4)
    echo "Reboot"
    /var/bin/camd3_stop
    rm /tmp/.enigma
    /sbin/reboot
    ;;
    *) echo "Restart"
    ;;
    esac
    /var/bin/camd3_stop
    done


    exit 0
    ]



    файл camd3_start


    [#!/bin/sh


    # Diese Zeile ANPASSEN !!!
    # Du muss hier den Name von deinem camd eingeben (camd2 oder camd3 oder camd3606 usw.)
    CAMD_NAME="camd3"



    PATH=/tmp:/var/bin:/bin:/sbin


    if pidof $CAMD_NAME > /dev/null; then
    echo "starte pcamd -kill"
    pcamd -kill
    fi


    i=5


    while expr $i != 0 > /dev/null; do
    if pidof $CAMD_NAME > /dev/null; then
    echo "Warte auf $CAMD_NAME (max. $i seconds)"
    else
    break;
    fi
    i=`expr $i - 1`
    sleep 1
    done


    if pidof $CAMD_NAME > /dev/null; then
    echo "Sende KILL-Signal zu $CAMD_NAME"
    killall -9 $CAMD_NAME
    sleep 1
    fi


    echo "Starte $CAMD_NAME"
    $CAMD_NAME


    exit]


    файл camd3_stop


    [#!/bin/sh


    # Diese Zeile ANPASSEN !!!
    # Du muss hier den Name von deinem camd eingeben (camd2 oder camd3 oder camd3606 usw.)
    CAMD_NAME="camd3"



    PATH=/tmp:/var/bin:/bin:/sbin



    if pidof $CAMD_NAME > /dev/null; then
    echo "starte pcamd -kill"
    pcamd -kill
    fi


    i=5


    while expr $i != 0 > /dev/null; do
    if pidof $CAMD_NAME > /dev/null; then
    echo "Warte auf $CAMD_NAME (max. $i seconds)"
    else
    break;
    fi
    i=`expr $i - 1`
    sleep 1
    done


    if pidof $CAMD_NAME > /dev/null; then
    echo "Sende KILL-Signal zu $CAMD_NAME"
    killall -9 $CAMD_NAME
    sleep 1
    fi


    echo "Fertig"


    exit]

  • Цитата

    файл init


    Слишком много лишнего наворочено. ;)


    Куда как удобнее вызывать из rcS, а для более корректного старта/завершения - на каждый case reboot или shutdown enigma прописать в том же rcS, перед /sbin/halt или /sbin/reboot - killall [имя_эму]. А ещё правильнее - killall -9 [имя_эму]


    UF



  • Не спорю !


    Выставил только для ознакомления , если люди пусть просто по коду глазами пробегутся то может будет интересно как ето всё примерно работает.

  • Akkermanez


    В следующий раз, когда кто-то спросит "какие ключи использует такой-то эму" выложи сюда для ознакомления все содержимое бинарника этого эму. Прям в ASCII и выкладывай, народ обязательно найдет на пятой-шестой странице жестко забитые ссылки на кейфайлы.

  • Можно на примере а добавöенное красным шрифтом выделить,
    пожалуйста!

  • Вот так примерно: (это исправленный скрипт, можешь сразу его записывать на место старого, если у тебя эмуляторы camd3 и newcamd находятся в директории /var/bin В этом же скрипте сразу задается адрес сетевой платы: 192.168.1.2, если вдруг надо. Если нет - сотри строку /sbin/ifconfig eth0 ....)



    Проверь, должно работать. ;)



    UF

  • Цитата

    По словам пользователя ФвС ...
    Аккерманез


    В следующий раз, когда кто-то спросит "какие ключи использует такой-то эму" выложи сюда для ознакомления все содержимое бинарника этого эму. Прям в АСЦИИ и выкладывай, народ обязательно найдет на пятой-шестой странице жестко забитые ссылки на кейфайлы.



    Хорошо буду знать, а куда выкладывать ?

  • Спасибо за помощь!
    заработало,но не так. :(
    оба эму работают(запущены) но нихрена не стыкуются с серверами.
    попробую пока только [camd3] в автостарт поставить.

  • автор vitos13
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    да простят специалисты в линуксе может это и прописная истина для них а для меня чайника было как открытие неизведанного


    порывшись и поспрашав опытных нашел такую инфу
    за все настройки линукса отвечает папка etc
    в ней есть папка init.d
    а в этой папке лежит скрипт на самбу *samba /текстовой файл/, а каталоге /usr/sbin лежат исполняемые модули nmbd и smbd
    задача : надо прописать что бы при старте рестарте запускался
    этот скрипт


    коротко теории
    в каталоге etc лежит файл inittab в нем прописаны уровни /так сказать/
    rc2 для запуска по умолчанию
    rc0 для выключ
    rc6 для ребута


    это типа аналоги autoexec.bat


    теперь в каталоге etc видим папки rc0.d-rc6.d
    в этих каталогах есть линки на запуск и остановку определенных программ/скрипты/


    формат их такой @S90samba - это означает что start 90-номер по порядку запуска /типа в конце/ samba
    или @K90samba то есть kill samba при выгрузке и выкл


    вот такой линк надо создать если его нету


    для этого телнетом цепляемся к дриму telnet IP-дрима


    root пароль и мы в дриме
    запускаем mc - это аналог нортона


    в левом окне идем в папку rc2.d в правом в папку init.d и встаем на *samba
    далее
    F9- File- symlink- и присваиваем во второй строке имя линку /etc/rc2.d/S90samba


    далее для папок rc0.d и rc6.d
    /etc/rc2.d/K90samba


    или проще командами ln -s /etc/rc2.d/S90samba /etc/init.d/samba
    ln -s /etc/rc0.d/K90samba /etc/init.d/samba
    ln -s /etc/rc6.d/K90samba /etc/init.d/samba
    /спасибо знатокам/


    теперь reboot и наслаждаемся как самба сама будет запускаться при старте/рестарте


    по другому не получалось
    мож кто теперь опишет как эти скрипты под желтую кнопку посадить

  • попробую популярно на примере автоматического запуска Samba объяснить. Другие скрипты запускаются аналогично:
    в /etc/init.d создаём текстовый файл samba.sh со следующим содержанием:
    #!/bin/sh
    /bin/nmbd -D
    /bin/smbd –D
    скрипты лежащие в /rcS.d запускаются при каждом старте. Здесь создаём символический линк на наш samba.sh-скрипт (незабываем про права! скрипт должен быть выполняемым (755)):
    ln -s /etc/init.d/samba.sh S99samba.sh где S-старт 99–порядковый номер запуска


    автор Samodelka
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.