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