Rechercher une page de manuel

Chercher une autre page de manuel:

innd

Autres langues

Langue: pl

Version: 55802 (openSuse - 09/10/07)

Section: 8 (Commandes administrateur)

NAZWA

innd, inndstart - InterNetNews daemon

SK£ADNIA

innd [ -a ] [ -c dni ] [ -C ] [ -d ] [ -f ] [ -H licznik ] [ -i licznik ] [ -Iadres_IP ] [ -l rozmiar ] [ -m tryb ] [ -n flaga ] [ -o licznik ] [ -pfd_des ] [ -Pport ] [ -r ] [ -s ] [ -t opó¼nienie ] [ -T licznik ] [ -u ] [ -X sekundy ] [ -Z ]

inndstart [ flagi ]

OPIS

Innd, który jest demonem news (InterNetNews), obs³uguje wszystkie nadchodz±ce feedy. Najpierw wczytuje do pamiêci pliki active(5), newsfeeds(5) i incoming.conf(5). Potem otwiera port NNTP do odbierania artyku³ów ze zdalnych stacji (zobacz opcjê ``-p''). Je¶li w include/config.h zdefiniowano HAVE_UNIX_DOMAIN_SOCKETS, to do odbioru artyku³ów od lokalnych procesów, takich jak nnrpd(8) i rnews(1) otwierane jest gniazdo strumieniowe dziedziny Uniksowej, a dla ctlinnd(8) odwierane jest analogiczne gniazdo datagramowe. Gdy makro to nie jest zdefiniowane, u¿ywane s± ³±cza nazwane. Ctlinnd(8) wykorzystywany jest do przekazywania serwerowi poleceñ wykonania okre¶lonych akcji. Otwiera równie¿ bazê history(5) i dwa pliki raportowe, zastêpuj±ce jego standardowe wyj¶cie i wyj¶cie b³êdu.

Po otwarciu wszystkich plików i gniazd, innd oczekuje na po³±czenia i dane na swoich portach, u¿ywaj±c do tego select(2) i nieblokuj±cego I/O. Je¶li nie ma dostêpnych danych, to wypró¿ni on swoje wewn±trzrdzeniowe struktury danych. Domy¶lna liczba sekund opó¼nienia przed wypró¿nieniem jest ustawiana jako <DEFAULT_TIMEOUT w config.data> (zwykle 300) sekund.

Je¶li innd otrzyma b³±d ENOSPC (zobacz intro(2)) podczas zapisu pliku active, pliku article lub bazy historii, to wy¶le do siebie komendê ``throttle''. Stanie siê tak równie¿, je¶li otrzyma zbyt wiele b³êdów wej¶cia-wyj¶cia podczas zapisu do jakiego¶ pliku.

Niektóre parametry ustawiane w inn.conf(5) mog± byæ równie¿ podane w linii poleceñ innd. W tym wypadku, opcje z inn.conf(5) bêd± nadpisane przez opcje linii poleceñ.

OPCJE

