Wlaczanie demona fam do xinetd.

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Pon, 20 Maj 2002, 23:06:31 CEST


On Mon, 20 May 2002, Piotr Szymanski wrote:

> Witaj,
> Once on a beatiful day Monday 20 May 2002 21:55, Tomasz Kłoczko wrote:
> > > Jak wlaczyc obsluge fam do xinetd w pld?
> > Powiedź co to jest to spróbuję to zrobić.
> FAM - File Alteration Monitor, czli w wolnym tlumaczeniu monitor zmian w 
> plikach, dzieli sie na demon (fam)  ibiblioteke (libfam), sluzy do 
> informowania programow (albo nawet zdalny hostow) czy dany plik zostal 
> zmodyfikowany/czy jest wykonywany.

A .. o to chodzi.
Już myślałem że to jakiś wybnalazek w samym xinetd.
No to zaglądamy do speca od fam i tam znajdziesz cos co sam dodałem :)

# $Revision: 1.9 $, $Date: 2002/05/02 16:14:19 $
# TODO:
# - add rc-inetd suport for fam service.
#

Właśnie odszukałem przykładowy plik z opisem serwisu do xinetd i wygląda 
to tak:

# default: on
# description: FAM is a file monitoring daemon. It can \
# be used to get reports when files change.
service sgi_fam
{
        type         = RPC UNLISTED
        socket_type  = stream
        user         = root
        group        = nobody
        server       = /usr/bin/fam
        wait         = yes
        protocol     = tcp
        rpc_version  = 2
        rpc_number   = 391002
        bind         = 127.0.0.1
}

Przyznam się że tego czego się tu "przestraszyłem" odkładając to na 
później to owe "rpc_number = 391002" i pewnych tego "konsekwencji" :)

Obecne rc-inetd nie ma wsparcia do RPC.
Wiadomo że obecny xinetd ma wsparcie do RPC. Prawdopodobnie też ma takowe 
inetd (o tym dalej).
Trzebaby sparwdzić jak to wygląda z w rlinetd który chyba jest najczęściej 
uzywany na systemach z PLD :)
To pierwszy etap. Drugi to:

$ rpm -qf /etc/rpc
glibc-2.2.5-10

czyli trzebay przenieść ten plik z glibc do setup. Dalej dodać do
/etc/rpc wpis dla "fam 391002". Alternatywne rozwiazanie może polegać na 
zostawieniu /etc/rpc w glibc ale dorzucić by wypadało własne

Source<num>:  rpc

w którym znajdzie się pzrez nas konserwowana wersja tego pliku (patch nie 
koniecznie byłby dobrym rozwiazniem bo osbny plik byłby bardziej 
czytelny).
Dalej dorobić wsparcie do rc-inetd do RPC i podostosowywać backend skrypty 
do obsługi rpc w xinetd, inetd i xinetd.
Przykładowy wpis dla inetd.conf wzięty z Solkowego inetd.conf dla RPC 
wygląda tak:

sprayd/1	tli	rpc/datagram_v	 wait	root	/usr/lib/netsvc/spray/rpc.sprayd	rpc.sprayd

Czyli bedzie musiało to zapewne wyglądać mniej wiecej jak:

fam		tli	rpc/fam		wait	<użytkownik>	<i_tu_reszta_blah_blah>

nie moge tylko odszukać w głowie informacji o tym czy właśnie
netkitowy inetd ma wsparcie do rpc. Jeżeli by nie miał to tymczasow może 
i nie mieć takowego, a na dłuższa metę zapewne 
lubiący/potrzebujący/używajacy inetd będą musieli sięgać po wrsję zapewne 
z *BSD.

Jak widziesz nie jest to takie hop-siup i kilka zreczy jeszcze trzeba
sprawdzić -> dorobić -> potestrować .. i to jest to co mnie
"przestraszyło"  i dlaczego dodałem tylko to TODO w fam.spec :)

Masz chęć pomóc ? :)

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-users-pl