INN+SUCK.pl.txt

(11 KB) Pobierz
  inn+suck - instalacja.
  Rafał Czeczótka, michu@amg.gda.pl
  v1.00, 20 Września 1998

  Wszelkie sugestie i poprawki są mile widziane i należy je wysyłać pod
  adres michu@amg.gda.pl <mailto:michu@amg.gda.pl>. Oryginał tego doku­
  mentu możesz znaleźć pod adresem www.amg.gda.pl/~michu/uploads/
  <http://www.amg.gda.pl/~michu/uploads/>.  Dokument ten został napisany
  w standardzie ISO-8859-2.
  ______________________________________________________________________

  Spis&nbsp;treści


  1. Wstęp.

     1.1 Przedmowa.
     1.2 Podziękowania.

  2. Słowo o programach, instalacja i konfiguracja.

     2.1 Co to jest inn i suck.
     2.2 Kiedy instalować inn+suck.
     2.3 Wady i zalety tego rozwiązania.
     2.4 Instalacja i konfiguracja.
     2.5 Uwagi i kruczki.

  3. Prawa autorskie/legalność.



  ______________________________________________________________________

  1.  Wstęp.



  1.1.  Przedmowa.


  Całą treść tego dokumentu stanowi opis mojej instalacji duetu suck+inn
  w systemie RedHat5.1, w oparciu o konkretne pakiety (inn-1.7.2-13 i
  suck-3.9.4-2). Impulsem do napisania tego opisu były moje początkowo
  nieudane próby instalacji oraz nikły odzew jaki wywołały moje posty na
  grupie pl.comp.os.linux (pewnie jak zwykle moje zapytania zaginęły
  gdzieś w potoku informacji i zapytań jaki dociera tu codziennie).
  "Kreśląc" te parę słow mam nadzieję, że moje marne doświadczenia z
  tymi pakietami będą dla kogoś pomocne. Nie mam zamiaru pretendować do
  miana fachowca od konfiguracji serwerów news (po prostu u mnie już to
  działa), tym nie mniej mam nadzieję, że opis minimalnej, działającej
  konfiguracji będzie dla kogoś przydatny.

  W tym dokumencie w paru miejscach porównuję inn'a do leafnode'a,
  którego wcześniej używałem.



  1.2.  Podziękowania.


  Za pomoc w powstaniu tego teksu dziękuję:


  ˇ  Ariadnie, za to, że wyjechała służbowo na dwa tygodnie i mogłem
     m.in. spokojnie spłodzić ten dokument ;) oraz za poprawienie
     literówek po powrocie (kobiety bywają czasem przydatne :)
  ˇ  Bartoszowi Maruszewskiemu z JTZ (B.Maruszewski@jtz.org.pl) za
     nadesłanie dołączonego skryptu do dodawania zasubscribowanych grup
     do inn'a, wsparcie moralne (z czego pewnie nie zdaje sobie sprawy
     :) oraz przekodowanie tego dokumentu do SGML,

  ˇ  Tomaszowi Szymczakowi (szymczak@bg.univ.gda.pl) za sugestię
     dotyczącą opcji "-M" w suck'u,

  ˇ  Radosławowi Gancarzowi (feanor@zeus.polsl.gliwice.pl) za
     rozwiązanie problemów z odrzucaniem niektórych postów (zmiany w
     newsfeeds),

  ˇ  Krzysztofowi Zietarze (tarhim@alpha.net.pl) za rozwiązanie problemu
     ze ściąganiem (a raczej jak ich nie ściągać) grup "control",
     "junk", "test" i "to" oraz inne uwagi,

  ˇ  Innym, nie wymienionym z nazwiska, za zwrócenie uwagi na parę
     drobnych niedomówień, niedociągnięć, potknięć i nieścisłości.


  2.  Słowo o programach, instalacja i konfiguracja.



  2.1.  Co to jest inn i suck.


  Inn jest to "InterNetNews daemon" czyli program umożliwiający wielu
  użytkownikom korzystanie z zasobów news.

  Suck jest to zasysacz newsów; pośredniczy on w wymianie newsów
  pomiędzy dwoma serwerami: naszym i zdalnym (emulując zachowanie
  normalnego czytnika; protokół wymiany postów pomiędzy serwerami
  (wbudowany w inn'a) odbywa się na trochę innej zasadzie i wymaga
  specjalnej konfiguracji po obu stronach, czego chcemy uniknąć).



  2.2.  Kiedy instalować inn+suck.


  Jeśli uważasz, że spełnione są poniższe warunki:


  1. Nudzi Ci się i potrzebujesz jakiejś odmiany (warunek konieczny, bo
     przecież tak naprawdę jeśli potrzebujesz lokalnego serwera newsów,
     to z pewnością wystarczy Ci dużo prostszy w konfiguracji i używaniu
     leafnode, poza tym ten eksperyment może Cię kosztować sporo czasu i
     nadszarpniętych nerwów),

  2. Z newsów na twoim komputerze korzysta więcej niż jeden użytkownik
     (bo dla jednego usera zupełnie wystarczające jest "rtin -SQ")
     ewentualnie "twój" komputer służy jako serwer news dla całej sieci
     (np. w firmie),

  3. Możliwości leafnode'a już Ci nie wystarczają (potrzebujesz
     killfile'i, różnych ograniczeń na ściąganą pocztę newsową, ...),

  to znaczy, że powinieneś zainstalować duet inn+suck.

  Jeśli już będziesz chciał zainstalować to oprogramowanie, to będą Ci
  potrzebne następujące (lub inne wersje) pakiety:


  1. cleanfeed (np. cleanfeed-0.95.5a-1),

  2. inn (np. inn-1.7.2-13, UWAGA: oryginalny pakiet z dystrybucji RH5.1
     jest niepoprawny),

  3. perl-MD5 (np. perl-MD5-1.7-2),

  4. suck (np. suck-3.9.4-2).

  Ja skorzystałem z adresów jak poniżej:

  ˇ  pakiety cleanfeed, inn i perl-MD5 -
     ftp.task.gda.pl/pub/linux/redhat-updated/i386/RedHat/RPMS/
     <ftp://ftp.task.gda.pl/pub/linux/redhat-updated/i386/RedHat/RPMS/>

  ˇ  pakiet suck ftp.task.gda.pl/pub/linux/redhat-contrib/tbird/i386/
     <ftp://ftp.task.gda.pl/pub/linux/redhat-contrib/tbird/i386/>


  2.3.  Wady i zalety tego rozwiązania.


  Zalety inn+suck:


  1. Szybki (piekielnie),

  2. Znaczne możliwości (killfile, ...), choć tu należy raczej patrzeć
     na możliwości suck'a (ponieważ dopiero po ściągnięciu pliki są
     przesyłane do inn'a a jak coś już w całości przeszło przez modem,
     to moim zdaniem niech już zostanie),

  3. Instalując ten serwer jesteś "wśród najlepszych" (większość dużych
     serwerów news działa właśnie na inn'ie),

  4. Można grep'ować pliki z zawartością grup bez żadnych "skutków
     ubocznych" (ta uwaga odnosi się do dużo prostszego leafnode'a,
     gdzie czas do expire jest liczony od daty ostatniego dostępu do
     pliku, więc jeśli "to się zrobiło", to czas ten oczywiście
     przedłużał się).

  Wady inn+suck:


  1. Dość pogmatwana konfiguracja i hermetyczna dokumentacja
     (przynajmniej na początek) ale ten dokument powstał właśnie aby
     wyeliminować tę niedogodność,

  2. Pamięciożerność:

  ˇ  Proces innd cały czas pozostaje w pamięci (leafnode wywoływany jest
     "na żądanie"),

  ˇ  Na dysku zajmuje więcej miejsca niż leafnode (choć jest to do
     przyjęcia).



  2.4.  Instalacja i konfiguracja.


  Proces instalacji i "konfiguracji" jest prosty (przynajmniej do
  pierwszego "ruszenia", ale o tym, bez tego wstępu, przeciętny zjadacz
  newsów możne przekonać się dopiero po parodniowych dociekaniach):


  1. Zainstalować inn i suck (i jeszcze parę wymienionych wcześniej
     drobiazgów),
  2. W pliku "/etc/news/innfeed.conf" usunąć sekcję peers,

  3. W pliku "/etc/news/newsfeeds" dodać własną sekcję z feeds, np.:


       ----- ciach -----
       ...
       news.task.gda.pl\
               :!junk,!test,!to\
               :Tf,Wnm:
       ...
       ----- ciach -----




  gdzie news.task.gda.pl to nazwa mojego serwera news, oraz do definicji
  dystrybucji akceptowanych przez nasz serwer dodać polską:


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




  4. W pliku "/usr/lib/suck/get.news.innxmit" wstawić nazwę serwera news
     (REMOTE_HOST=news.task.gda.pl) oraz "sajtu" (tego samego co w
     punkcie 3., tj. SITE=news.task.gda.pl),

  5. W suck'u w pliku "/usr/lib/suck/sucknewsrc" zapisać wszystkie
     interesujące nas grupy i numery postów, od których ma się zacząć
     "ściąganie", np.:


       ----- ciach -----
       ...
       pl.comp.ogonki 1
       pl.comp.os.linux 1
       ...
       ----- ciach -----




  UWAGA!!! Zaczynając od pierwszego postu jesteśmy narażeni na ściąganie
  dużej ilości danych a co się z tym wiąże znaczne koszty (a i tak w
  końcu zapewne okaże się, że większość postów jest za starych i
  zostanie odrzucona przez inn'a). Lepiej więc nie zaczynać od początku
  ale od kilku(set) postów wstecz (u mnie 57 grup (w całości) z dostępem
  online (ethernet "wpięty do" TASKu, transfer osiągał 160KB/sec (ale to
  było bardziej ograniczenie zdalnego serwera niż łącza)) ściągało się
  godzinę),

  6. Usunąć pliki "/etc/cron.daily/inn-cron-rnews" oraz
     "/etc/cron.hourly/inn-cron-nntpsend" (to dla nas robi suck).

  7. Teraz możemy już wystartować serwer np. poleceniem
     "/etc/rc.d/init.d/innd start". Można/trzeba także dodać odpowiednie
     linki do katalogów "/etc/rc.d/rc0-6].d/" (np. poleceniem ntsysv),

  8. Dodać grupy do inn'a. Można to zrobić ręcznie poleceniem "ctlinnd
     newgroup nazwa.grupy" lub skorzystać z poniższego skryptu:


       ----- ciach -----
       #!/bin/bash
       #
       # Ten skrypt tworzy automatycznie grupy w inn-ie, ktore podales w pliku
       # /usr/lib/suck/sucknewsrc - konfiguracyjnym dla suck-a.
       # UWAGA !!!
       # Wymagany format tego pliku to:
       ############################
       # nazwa.grupy numer.artykulu
       ############################
       #
       # Mozesz podac inna lokalizacje
       SUCK_FILE=/usr/lib/suck/sucknewsrc
       #
       # Podaj sciezke do programu ctlinnd. Skrypt sprobuje sam zgadnac, ale
       # lepiej podaj jak wiesz.
       CTLINND=`which ctlinnd`

       cat ${SUCK_FILE} | while read ln; do
               set -e $ln >/dev/null
               ${CTLINND} newgroup $1
               if [ $? -eq 1 ]; then
                       echo Blad podczas zakladania grupy $1 !!!
                       exit
               fi
       done
       ----- ciach -----





  9. Jeśli nie chcemy ściągać grup "control", "junk", "test" ani "to",
     musimy stworzyć plik "/usr/lib/suck/active-ignore":


       ----- ciach -----
       control
       junk
       test
       to
       ----- ciach -----




  Oczywiście wówczas grupy te trzeba wyrzucić z "/usr/lib/suck/suck­
  newsrc".

  10.
     Wymianę newsów ze zda...
Zgłoś jeśli naruszono regulamin