-a
Domy¶lnie, je¶li host nie jest wymieniony w pliku incoming.conf to po³±czenie jest przekazywane do nnrpd. Po u¿yciu tej flagi dowolny host mo¿e siê pod³±czyæ i przesy³aæ artyku³y.
-c
innd odrzuca stare artyku³y. Zasadniczo zachowanie to mo¿e byæ sterowane przez bazê historii, lecz czasem stacja wyrzuca w sieæ paczkê bardzo starych artyku³ów. Flaga ``'' okre¶la przedzia³ czasu. Na przyk³ad ``-c21''odrzuca wszelkie artyku³y, wys³ane dawniej ni¿ 21 dni temu. Warto¶æ zerowa powstrzymuje ten test. Domy¶ln± warto¶ci± jest 14 dni, lecz mo¿na to zmieniæ opcj± ``artcutoff'' w inn.conf(5)
-C
Je¶li u¿yta jest flaga ``-C'', to innd przyjmie i przesy³a dalej, ale nie przetwarza wiadomo¶ci anulowania i powstrzymania. Jest to przeznaczone dla stacji, w których nadu¿ywane s± anulowania i które wybieraj± mechanizm z lepsz± autoryzacj±.
-d -f
Innd normalnie przechodzi w t³o, ustawia standardowe wyj¶cia na pliki raportowe i od³±cza siê od terminala. Po u¿yciu flagi ``-d'' serwer tego nie robi, a po u¿yciu flagi ``-f'', serwer pozostaje na pierwszym planie.
-H -T -X
Flagi ``-H'', ``-T'' i ``-X'' steruj± liczb± po³±czeñ dozwolonych na minutê. Ma to w za³o¿eniach dzia³aæ jako ochrona serwera przed czytnikami, które wykonuj± w ci±gu minuty zbyt wiele po³±czeñ z serwerem. Zazwyczaj nie u¿ywa siê tego, chyba ¿e rzeczywi¶cie pojawia siê jaki¶ problem. Tablica u¿ywana do tych sprawdzeñ jest ograniczona do 128 wpisów i jest u¿ywana jako pier¶cieñ (ring). Rozmiar zosta³ wybrany do u³atwienia obliczania indeksu i do upewnienia siê, ¿e nie zabraknie ci miejsca. Praktycznie wydaje siê w±tpliwe, ¿eby¶ wykorzysta³ nawet po³owê tablicy naraz.
Flaga ``-H'' okre¶la maksymaln± liczbê po³±czeñ pochodz±cych z danego hosta z serwerem podczas ``-X'' sekund. Domy¶lnie 2.
Flaga ``-T'' ogranicza ca³kowit± liczbê nadchodz±cych po³±czeñ innda w okresie ``-X'' sekund. Maksymaln± warto¶ci± jest 128. Domy¶ln± 60.
Flaga ``-X'' ustawia liczbê sekund, u¿ywan± przez ``-H'' i ``-T''. Warto¶æ zerowa wy³±cza sprawdzanie. Domy¶lnie jest 0.
-i
Flaga ``-i'' ogranicza liczbê nadchodz±cych po³±czeñ NNTP. Warto¶æ zerowa wy³±cza to sprawdzenie. Domy¶ln± warto¶ci±, je¶li w inn.conf(5) nie podano opcji ``maxconnections'' jest 50. Wymieniona opcja jest zastêpowana warto¶ci± tej opcji.
-I
Opcja ta umo¿liwia wi±zanie innda do podanego adresu interfejsu IP. Adres IP musi byæ w postaci kropkowej czwórki liczb (nnn.nnn.nnn.nnn). Zobacz te¿ opcjê ``bindaddress'' w inn.conf(5).
-l
Flaga ``-l'' ogranicza rozmiar artyku³u. Po u¿yciu tej flagi, wszystkie artyku³y wiêksze ni¿ rozmiar bajtów bêd± odrzucane. Domy¶ln± warto¶ci± jest 1000000L bajtów. Sprawdzanie mo¿na wy³±czyæ, u¿ywaj±c warto¶ci zerowej. Patrz tak¿e opcje ``maxartsize'' i ``localmaxartsize'' w inn.conf(5).
-m
Flaga ``-m'' s³u¿y do uruchamiania serwera w zatrzymanym lub st³umionym stanie (zobacz ctlinnd(8)). Argument rozpoczyna siê pojedyncz± liter±: g, p lub t, wskazuj±ce odpowiednio na ``go'' (startuj), ``pause'' (zatrzymaj) lub ``throttle'' (st³um).
-n
Flaga ``-n'' okre¶la czy pauzowanie lub st³umienie serwera powinno równie¿ wy³±czyæ przysz³e procesy czytnikowe. Warto¶æ ``y'' powoduje, ¿e czytniki zachowuj± siê jak serwer, a warto¶æ ``n'' umo¿liwia czytanie, nawet gdy serwer nie pracuje. Domy¶lnie zezwala siê na czytanie, a zmieniæ mo¿na to opcj± ``readerswhenstopped'' w inn.conf(5).
-o
Flaga ``-o'' s³u¿y ograniczaniu liczby plików, które s± utrzymywane otwarte dla wychodz±cych feedów plikowych. Domy¶ln± warto¶ci± jest liczba dostêpnych deskryptorów minus czê¶æ zarezerwowana do u¿ytku wewnêtrznego.
-p
Po u¿yciu flagi ``-p'' przyjmuje siê, ¿e port NNTP jest otwierany na podanym deskryptorze. (Je¶li u¿yta jest ta flaga, to innd zak³ada, ¿e pracuje z w³a¶ciwymi uprawnieniami i nie bêdzie wo³a³ chown(2) na ¿adnych z tworzonych plików lub katalogów.)
-P
Je¶li u¿yta jest flaga ``-P'', to podany port jest u¿ywany do nas³uchiwania po³±czeñ. innd musi mieæ wystarczaj±ce uprawnienia startowe by otworzyæ podany port.
-r
Je¶li u¿yta jest flaga ``-r'', serwer przenumeruje plik active zupe³nie tak, jak po wys³aniu komendy ``renumber''.
-s
Je¶li u¿yta jest flaga ``-s'', to innd nic nie bêdzie robiæ, lecz tylko sprawdzi sk³adniê pliku newsfeeds. Je¶li bêd± tam b³êdy, to zg³osi kod b³êdu; rzeczywiste b³êdy bêd± natomiast zg³oszone w syslog(3).
-t
Zmienia czas opó¼nienia przed wypró¿nieniem do timeout sekund.
-u
Raporty s± normalnie buforowane; flaga ta wy³±cza to zachowanie.

