Покуражимся ( Courage блог)

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


    первым делом надо проверить что установлен perl - проверил - стоит =)
    затем надо проинсталировать xmltv-0.5.45

    Исходный код
    % perl Makefile.PL
    % make
    % make test
    % make install


    и что то не пошло - что то с установленным перл не то видимо

    Исходный код
    # perl Makefile.PL
    Argument "6.30_01" isn't numeric in numeric ge (>=) at Makefile.PL line 29.
    Can't locate Term/ReadKey.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Ask/Term.pm line 9.
    BEGIN failed--compilation aborted at lib/Ask/Term.pm line 9.
    Compilation failed in require at Makefile.PL line 232.
  • cпасибо - все гениальное - просто =)


    чтоб не забылось - удивительная форма ящика для РС
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Цитата

    Со слов пользователя Goga777
    про астру 23е - спасибо попробую еще раз поймать.


    нет, ничего не поймал - глухо как а танке на этих 3-х транспондерах.

  • иногда ложаьться или тупят ns серверы прова - в который раз
    на это напарываюсь - вот решил найти альтернативу
    (еле еле раскопал хоть что-то)
    пинги разных публичных ns серверов


    ns.spb.su
    193.124.83.69 ///////////30-60 ms
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Sprintlink общего DNS-сервера>
    204.117.214.10 //////// 110 ms
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Tier 2 servers
    ns1.de.opennic.glue (Кельн, Германия)
    217.115.138.24 //////// 90-120 ms


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


    80.118.196.42////// 60-120 ms
    195.154.223.1 /////// 60-120 ms
    195.186.1.111 /////// 60-100 ms


    проверить отвечают ли они на запросы - выберем какой нибудь экзотический
    адрес типа allrussian.info и cпросим у ns1.de.opennic.glue скажем что он может сказать
    по поводу этого адреса
    #

    Исходный код
    nslookup allrussian.info 217.115.138.24
    Server:         217.115.138.24
    Address:        217.115.138.24#53
    
    
    Non-authoritative answer:
    Name:   allrussian.info
    Address: 213.239.217.44


    в-общем пока дополнительно прописал ns.spb.su и
    опенниковский ns1.de.opennic.glue

    Исходный код
    nameserver (провайдера)
    nameserver 193.124.83.69
    nameserver 217.115.138.24


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


    выбрал - остановился на dnsmasq


    Исходный код
    # apt-get install dnsmasq
    //////////////
    Setting up dnsmasq (2.35-1) ...
    Starting DNS forwarder and DHCP server: dnsmasq.


    и он сразу заработал!!!


    Исходный код
    # nslookup allrussian.info 127.0.0.1
    Server:         127.0.0.1
    Address:        127.0.0.1#53
    
    
    Non-authoritative answer:
    Name:   allrussian.info
    Address: 213.239.217.44


    он сразу подхватил /etc/resolv.conf
    но надо немного по другому как то - скажем в resolv.conf только 127.0.0.1
    а прописать серверы в конфиге dnsmasq /etc/dnsmasq.conf
    для того чтобы локальные приложения обращались только к нему
    в-общем поправил я /etc/dnsmasq.conf раскомментировал no-resolv
    и прописал адреса ns




    а в /etc/resolv.conf заккоментировал старые записи и дописал
    локальный сервер

    Исходный код
    search local
    nameserver 127.0.0.1
    # nameserver 192.168.0.2
    # nameserver 195.5.128.130


    и рестартанул dnsmasq

    Исходный код
    /etc/init.d/dnsmasq restart 
    Restarting DNS forwarder and DHCP server: dnsmasq.


    проверил - браузер работает )))
    правда не понял где и как он кеширует адреса но и так мне вполне достаточно )))


    а сервер прова тем временем опять лег - но на этот раз я этого даже не заметил )))

  • 3 скрипта для запуска и убиения ВДР
    рут-дерево для вдр находится в /video/my_chroot там же скрипт start1
    два скрипта start_vdr.sh kill_vdr.sh пока что в корне /


    стартовый скрипт - с переходом в chroot и запуском уже там
    скрипта start1


    /start_vdr.sh



    надо как то запустить бесконечный цикл проверки наличия файла-флага
    .vdr_run и если файл-флаг исчезает - запускается скрипт kill_vdr.sh
    - пока не соображу как
    а флаг этот собираюсь из вдр снимать - скажем из меню команд нечтотипа

    Исходный код
    rm /tmp/.vdr_run


    скрипт запуска вдр и кое чего еще уже chroot
    /video/my_chroot/start1



    скрипт убийства вдр и все что было запушено при этом
    /kill_vdr.sh


    d-общем без помощи не обойтись .....

  • Цитата

    надо как то запустить бесконечный цикл проверки наличия файла-флага


    while : ; do
    if [ ! -e .vdr_run ] ; then
    kill_vdr.sh
    fi
    sleep 2
    done

  • nslookup , можно считать устаревшей коммандой, рекомендуют dig


    dig A @217.115.138.24 allrussian.info


    А - тип записи (NS,MX,PTR)
    @ - адрес неймсервера


    Заодно и время ответа видно -
    ;; Query time: 80 msec


    IMHO ping не дает реальной картины ...


  • zuriuslev
    cпасибо .... почти все получилось .....
    но есть несколько моментов
    во-первых этот цикл while yикогда не заканчивается - а надо чтобы скрипт kill_vdr.sh
    запустился всего единажды - этого достаточно ////


    а более неприятно то что - если строку запуска прописать с &

    Исходный код
    chroot /video/my_chroot ./start1 &


    то скрипт сразу продолжается и доходит до проверки .vdr_run - все бы было хорошо
    но при этом vdr насколько я понимаю запускается как бы в фоне и не принимает при
    этом комманд с клавиатуры - а мой пульт дистанционного управления работает
    именно по принципу имитации клавиатурных команд


    если же строку записать без &

    Исходный код
    chroot /video/my_chroot ./start1


    то скрипт после этой строки не продолжается и до проверки не доходит


    изменил порядок запуска проверки и запуска ВДР

    Bash
    #!/bin/bash
    
    
    /check_vdr.sh &
    
    
    # chroot in /video/my_chroot & run start1 script
    chroot /video/my_chroot ./start1
    exit 0


    и создал отдельный скрипт check_vdr.sh


    и вроде все почти работает за исключением бесконечности работы цикла проверки и убийства
    ill_vdr.sh в случае если .vdr_run я снимаю ....


    для останова вдр изнутри самого вдр удалЯю файл-флаг прописав в сommands.conf

    Исходный код
    kill vdr: rm /tmp/.vdr_run


    вообще решение получается простым и изящным и мне уже нравится ))))
    еще бы добавить проверку на зависон вдр и было бы счастье ))))
    аналогично думаю и всю машину выключать - устанавливая через commands.conf
    файл=флаг типа .halt_machin и обрабатывая его в скрипте check_vdr.sh


    тогда практически полное управление из вдр запущенного из chroot получается
    /// потом приспособлю эту идею и к дримбоксу - там у меня имиджи тоже через
    chroot запускаются

  • Цитата

    а надо чтобы скрипт kill_vdr.sh
    запустился всего единажды - этого достаточно


    А цикл при этом продолжается ? или нужен выход из цикла ?
    Если нужен выход, то после kill_vdr.sh - пишем exit .
    А VDR потом вручную перезапускать ?


    Кроме того я не понимаю, в чем тайный смысл chroot ...
    chroot , в основном применяется из соображений секюрити, или полной подмены environment ...

  • да - exit помог - спасибо


    еще бы понять как теперь сделать так чтобы еще в консоле из которой запускается
    start_vdr.sh вернуться обратно в командную строку по завершению ....
    пока не все видимо заканчивается - видимо скрипт продолжается - и чтобы
    выйти в командную строку надо ctrl-c делать .... надо чтобы этот скрипт закончился
    послое убиения всего вдр ....


    а по поводу основной идеи запуска через chroot - предпочитаю запускать именно так-
    пусть себе в своем окружении и с своими библиотеками варится эти программы -
    \мне так проще - взял целиком дистр вдр (хочу например в конце концов
    попробовыть АрВДР - но без установки его в раздел) или имидж дримбокс - положил в отдельнуюб
    директорию - и запустил через chroot во всем том в чем эти проги собирались

  • Цитата

    видимо скрипт продолжается - и чтобы
    выйти в командную строку надо ctrl-c делать


    Цитата

    VDRPRG="./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -g /tmp -Protor -Psc -Pfemon -Pchannelswitch
    eval $VDRPRG
    VDRCMD="$VDRPRG &"
    $VDRCMD


    Не понятно ...
    Зачем ./vdr 2 раза запускать ... ???
    Cначала foregraund - eval $VDRPRG
    Потом background - $VDRCMD


    Убери eval ... кстати в конце VDRPRG=, кавычки " не хватает

  • по ходу размышлений родилась идея создания некоего скрипта установки разных
    пакетов для АрВДР из графической оболочки вдр - на выбор /////
    в простейшем варианте это отдельные записи в commands.conf
    скажем инсталляция пакета rotor
    install rotor plugin: apt-get install rotor
    ну типа такого - только надо чтобы еще не спрашивал у юзера ничего а отвечал бы y
    на все вопросы apt-get

  • yep - удалил 2 строки


    все работает - эти 2 строки от недопонимания того как работает eval -cчас прочитал и понял свою ошибку

    Цитата

    eval [аргумент ...]
    Аргументы читаются и соединяются в единую команду. Эта команда затем читается и выполняется командным интерпретатором, а ее статус выхода возвращается в качестве значения команды eval. Если аргументов нет или все аргументы пустые, команда eval возвращает 0.

  • free-x
    я для примера взял отдельный плагин /////
    а разбивка по каким пакетам есть?
    какие вообще пакеты в АрВДР можно доустановить в АрВДР?
    и ///// а почему собственно нельзя собрать отдельные пакеты для каждого плагина?
    установить только необходимые себе плагины //// так нельзя счас?

  • Цитата

    eval $VDRPRG


    А зачем eval ?
    странная конструкция -

    Цитата

    VDRPRG="./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -g /tmp -Protor -Psc -Pfemon -Pchannelswitch"
    eval $VDRPRG


    Зачем эта переменная ????
    Сначала присваиваем значение переменной, потом ее выполняем ...
    почему не просто -
    ./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -g /tmp -Protor -Psc -Pfemon -Pchannelswitch &


    или
    nohup ./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -g /tmp -Protor -Psc -Pfemon -Pchannelswitch &
    или
    daemon ./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -g /tmp -Protor -Psc -Pfemon -Pchannelswitch


    Тогда точно не надо будет ^C жмакать ....

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем zuriuslev ().

  • отькуда взялась eval -
    в строке запуска вдр может присутствовать и плагины которым надо передавать и еще
    параметры - например
    -P'streamdev-server -r /vdr/remux.sh'
    так в лоб из строки насколько я помню запустить никак такую строку не удавалось ...


    а вот про nohup и daemon ничего просто не знаю - почитаю - попробую
    ... темный я в линуксе ((((