про астру 23е - спасибо попробую еще раз поймать.
Покуражимся ( Courage блог)
- Courage
- Вопрос темы решён
-
-
попробывал поставить
Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
чтобы затем попробывать скрипт tv_grab_ru
Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.первым делом надо проверить что установлен perl - проверил - стоит =)
затем надо проинсталировать xmltv-0.5.45
и что то не пошло - что то с установленным перл не то видимоИсходный код# 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.
-
apt-get install xmltv
-
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правда тут есть одно но - если сервер провайдера не полностью
отвалился а просто тупит и тормозит- к следущим серверам похоже обращения не
будет ((( как сделать так чтобы он запрашивал все и выдавал имена от первого
ответившего - не знаю ......
может надо свой сервер поставить - локальный - заодно и кешировать будет
адресавыбрал - остановился на 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Исходный код
Показать весь код# If you don't want dnsmasq to read /etc/resolv.conf or any other # file, getting its servers from this file instead (see below), then # uncomment this no-resolv # Add other name servers here, with domain specs if they are for # non-public domains. # router dns server=192.168.0.2 # ns.spb.su server=193.124.83.69 # ns1.de.opennic.glue server=217.115.138.24
а в /etc/resolv.conf заккоментировал старые записи и дописал
локальный сервери рестартанул dnsmasq
проверил - браузер работает )))
правда не понял где и как он кеширует адреса но и так мне вполне достаточно )))а сервер прова тем временем опять лег - но на этот раз я этого даже не заметил )))
-
3 скрипта для запуска и убиения ВДР
рут-дерево для вдр находится в /video/my_chroot там же скрипт start1
два скрипта start_vdr.sh kill_vdr.sh пока что в корне /стартовый скрипт - с переходом в chroot и запуском уже там
скрипта start1/start_vdr.sh
Bash
Показать весь код#!/bin/bash # chroot in /video/my_chroot & run start1 script chroot /video/my_chroot ./start1 & # do something while .vdr_run exist # while [ -e /video/my_chroot/tmp/.vdr_run ] # do # done # run kill vdr script # kill_vdr.sh exit 0
надо как то запустить бесконечный цикл проверки наличия файла-флага
.vdr_run и если файл-флаг исчезает - запускается скрипт kill_vdr.sh
- пока не соображу как
а флаг этот собираюсь из вдр снимать - скажем из меню команд нечтотипаскрипт запуска вдр и кое чего еще уже chroot
/video/my_chroot/start1Bash
Показать весь код#!/bin/bash # mount proc & tmp /bin/mount -n -t proc proc /proc /bin/mount -t ramfs none /tmp # set flag .vdr_run touch /video/my_chroot/tmp/.vdr_run # reload dvb-ttpci in s-video mode rmmod dvb-ttpci modprobe dvb-ttpci vidmode=3 # load camd3 /vdr/plugins/camd3.866/camd3 # start vdr cd /vdr VDRPRG="./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -g /tmp -Protor -Psc -Pfemon -Pchannelswitch eval $VDRPRG VDRCMD="$VDRPRG &" $VDRCMD
скрипт убийства вдр и все что было запушено при этом
/kill_vdr.shBash
Показать весь код#!/bin/bash #kill all processes killall -v -TERM start1 killall -v -TERM vdr killall -v -TERM camd3 # unload modul rmmod dvb-ttpci rmmod dvb-ttpci
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 msecIMHO ping не дает реальной картины ...
Цитатаdig A @217.115.138.24 allrussian.info
; <<>> DiG 9.3.2-P1 <<>> A @217.115.138.24 allrussian.info
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5515
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:
;allrussian.info. IN A;; ANSWER SECTION:
allrussian.info. 85801 IN A 213.239.217.44;; AUTHORITY SECTION:
allrussian.info. 85801 IN NS robotns2.second-ns.de.
allrussian.info. 85801 IN NS ns1.first-ns.de.;; ADDITIONAL SECTION:
ns1.first-ns.de. 481 IN A 213.239.242.238
robotns2.second-ns.de. 34394 IN A 213.133.105.6;; Query time: 36 msec
;; SERVER: 217.115.138.24#53(217.115.138.24)
;; WHEN: Thu Mar 15 20:42:39 2007
;; MSG SIZE rcvd: 143 -
zuriuslev
cпасибо .... почти все получилось .....
но есть несколько моментов
во-первых этот цикл while yикогда не заканчивается - а надо чтобы скрипт kill_vdr.sh
запустился всего единажды - этого достаточно ////а более неприятно то что - если строку запуска прописать с &
то скрипт сразу продолжается и доходит до проверки .vdr_run - все бы было хорошо
но при этом vdr насколько я понимаю запускается как бы в фоне и не принимает при
этом комманд с клавиатуры - а мой пульт дистанционного управления работает
именно по принципу имитации клавиатурных командесли же строку записать без &
то скрипт после этой строки не продолжается и до проверки не доходитBash
Показать весь код#!/bin/bash # chroot in /video/my_chroot & run start1 script chroot /video/my_chroot ./start1 sleep 60 while : ; do if [ ! -e /video/my_chroot/tmp/.vdr_run ] ; then /kill_vdr.sh fi echo "Now check .vdr_run"; sleep 10 done exit 0
изменил порядок запуска проверки и запуска ВДР
Bash#!/bin/bash /check_vdr.sh & # chroot in /video/my_chroot & run start1 script chroot /video/my_chroot ./start1 exit 0
и создал отдельный скрипт check_vdr.shBash
Показать весь код#!/bin/bash sleep 60 while : ; do if [ ! -e /video/my_chroot/tmp/.vdr_run ] ; then /kill_vdr.sh fi echo "Now check .vdr_run"; sleep 10 done
и вроде все почти работает за исключением бесконечности работы цикла проверки и убийства
ill_vdr.sh в случае если .vdr_run я снимаю ....для останова вдр изнутри самого вдр удалЯю файл-флаг прописав в сommands.conf
вообще решение получается простым и изящным и мне уже нравится ))))
еще бы добавить проверку на зависон вдр и было бы счастье ))))
аналогично думаю и всю машину выключать - устанавливая через commands.conf
файл=флаг типа .halt_machin и обрабатывая его в скрипте check_vdr.shтогда практически полное управление из вдр запущенного из chroot получается
/// потом приспособлю эту идею и к дримбоксу - там у меня имиджи тоже через
chroot запускаются -
Цитата
а надо чтобы скрипт kill_vdr.sh
запустился всего единажды - этого достаточно
А цикл при этом продолжается ? или нужен выход из цикла ?
Если нужен выход, то после kill_vdr.sh - пишем exit .
А VDR потом вручную перезапускать ?Кроме того я не понимаю, в чем тайный смысл chroot ...
chroot , в основном применяется из соображений секюрити, или полной подмены environment ... -
да - exit помог - спасибо
Bash
Показать весь код#!/bin/bash sleep 60 while : ; do if [ ! -e /video/my_chroot/tmp/.vdr_run ] ; then /kill_vdr.sh exit fi echo "Now check .vdr_run"; sleep 10 done
еще бы понять как теперь сделать так чтобы еще в консоле из которой запускается
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 -
apt-get -y install <paket>
дальше то что? у нас нет разбивки на мелкие пакеты по плагинам -
yep - удалил 2 строки
Bash
Показать весь код#!/bin/bash # mount proc & tmp /bin/mount -n -t proc proc /proc /bin/mount -t ramfs none /tmp # set flag .vdr_run touch /tmp/.vdr_run # reload dvb-ttpci in s-video mode rmmod dvb-ttpci modprobe dvb-ttpci vidmode=3 # load camd3 /vdr/plugins/camd3.866/camd3 # start vdr cd /vdr VDRPRG="./vdr -c /vdr -L /vdr/plugins/lib -v /vdr/video -g /tmp -Protor -Psc -Pfemon -Pchannelswitch" eval $VDRPRG
все работает - эти 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 жмакать ....
-
отькуда взялась eval -
в строке запуска вдр может присутствовать и плагины которым надо передавать и еще
параметры - например
-P'streamdev-server -r /vdr/remux.sh'
так в лоб из строки насколько я помню запустить никак такую строку не удавалось ...а вот про nohup и daemon ничего просто не знаю - почитаю - попробую
... темный я в линуксе ((((