Inndstart jest ma³ym programem typu front-end, który otwiera port NNTP, ustawia uid i gid na opiekuna news, a nastêpnie uruchamia demona innd z flag± ``-p'' i minimalnym bezpiecznym ¶rodowiskiem. Jest to ma³y front-end dla stacji, która nie chce uruchamiaæ innd z uprawnieniami roota.

KOMUNIKATY STERUJ¡CE

Artyku³y przychodz±ce, maj±ce nag³ówek Control s± nazywane komunikatami steruj±cymi. Poza komunikatem anulowania, s± one zaimplementowane przez zewnêtrzne programy w katalogu <pathcontrol w inn.conf> o ile <usecontrolchan w inn.conf> jest ustawione na ``false''. (Komunikaty anulowania (cancel) od¶wie¿aj± bazê historii, wiêc musz± byæ obs³ugiwane wewnêtrznie; koszt synchronizowania, blokowania i odblokowywania by³by zbyt wysoki przy odbiorze wielu takich komunikatów.)

Gdy nadchodzi komunikat steruj±cy, pierwsze s³owo tekstu jest konwertowane na ma³e litery i jest u¿ywane jako nazwa uruchamianego programu. Je¶li program nie istnieje, wywo³ywany jest domy¶lny program, okre¶lony przez <pathcontrol w inn.conf>/default.

Wszystkie programy steruj±ce s± wywo³ywane z czterema parametrami. Pierwszym jest adres nadawcy komunikatu; jest to pobierane z nag³ówka Sender. Je¶li nag³ówek ten jest pusty, to dane s± pobierane z nag³ówka From. Nastêpnym parametrem jest adres zwrotny replik; pobierany z nag³ówka Reply-To. Je¶li nag³ówek ten jest pusty, u¿yty zostanie adres nadawcy. Trzecim parametrem bêdzie nazwa pliku, w którym znajduje siê artyku³ wzglêdem katalogu sk³adowego news. Czwartym parametrem jest host, który wys³a³ artyku³. Jest to odczytywane z linii Path.

