Dzięki. :)
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Posty przez azhag
Dzięki. :)
Cześć,
przywiozłem z działki zapuszczony router z antycznym Gargoyle 1.5.11.4, który chcę zaktualizować do najnowszej wersji AA – 1.6.2.2 (bo, jak widzę, nowsze wydania OpenWRT już nie bardzo dla mojej 4 MB mydelniczki). I tu rodzi się pytanie: czy mogę zaktualizować bezpośrednio, czy powinienem stopniowo (np. najpierw pierwsze 1.6.x)? Sysupgrade czy raczej factory?
Z góry dzięki za odpowiedź.
Pytanie poboczne przy okazji: na MR3420-v2 z 4 MB przejdzie w miarę bezpoleśnie instalacja BB + konfiguracja extroota + instalacja LuCI/Gargoyle (gdy wyjdzie na BB)? Czy router już jest „całkiem stracony”?
mc zezwala na połączenie przez scp
1. eject (ale nie jestem pewien czy jest w OpenWRT i czy na pewno przerwie pracę programów)
2. Kolejno lsof, kill, umount (nie jestem pewien czy lsof jest w OpenWRT).
Prościej będzie pobrać plik bezpośrednio na routerze:
wget http://dug.net.pl/~azhag/openwrt/packages-html.sh -O /bin/packages-html.sh
chmod +x /bin/packages-html.sh
Chodzi o to, że różne systemy operacyjne w inny sposób oznaczają znak nowej linii: http://pl.wikipedia.org/wiki/End-of-line
Nie żebym projekt krytykował, ale plik Packages w każdym repo zawiera opis pakietu...
I można go wyświetlić wykonując
opkg info (pakiet(y))
Ale, jak wspomniałem, w przeglądarce jest to czytelniejsze.
Chyba jeszcze dorobię pokazywanie numerów wersji.
Osobiście wolę przeglądać dostępne pakiety (oraz ich opisy) w przeglądarce -- wg mnie nieco wygodniej niż w konsoli. Zwłaszcza jeśli sam nie wiem czego właściwie szukam. ;)
Napisałem więc sobie skrypt, który przetwarza listę pakietów na prostą stronę HTML. Nie jest to może szczyt możliwości, zapewne skryptowi i samej stronie (tej na pewno) przydałoby się jeszcze odrobinę miłości, ale zasadniczo działa.
Skrypt powinien działać na OpenWRT w każdej postaci, oczywiście na czystym będzie potrzebny jakiś serwer WWW. Na Gargoyle trzeba doinstalować „prawdziwy” opkg (opkg install opkg).
Skrypt: http://dug.net.pl/~azhag/openwrt/packages-html.sh
Przykładowy wynik: http://dug.net.pl/~azhag/openwrt/packages.html
Zastosowanie:
opkg update && packages-html.sh
Po czym wystarczy odwiedzić http://192.168.1.1/packages.html (zakładając, że taki jest IP routera i katalog serwera WWW to /www/).
Tak właśnie mi się wydawało. Dzięki.
(Może warto dodać informację o powtórzeniu czynności po aktualizacji?)
Jeszcze a propos najnowszej aktualizacji: czy po zaktualizowaniu firmware'u znowu trzeba będzie zmieniać gargoyle na wielojęzyczne wg powyższej instrukcji?
Problemy z extrootem opanowałem.
(W sumie można moje pierwsze posty wydzielić, bo okazało się, że tego tematu się nie tyczą).
Miałem ten sam problem z konfiguracją języków, po kilku próbach i błędach poradziłem sobie. Przy okazji sam zmienił mi się motyw.
Mała literówka:
uci commit gagroyle
zamiast:
uci commit gargoyle
Już wiem o co chodziło. Używam jako powłoki roota zsh, przy aktualizacji zabijało mi zsh, a tym samym potomne sysupgrade, i nici ze wszystkim. Musiałem na chwilę powrócić w passwd do /bin/ash i poszło.
Teraz tylko borykam się z uporczywym montowaniem extroota do /tmp/overlay-disabled... "Jeszcze tu wrócę".
Sęk w tym, że aktualizowałem (już nawet w historii powłoki sprawdziłem). /etc/banner pewnie nie został zmieniony, ponieważ aktualizowałem bez flagi -n.
Zaktualizować jeszcze raz z -n i spróbować ponownie?
root@Gargoyle /etc # cat /etc/banner :(
_____ _
| __ \ | |
| | \/ __ _ _ __ __ _ ___ _ _| | ___
| | __ / _` | '__/ _` |/ _ \| | | | |/ _ \
| |_\ \ (_| | | | (_| | (_) | |_| | | __/
\____/\__,_|_| \__, |\___/ \__, |_|\___|
__/ | __/ |
|___/ |___/
----------------------------------------------------------------
| |
| Gargoyle PL 1.5.10.12 (0dfb5ec) |
| OpenWrt Attitude Adjustment 12.09.1 (r37768) |
| Build time: 2013-08-24 08:10 CEST |
| |
| Cezary Jackiewicz (obsy), http://eko.one.pl |
| |
----------------------------------------------------------------
Na tej z 2013-10-21 (aktualizowanej z poprzedniej przez sysupgrade).
Na wszelki wypadek: jak sprawdzić?
root@Gargoyle ~ # opkg remove haserl
No packages removed.
Collected errors:
* print_dependents_warning: Package haserl is depended upon by packages:
* print_dependents_warning: gargoyle
* print_dependents_warning: These might cease to work if package haserl is removed.
* print_dependents_warning: Force removal of this package with --force-depends.
* print_dependents_warning: Force removal of this package and its dependents
* print_dependents_warning: with --force-removal-of-dependent-packages.
Poszło po dodaniu --force-depends.
Dalej:
root@Gargoyle ~ #opkg install plugin-gargoyle-i18n-English-EN
Installing plugin-gargoyle-i18n-English-EN (1.0.0-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins/plugin-gargoyle-i18n-English-EN_1.0.0-1_all.ipk.
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
* pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
* opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.
root@Gargoyle ~ # opkg install plugin-gargoyle-i18n-Polish-PL
Installing plugin-gargoyle-i18n-Polish-PL (1.0.0-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins/plugin-gargoyle-i18n-Polish-PL_1.0.0-1_all.ipk.
Configuring plugin-gargoyle-i18n-Polish-PL.
uci: Entry not found
uci: Entry not found
//usr/lib/opkg/info/plugin-gargoyle-i18n-Polish-PL.postinst: exit: line 129: Illegal number: -1
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
* pkg_run_script: package "plugin-gargoyle-i18n-Polish-PL" postinst script returned status 2.
* opkg_configure: plugin-gargoyle-i18n-Polish-PL.postinst returned 2.
* pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
* opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.
root@Gargoyle ~ # opkg install --force-reinstall gargoyle
Removing package gargoyle from root...
Installing gargoyle (1.5.11.1-6) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins/gargoyle_1.5.11.1-6_ar71xx.ipk.
Configuring gargoyle.
Configuring plugin-gargoyle-i18n-Polish-PL.
uci: Entry not found
uci: Entry not found
//usr/lib/opkg/info/plugin-gargoyle-i18n-Polish-PL.postinst: exit: line 129: Illegal number: -1
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
* pkg_run_script: package "plugin-gargoyle-i18n-Polish-PL" postinst script returned status 2.
* opkg_configure: plugin-gargoyle-i18n-Polish-PL.postinst returned 2.
* pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
* opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.
(i teraz boję się wyłączyć router )
Jakiś czas temu kupiłem następujący hub USB 2.0: e5 Cube, oznaczany przez producenta jako RE01596. Wygląda on tak:
Koszt: ok. 20 zł (mi się udało w promocji dostać za 15).
Co interesujące na opakowaniu nie ma ani słowa, że jest to hub aktywny. Jednakże nawet przez opakowanie widać gniazdo, które wyglądaja na standardowe (?) gniazdo zasilania -- i rzeczywiście nim jest.
Co jeszcze bardziej interesujące: hub wydaje się działać całkiem sprawnie nawet bez podłączania dodatkowego zasilaia (przynajmniej na moim MR3420v2). Oczywiście jeśli podłączymy zbyt dużo łakomych na energię urządzeń to nie wyrobi, ale jak do tej pory (odpukać) nie mam problemu z podłączonymi i używanymi jednocześnie modemem Huawei E122, jakimś starym pendrive'em z extrootem i czytnikiem microSD.
Już wiem co jest źle. I wychodzi na to, że jestem skończonym kretynem. :D
Źle podałem argumenty, zamiast:
-f 43
dałem:
f 43
Po prawdzie jednak na normalnym kompie youtube-dl po prostu stwierdza, że nie ma filmiku z id "f", zamiast -- jak na OpenWRT -- majestatycznie się wykrzaczać.
Nie ma to jak napisać własny skrypt, bo z innego źle się skorzystało. :D
Nie ma jednak tego złego, mój powłokowy skrypt znacznie szybciej się ładuje, przy mniejszych filmach prawie zdążę pobrać zanim się python uruchomi. :)
Działa.
O dziwo nagle zaczęło też działać z poprzedm filmem, który wcześniej nie działał...
Dzięki za informację, że jednak działa. Dzięki temu doszedłem czemu u mnie nie działało. Otóż przeszkadza flaga -t (pobieranie tytułu filmu) -- bez niej elegancko ściąga, z nią się wysypuje jak wyżej.
Do działania bez flagi -t wystarczy:
python - 2.7.3-1
python-mini - 2.7.3-1
python-openssl - 2.7.3-1
Pytanie zatem teraz brzmi: co jest jeszcze potrzebne by zmusić youtube-dl do działania z tą flagą?
Ponieważ nikt nie miał pomysłu... napisałem własny, prymitywny zamiennik: http://wklej.dug.net.pl/4667 (parsowanie URL do filmu pożyczone stąd).
Zachowana szczątkowa zgodność z youtube-dl:
- flagi -t, -A, -f, --write-srt, --srt-lang (i wątpliwe by pojawiły się kolejne, może na -F się tylko skuszę),
- pobieranie wyłącznie pojedynczych filmów, brak obsługi list i całych profili.
Dlatego nadal jakby ktoś zdołał skłonić oryginalny youtube-dl do działania, to byłbym niezmiernie wdzięczny. Oczywiście spodziewane błędy w działaniu (na pewno nie mam wszystkich rozszerzeń), jakby co dajcie znać -- choć nie gwarantuję poprawki. ;)
Licencja: nie mam pojęcia na jakiej jest pożyczony fragment kodu i jego pierwowzór, więc nie wiem na jakiej mogę. Ale na pewno jakaś FLOSS.
opkg install python-openssl
Wpadłem na to dosłownie tuż przed przeczytaniem tego posta. Niemniej dzięki.
Trochę do przodu, ale nadal czegoś brakuje:
root@Gargoyle ~ # ./youtube-dl -t f 43 $URL
WARNING: The url doesn't specify the protocol, trying with http
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "./youtube-dl/__main__.py", line 18, in <module>
File "./youtube-dl/youtube_dl/__init__.py", line 766, in main
File "./youtube-dl/youtube_dl/__init__.py", line 719, in _real_main
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 715, in download
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 363, in extract_info
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 395, in process_ie_result
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 348, in extract_info
File "./youtube-dl/youtube_dl/extractor/common.py", line 125, in extract
File "./youtube-dl/youtube_dl/extractor/generic.py", line 130, in _real_extract
File "./youtube-dl/youtube_dl/extractor/generic.py", line 112, in _test_redirect
File "/usr/lib/python2.7/urllib2.py", line 400, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 418, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno -2] Name or service not known>
Cześć,
chcę uruchomić youtube-dl. Zainstalowałem Pythona, pobrałem ww. program i:
root@Gargoyle ~ # ./youtube-dl -t f 43 URL
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "./youtube-dl/__main__.py", line 18, in <module>
File "./youtube-dl/youtube_dl/__init__.py", line 766, in main
File "./youtube-dl/youtube_dl/__init__.py", line 492, in _real_main
File "./youtube-dl/youtube_dl/__init__.py", line 752, in _setup_opener
File "./youtube-dl/youtube_dl/utils.py", line 541, in make_HTTPS_handler
AttributeError: 'module' object has no attribute 'HTTPSHandler'
root@Gargoyle ~ # opkg list-installed | grep python
python - 2.7.3-1
python-mini - 2.7.3-1
Czego jeszcze mi potrzeba?
Do routera bym raczej wybrał jakiś kompilator statycznych stron, np. ikiwiki, chronicle, pelican, itd.
Dziękuję za troskę, ale nie mam problemu z czytaniem.
A skąd niby obraz ma wiedzieć że akurat ten pendrive ma użyć jako extroot?
Nie, musisz wcześniej uuid podać i enable na 1 przestawić.
No właśnie, trzeba extroota skonfigurować. A żeby sformatować trzeba jeszcze pewien pakiet doinstalować w RAM-ie.
Bardziej łopatologicznie:
Skoro obsługa wielojęzyczności się nie zmieści bez wywalenia czegoś, to proponuję dwa rodzaje:
1. PL na sztywno jak dotychczas, dla tych co są zadowoleni z obecnego stanu rzeczy, nie chcą stawiać extroota,
2. MULTI (z domyślnym angielskim; a jakby się polski jeszcze zmieścił, to czemu nie?) dla obcokrajowców lub osób zainteresowanych wielojęzykowością, żeby zrobić miejsce na to się coś usunie (kwestia ustalenia co) + doda informację "z powodu ograniczonej przestrzeni dostępnej w tym modelu, aby doinstalować więcej języków lub skorzystać z $USUNIĘTA_FUNKCJA należy skonfigurować extroota", jeśli się uda to można instrukcję konfiguracji umieścić bezpośrednio w obrazie
Hm, to może obraz PL taki jak teraz + MULTI z domyślnym angielskim i bez czegoś, za to z informacją, że jeśli chcesz inne języki oraz to coś to sorry, ale musisz postawić exroota? Może nawet dałoby się wcisnąć instrukcję do exroota do obrazu, żeby była od razu pod ręką?
Pewnie powinienem podziękować za tą wskazówkę co też czynie ale za cholerę nie wiem co to jest aktywny Hub USB.
Hub USB to taka "złodziejka" dla portu USB, żeby można było do jednego portu podłączyć kilka urządzeń. Do routera potrzebujesz aktywny, tj. taki z własnym dodatkowym zasilaniem -- routery sprzętowe są za słabe żeby uciągnąć więcej niż jedno.
eko.one.pl → Posty przez azhag
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc