feeder











Feeder - skompresowane newsy






 






 
Feeder - skompresowane newsy
Wstęp
Czy czasami zastanawiałeś się jak można przyspieszyć ściąganie setek listów, które codziennie trafiają na grupy dyskusyjne? Zapewne przychodziły Ci do głowy pomysły o zmianie serwera newsowego (co i tak nie dawało oczekiwanych efektów :(), a co ambitniejsi kompresowali całą transmisję przez ssh. Rozwiązanie które chce Wam zaproponować jest o wiele bardziej efektywne, a co za tym idzie w bardzo szybkim czasie ściągniemy codzienną porcję newsów. W jednym poście na pcol Andrzej Radecki (autor serwisu) napisał tak:
" Od ponad roku prowadzimy serwis udostępniający newsy w postaci skompresowanych paczek. Głównym jego przeznaczeniem jest skrócenie czasu pobierania newsów, z czego wywiązuje się on bardzo dobrze. Myślę, że docenią to ludzie łączący się za pomocą dialup'u TP S.A. ;-) Wynika to nie tylko z samej kompresji ale również znacznego zmniejszenia ilości zapytań serwera oraz zrównoleglenia pobierania plików. Pobieranie i kompresowanie newsów odbywa się 4 razy dziennie przy czym nowo tworzonym paczkom nadawane są nazwy będące złożeniem nazw grup i kolejnych numerów uruchomienia skryptu 'serwerowego'. "
Ja tylko dodam, ma całkowitą rację! Za pierwszym razem gdy ściągałem newsy to przez 4,5 minuty połączenia modemowego z TPSA ściągłem 1106 listów! robiąc oczywiście w tym czasie inne internetowe rzeczy. Jeśli myślisz, że warto skorzystać to czytaj dalej.
Jak to działa?
Autorzy serwisu 4 razy dziennie udostępniają spakowane bzipem newsy. Ty za pomocą odpowiednich skryptów ściągasz je na swój dysk lokalny, a dalej podajesz je do odpowiednich programów - serwera news inn, leafnode+ lub slrnpull`a - programu ściągającego posty dla slrn. Następnie odczytujesz je swoim ulubionym linuxowym programem (i tak wiem, że jest to slrn :)) W tym dokumencie opiszę tylko jak korzystać z serwera inn. Slrnpull nie jest moją mocną stroną więc, jeśli chcesz z niego korzystać musisz sam się nim pobawić. Do Leafnode+ są już napisane odpowiednie skrypty, wkrótce będą dostępne w projekcie.
Trochę o autorach
Andrzej Radecki radecki@wpk.p.lodz.pl - szef całego przedsięwzięcia, pomysłodawca,
Gotar gotar@priv0.onet.pl - skrypty do slrnpull`a,
Radek Zieliński - skrypt prelowy pracujący na serwerze,
Radek Kojecki - to na jego serwerze działa projekt,
Daniel Mróz - pisze dokumentacje,
Zerknij po feedera
Pierwszą rzeczą jaką powinnieneś zrobić to zajrzenie na stronę domową projektu: http://www.media-com.com.pl/~radecki/. Możesz tam znaleźć statystyki ściąganych grup newsowych (czasami skrypt to obsługujący potrafi płatać figle :), ich listę oraz co najważniejsze skrypty potrzebne do obługiwania projektu. Ściągniesz je w formacie .src.rpm z katalogu http://www.media-com.com.pl/~radecki/scripts/. Jak je zainstalować przeczytasz w artykule o instalacji oprogramowania. Jeśli jednak nie używasz rpm`a (tak jak ja, heh :) wystarczy, że wyciągniesz odpowiednie pliki i umieścisz je we właściwych miejscach. Skrypty idą do /usr/bin, tworzysz /var/spool/news/feeder i umieszczasz w nich pliki grupy i last.
Konfiguracja i używanie
W /usr/bin znajdziesz 7 skryptów które obsługują projekt. Niektóre służą do tego samego :) inne są wykorzystywane w różnych opcjach (zależy z jakich programów korzystamy). Do ściągania służą: suckem-sh i suckem-perl, oba robią to samo, drugi napisany w perlu jest jeszcze w fazie rozwojowej, ale podobno całkiem stabilny. feed2inn przesyła i rozpakowywuje skrypty do serwera inn`a, a dwa funkcjonalnie rownoważne do spoola programu slrn - feed2slrnpull_a i feed2slrnpull_b. Dodatkowo w paczce znajduje się skrypt 'news.send' do wysyłania newsów z inn'a (klasycznie - za pomocą rposta) i filtr nagłówków do niego - 'news.put'.
Plik konfiguracyjny to /var/spool/news/feeder/grupy gdzie zapisujemy nazwy grup, które będziemy chcieli pobierać np. pl.comp.os.linux pl.news.czytniki Oczywiście pełną listę grup znajdziemy na stronie projektu.
Poza tym w pliku list zapisywane są numery ściąganych feedów (paczek) a w last numer ostatnio ściągniętego.
Znowu podeprę się Andrzejem: " Niedawno napisałem perlowy skrypt do ściągania newsów. Jest to jak na razie konstrukcja eksperymentalna (choć już całkiem stabilna - ja jej używam na co dzień). Cechą szczególną tego skryptu jest to że nie używa on plików 'grupy' i 'last' lecz jednego pliku 'groups' umożliwiającego precyzyjniejszą kontrolę nad tym co i od jakiego miejsca ściągamy. Format tego pliku jest opisany w samym skrypcie. Dodatkowo posiada on kilka innych feature'ów - czytelniejsza prezentacja wyników. Powinien być też (takie jest założenie) bardziej odporny na zerwanie połączenia od wersji napisanej w bashu." Mowa tu oczywiście o skrypcie ściągający suckem_perl, którego możesz używać do ściągania feedów. Ja jednak preferuje suckem_sh (napisany w bashu), ale to tylko moje przyzwyczajenia.
Jeśli skonfigurowaliśmy feedera to teraz wydając polecenie suckem_sh lub suckem_perl ściągniemy interesujące nas paczki. Dalej musimy wepchnąć je do programu inn lub slrnpull (poczekaj aż skonfigurujemy inn`a w następnym punkcie) poleceniem feed2inn lub dla slrnpull feed2slrnpull_a lub feed2slrnpull_b.
Serwer news - inn
Sam feeder _tylko_ ściaga newsy, Ty musisz jeszcze postawić coś z czego program do newsów będzie je czytał - u mnie jest to serwer inn (może być slrnpull - na razie nie będzie jego opisu, bądź coś innego jednak na razie nie ma jeszcze skryptów do programów innych niż powyższe). Zainstaluj inn`a z rpm`a, tgz lub źródełek. Zadbaj także aby na twoim komputerze znalazł się pakiet cleanfeed. Edycji poddamy plik konfiuracyjny inna. W /etc/news/newsfeed dopiszemy:



tpnet::H1:



i do sekcji ME akceptowanie polskich grup czyli pl



ME\ :*,@alt.binaries.warez.*,!junk,!control*,!local*,!foo.*\ /pl,world,usa,na,gnu,bionet,pubnet,u3b,eunet,vmsnet,inet,ddn,k12\ ::



UWAGA: wystarczy dopisać tylko pl (3 linijka) pozostałe już są w standardowej konfiguracji inn`a! Powtórzenie tego wpisu powoduje błąd w konfiguracji programu.
Uruchamiamy serwer inn poleceniem inndstart i tworzymy nowe grupy na serwerze (takie same jak w pliku grupy feedera). Robimy to poleceniem:



ctlinnd newgroup nazwa.dodawanej.grupy # np. ctlinnd newgroup pl.comp.os.linux



Teraz wpychamy do inna posty z feedera: feed2inn.
Co dalej?
Mamy już na własnym lokalnym serwerze wiadomości. Teraz wystarczy je tylko odczytać. Ja polecam do tego celu slrn. Nie będę się tutaj wdawał w szczegółową konfiguracje, jednak podam kilka uwag. Slrn korzysta z serwera, którego nazwę (adres) podamy w zmiennej NNTPSERVER, w naszym wypadu będzie to serwer lokalny czyli 127.0.0.1. Zrób (dopisz do /etc/profile) export NNTPSERVER=127.0.0.1. Przy pierwszy uruchomieniu slrn próbuje pobrać listę grup. Tworzymy ją wydając polecenie:



slrn -f /home/user/.newsrc -create



Na ekranie powinny pojawić się wszystkie dostępne na serwerze grupy. Te które chcemy czytać musimy zasubskrybować poprzez użycie klawisza s. Używanie slrn i slrnpull Jeśli nie mamy ochoty by stawiać serwer neiws inn, gdy tylko my korzystamy ze ściągniętych feedów i używamy czytnika news o nazwie slrn warto zainteresować się programem dołączanym do tego czytnika o nazwie slrnpull. W rzeczywistości służy on do ściągania postów z newsgrup, ale dzięki Gotarowi możliwe jest go używanie w połączeniu razem z feederem. Zaczniemy od konfiguracji samego slrnpulla. W pliku /var/spool/slrnpull/slrnpull.conf edytujemy jego konfiguracje. Wystarczy, że dodamy własne grupy dyskusyjne: pl.comp.os.linux pl.comp.os.linux.sieci Teraz nadszedł czas, aby zmusić slrn do korzystania z slrnpull. Ważne, aby w pliku konfiguracyjnym slrn (.slrnrc) znalazły się następujące wpisy: set spool_inn_root "/var/spool/slrnpull" set spool_root "/var/spool/slrnpull/news" set spool_nov_root "/var/spool/slrnpull/news" set read_active 1 set use_slrnpull 1 Oczywiście ścieżki muszą być poprawne. Teraz prześlemy spakowane paczki ściągnięte feederem do spoola slrnpull. Możemy to zrobić za pomocą dwóch równorzędnych skryptów: feed2slrnpull_a i feed2slrnpull_b. Którego użyjemy zależy tylko i wyłącznie od nas. Rozpakowane posty pojawią się w katalogu: /var/spool/slrnpull/news/nazwa/grupy. Do czytania newsów musimy użyć programu slrn. Aby korzystał z slrnpull wywołujemy go parametrem: slrn --spool Jeśli używamy slrn tylko w ten sposób warto dodać alias do /etc/profile: alias slrn='slrn --spool' i wywoływać czytnik przez wpisanie slrn. Wysyłanie postów na grupy dyskusyjne przy korzystaniu z slrnpull nie stwarza żadnych trudności. Musimy mieć wspomnianą już opcję w pliku konfiguracyjnym slrn`a (.slrnrc): set use_slrnpull 1 Wysyłane artykuły umieszczane są w katalogu /var/spool/slrnpull/out.going i dlatego powinniśmy nadać temu katalogu odpowiednie prawa do zapisywania: chmod ugo+rwxt out.going Komendę tę wydajemy z lini poleceń, gdy znajdujemy się w katalogu /var/spool/slrnpull/ Gdy chcemy wysłać w świat nasze posty wywołujemy slrnpull z opcją: slrnpull --post-only Dzięki temu slrnpull nie będzie pobierał nowych wiadomości (tym zajmuje się feeder), a jedynie wyśle nasze. Także i tutaj warto utworzyć w /etc/profile alias: alias slrnpost='slrnpull -d /var/spool/slrnpull/ --post-only' Jeśli go utworzymy wystarczy wpisać slrnpost by wysłać newsy. UWAGA: Musisz określić z jakiego serwer news slrnpull ma korzystać. Odpowiedzialna jest za to zmienna NNTPSERVER. Ustawiamy tę zmienną poleceniem (dla powłoki bash): export NNTPSERVER=news.vogel.pl gdzie news.vogel.pl jest naszym wybranym serwerem news. Aby nie wpisywać tej zmiennej za każdym razem gdy się ponownie zalogujemy na konto, warto dodać ją do /etc/profile: NNTPSERVER=news.vogel.pl export NNTPSERVER Grupa dyskusyjna. Uwagi końcowe.
Możesz zapisać się na grupę dyskusyjną poświęconą feederowi feed-pl@egroups.com, (zapisy na: feed-pl-subscribe@egroups.com). Uwagi kierujcie do Andrzeja lub Gotara (skrypty do slrnpulla), adresy na górze artykułu.
Serwis jest widoczny także pod adresem ftp://ftp.media-com.com.pl/pub/newsy/.










2k Artur Pęczak arturoza@send.pl

13.10.2000 16:00









 







Wyszukiwarka

Podobne podstrony:
Kyocera Paper Feeder PF 30 Parts Manual
Feeder Morning Life
Kyocera Paper Feeder PF 8 Parts Manual
Feeder Love Pollution
Bee Hive miller feeder
Kyocera Paper Feeder PF 34 Parts Manual
Bird Feeder Outdoor Wild Bird Feeder
Kyocera Paper Feeder PF 7 Parts Manual
Feeder Tender
Kyocera Paper Feeder PF 1 Parts Manual
Feeder Just the ay i m feeling
Bird Feeder 3
Kyocera Paper Feeder PF 20 Parts Manual
Kyocera Paper Feeder PF 5 Parts Manual

więcej podobnych podstron