Je¶li <usecontrolchan w inn.conf> jest ustawione na ``true'', to ¿aden komunikat steruj±cy nie bêdzie przetwarzany przez program zewnêtrzny, forkowany przez innda. Zamiast tego, bêdzie przetwarzany przez skrypt controlchan, który jest wywo³ywany jako program kana³owy innda. Musisz do u¿ywania tego skryptu skonfigurowaæ newsfeeds(5). Przetwarzanie z u¿yciem controlchan mo¿e zredukowaæ nadmierne obci±¿enie, je¶li zbyt wiele komunikatów steruj±cych pojawia siê naraz.

Dystrybucja komunikatu steruj±cego jest odmienna od dystrybucji standardowych artyku³ów.

Komunikaty steruj±ce normalnie wpadaj± do grupy dyskusyjnej control. Mog± one byæ zapisywane w podgrupach, lecz w oparciu o polecenie komunikatu steruj±cego. Na przyk³ad komunikat newgroup mo¿e byæ zapisany w grupie control.newgroup lub w ogólnym control, je¶li specjalizowana podgrupa nie istnieje.

Stacje mog± jawnie udostêpniaæ grupê ``control'' w ich listach zapisowych, lecz zwykle lepiej jest j± wy³±czyæ. Je¶li komunikat steruj±cy jest wysy³any na grupê, której nazwa koñczy siê czterema znakami ``.ctl'', to przyrostek jest obcinany, a to co pozostanie jest u¿ywane jako nazwa grupy. Na przyk³ad komunikat anuluj±cy, wys³any na ``news.admin.ctl'' zostanie przes³any do wszystkich stacji zapisanych na grupy ``control'' lub ``news.admin''. Wiadomo¶ci newgroup lub rmgroup wymagaj± dodatkowego specjalnego traktowania. Je¿eli wiadomo¶æ jest zaakceptowana i zosta³a wys³ana do tworzonej lub usuwanej grupy, to ta wiadomo¶æ zostanie przes³ana do wszystkich serwerów, których wzorce subskrypcji grup pozwoli³yby na odebranie wiadomo¶ci wysy³anych do tej grupy.

Je¶li <mergetogroups w inn.conf> jest ustawione na ``true'', to gdy artyku³ jest wysy³any na grupê, która rozpoczyna siê trzema literami ``to.'', to zostanie potraktowany specjalnie, je¶li grupa ta nie istnieje w pliku active: artuku³ jest sk³adowany do grupy ``to'' i jest wysy³any do pierwszej stacji, nazwanej po przedrostku. Na przyk³ad, wysy³anie do ``to.uunet'' zostanie z³o¿one do ``to'' i przes³ane do stacji ``uunet''. file:

RÓ¯NICE PROTOKO£U

Innd implementuje komendy NNTP zdefiniowane w RFC 977 z nastêpuj±cymi odstêpstwami:
1.
Za ``list'' mo¿e wystêpowaæ dodatkowo argument ``active'', ``active.times'', ``newsgroups'' lub ``subscription''. Jest to popularne rozszerzenie, lecz nie w pe³ni obs³ugiwane; zobacz nnrpd(8).
2.
Zaimplementowane s± komendy ``authinfo user'' oraz ``authinfo pass''. Zobacz draft-barber-nntp-imp-07.txt dla dalszych szczegó³ów.
3.
Udostêpniona jest nowa komenda, ``mode reader''. Komenda ta powoduje, ¿e serwer przekazuje po³±czenie do nnrpd. Komenda ``mode query'' przeznaczona jest dla przysz³ych zastosowañ i obecnie jest traktowana tak samo.
4.
Udostêpnione s± komendy wspieraj±ce transfer strumieniowy: ``check messageid'' i ``takethis messageid''.
5.
Udostêpniona jest komenda transferu wsadowego ``xbatch liczba-bajtów''. Komenda ta odczyta liczbê-bajtów bajtów i zapisze je dla dalszego przetwarzania przez rnews(1) (który nale¿y uruchomiæ oddzielnie). Obejrzyj programy innxbatch i sendxbatches.sh.
6.
Pozosta³ymi zaimplementowanymi komendami s± ``head'' , ``help'' , ``ihave'' , ``quit'' oraz ``stat''.

MODYFIKACJE NAG£ÓWKÓW

Innd modyfikuje tak ma³o nag³ówków, jak tylko siê da, lecz móg³by byæ lepszy.

Oto lista nag³ówków, które je¶li istniej±, s± usuwane:


Date-Received

Posted

Posting-Version

Received

Relay-Version

Puste nag³ówki oraz nag³ówki sk³adaj±ce siê z bia³ych spacji równie¿ s± opuszczane.

Do nag³ówka Path doklejana jest nazwa lokalnej stacji (okre¶lanej przez warto¶æ ``pathhost'' w inn.conf(5)) i wyrzyknik (je¶li nazwa pierwszej stacji nag³ówka ró¿ni siê od lokalnej).

Nag³ówek Xref jest usuwany i tworzony jest nowy.

W przypadku nieobecno¶ci, nag³ówek Lines jest dodawany.

Innd nie przepisuje nieprawid³owych nag³ówków. Na przyk³ad nie bêdzie zmieniaæ nieprawid³owego nag³ówka Lines, ale odrzuci artyku³.

RAPORTOWANIE

Innd raportuje wszystkie nadchodz±ce artyku³y do pliku raportowego. Jest to plik tekstowy o zmiennej ilo¶ci rozdzielanych spacjami pól o jednym z nastêpuj±cych formatów:

mon dd hh:mm:ss.mmm + feed <Message-ID> stacja...

mon dd hh:mm:ss.mmm j feed <Message-ID> stacja...

mon dd hh:mm:ss.mmm c feed <Message-ID> stacja...

mon dd hh:mm:ss.mmm - feed <Message-ID> powód...

mon dd hh:mm:ss.mmm ? feed <Message-ID> powód...

Po polu Message-ID mo¿e byæ równie¿ pole nazwy hosta i rozmiaru, zale¿nie od opcji ``nntplinklog'' i ``logsize'' z inn.conf(5).

Pierwsze trzy pola s± polami daty i czasu w rozdzielczo¶ci milisekundowej. Pi±te pole jest stacj±, która wys³a³a artyku³ (odczytywane z nag³ówka Path). Szóste pole jest identyfikatorem artyku³u; je¶li informacja jest niedostêpna, pojawi siê w jej miejscu pytajnik.

Czwarte pole okre¶la czy artyku³ zosta³ przyjêty czy nie. Je¶li jest tam znak plus, to zosta³ przyjêty. Je¶li ``j'', to zosta³ przyjêty, lecz wszystkie grupy maj± w swoich rekordach active ``j'', wiêc artyku³ zosta³ z³o¿ony do grupy ``junk''. Je¶li w polu pojawi³a siê litera ``c'', to przed pojawieniem siê oryginalnego artyku³u odebrany zosta³ komunikat anuluj±cy. We wszystkich tych przypadkach artyku³ zosta³ przyjêty i pole ``stacja...'' zawiera rozdzielon± spacjami listê stacji, do których artyku³ jest przesy³any.

Je¶li czwarte pole zawiera znak minusa, o artyku³ zosta³ odrzucony. Powodami odrzucenia mog± byæ:


"%s" header too long (za d³ugi nag³ówek)

"%s" wants to cancel <%s> by "%s" ("%s" chce anulowaæ <%c> poprzez "%s")

Article exceeds local limit of %s bytes (Artyku³ przekracza lokalny 

                                         limit %s bajtów)

Article posted in the future -- "%s" (Artyku³ wys³any w przysz³o¶ci -- "%s")

Bad "%s" header (Z³y nag³ówek "%s")

Can't write history (Nie mogê zapisaæ historii)

Duplicate (Duplikat)

Duplicate "%s" header (Zduplikowany nag³ówek "%s")

EOF in headers (EOF w nag³ówkach)

Linecount %s != %s +- %s (Liczba linii %s != %s +- %s)

Missing %s header (Brak nag³ówka %s)

No body (Brak cia³a)

No colon-space in "%s" header (Brak dwukropka-spacji w nag³ówku "%s")

No space (Brak spacji (albo miejsca???))

Space before colon in "%s" header (Spacja przed dwukropkiem w nag³ówku "%s")

Too old -- "%s" (Za stare -- "%s")

Unapproved for "%s" (Niezatwierdzone dla "%s")

Unwanted newsgroup "%s" (Niechciana grupa dyskusyjna "%s")

Unwanted distribution "%s" (Niechciana dystrybucja "%s")

Whitespace in "Newsgroups" header -- "%s" (Bia³a spacja w nag³ówku

                                           "Newsgroups" -- "%s")

Gdzie ``%s'' jest podmieniane przez konretniejsze informacje.

Je¿eli w czwartym polu wyst±pi znak ``?'', oznzcza to, ¿e atyku³ zawiera dziwne ³añcuchy znaków, tj. CR bez LF lub LF bez CR. Te znaki s± u¿ywane razem ``CRLF'', co oznacza koniec linii. Obecnie taka informacja w logu oznacza dziwno¶æ tego artyku³u, ale innd nigdy nie odrzuca artyku³u z tego powodu.

Zauwa¿, ¿e je¶li artyku³ jest przyjêty i <wanttrash w inn.conf> jest ustawione na ``yes'' i ¿adna z grup nie jest odpowiednia, to zostanie zraportowany w dwóch liniach: w linii ``j'' i ``-''.

Innd zg³asza te¿ obszerne raporty poprzez sysloga. Pierwsze s³owo komunikatu raportowego bêdzie: nazw± stacji, je¶li wpis jest dla niej specyficzny (np. komunikat ``connected''); s³owem ``SERVER'', je¶li komunikat jest zwi±zany z serwerem, np. gdy pojawi siê b³±d odczytu.

Je¶li drugim s³owem s± cztery litery ``cant'', to zg³aszany jest b³±d. W tym przypadku nastêpne dwa s³owa ogólnie nazywaj± wywo³anie systemowe lub funkcjê biblioteczn±, która siê nie powiod³a oraz obiekt, wokó³ którego wykonywane by³y dzia³ania. Reszta linii mo¿e zawieraæ inne informacje.

W innych przypadkach, drugie s³owa okre¶la rodzaj zmiany, a reszta linii u¶ci¶la tê informacjê. S³owo ``internal'' ogólnie oznacza wewnêtrzny b³±d logiczny.

SYGNA£Y

Innd przechwytuje sygna³y SIGTERM i SIGDANGER i wy³±cza siê po nich. Je¶li u¿yta jest flaga ``-d'', przechwytywany bêdzie równie¿ SIGINT i bêdzie dzia³a³ analogicznie.

Innd przechwytuje sygna³ SIGUSR1 i odtwarza kana³ steruj±cy, wykorzystywany normalnie przez ctlinnd(8).

HISTORIA

Napisane przez Richa $alza <rsalz@uunet.uu.net> dla InterNetNews. Jest to rewizja 1.24.2.4, z dnia 2000/08/20.

ZOBACZ TAK¯E

active(5), ctlinnd(8), dbz(3), history(5), incoming.conf(5), inn.conf(5), newsfeeds(5), nnrpd(8), rnews(1), syslog(8).
Aimer c'est souffrir. Pour éviter de souffrir, on doit ne pas aimer,
mais alors on souffre de ne pas aimer.
C'est pourquoi, aimer c'est souffrir, ne pas aimer c'est souffrir et
souffrir c'est souffrir. Être heureux c'est aimer, être heureux c'est
donc souffrir mais souffrir rend malheureux. En conséquence, pour être
malheureux, on doit aimer, aimer souffrir et souffrir d'être trop
heureux.
J'espère que vous me suivez...
-+- Woody Allen -+-