einiges zu avanti (linux) -> das gute startskript
Klaus Lehmann
lehmann_klaus at t-online.de
Sa Mai 22 01:53:36 CEST 2004
On Sun, 09 May 2004 08:58:05 +0200, Thomas Berger wrote:
n'abend herr berger
ja..., um welche datei und worum geht es denn nun eigentlich?
verzeihung, aber das ist mir zu undeutlich.
darf mal aufzählen:
im avanti-paket (aus BS) gibt es avanti.conf in ...avanti/etc/avanti.conf
(dort datenbanknamen-deklaration usw.)
dann haben wir in /etc/init.d (=suse-linux) die startdatei avanti2 (Ihre!)
die macht: ein start stop usw (natürlich macht sie mehr!)
dann führen sie in /etc ein:
die datei /etc/avanti diese datei ist unten abgebildet. sie definiert ein paar umgebungsvariablen, wer
soll nachher das aufführungsrecht zu avanti haben: shakespear oder william?
dabei steht aber in Ihrer startdatei avanti2 folgendes:
# Check for existence of needed config file and read it
test -r /etc/sysconfig/avanti2 || exit 6
. etc/sysconfig/avanti2
STOP.
das versteh ich nicht.
es gibt eine weitere datei mit dem namen avanti2 in /etc/sysconfig ? sie sagen extra: "needed cofig file"
es kann nicht Ihrer startdatei avanti2 sein.
es ist ver(w)irrend, wieviel vielfältige und/oder gleichklingende avanti-namen es gibt.
bin der meinung:
-avanti.conf sollte dem original-paket überlassen sein.
-avanti sollte der name der startdatei sein.
des weiteren sind da auch noch einige verständnis/bestätigungsfragen:
so stehts in Ihrer start-datei drin:
AVANTI_ROOT=/opt/avanti
AVANTI_JAIL=/var/lib/avanti/jail
AVANTI_OUT=/var/log/avanti.out
AVANTI_PID=/var/run/avanti2.pid
AVANTI_CONF=/etc/avanti.conf
# relative to AVANTI_ROOT
AVANTI_BIN=/bin/avanti
AVANTI_ROOT ist programmpakets-verzeichnis!
AVANTI_JAIL ist ebenfalls ein verzeichnis, präziser ausgedrückt: .../jail ist das verz!
AVANTI_OUT und AVANTI_PID sind klar. ohne frage.
nochmal: AVANTI_CONF ist was?
Ihre conf-datei, die hat z.b. AVANTI_EXTRA_MOUNT="/seconddisk/databases" drinstehen....
was ist aber bitteschöndas?
# relative to AVANTI_ROOT
AVANTI_BIN=/bin/avanti
ist der wert von AVANTI_BIN ein symbollink oder so?
oder ist das der "echte ort" auf der platte: mit dem namen datei "avanti" auf /bin ????
ich find das ver(w)irrend.
einige dinge kann ich mir wiederum selbst erklären, wenn man das startskript näher liest.
andererseits tappe ich dann in die nächste falle (von dos2unix ganz schweigen; die einfachen
lieutenantsstreifen auf den schulterklappen haben wir aber schon.... ;-)
naja, soweit ist man(n) gekommen:
Starting avanti2 ln: accessing `/var/lib/avanti/jail/bin/sh': Not a directory
ldd: /var/lib/avanti/jail/bin/*: No such file or directory
/tmp on /var/lib/avanti/jail/home type none (rw,bind)
startproc -e -c /var/lib/avanti/jail -l /var/lib/avanti/jail/var/log/avanti.out
-t5 -u domainadmin -g www /bin/avanti -daemon
startproc: Usage:
startproc [-f] [+/-<prio>] [-s] [-u uid] [-g gid] [-v] [-l log_file|-q]
/full/path/to/program
failed
checkproc: Usage:
checkproc [-v] [-k] [-p pid_file] /full/path/to/program
xyz:/etc/init.d #
denke, wenn obiges geklärt ist, wird sich der dschungel um "starting avanti2" lichten.
da sind natürlich noch (leise) fragen:
-wie kommt es zu: /bin/avanti ? es gibt keine datei avanti auf /bin !
-var/lib/avanti/jail/var/log/avanti.out scheint mir irgendwie zu lang oder zu unlogisch zu sein?!
-in /var/lib/avanti/jail gibt die datei bin (die aus /bin/ash zu /var/lib/avanti/jail/bin wurde. warum?
aber obiges sagt da soll es noch sh geben. nö! statt sh gibt es ash. eine ebene tiefer....
ich habe den eindruck, daß mit dem startskript eine künstliche welt aufgebaut wird. diese soll DEN DA
draussen ver(w)irren! ist die verwirrung tatsächlich nötig?
naiv gefragt: reicht es nicht, wenn ich den checkproc befehl in das alte startskript einbaue? und somit z.b.
den user und die gruppe übergebe? (sodaß man mit suid nicht arbeiten muss) . oder ist das die falsche frage?
;-)
viele grüße
ihr
k.lehmann
kl>## Path: Applications/Avanti2
kl>## Description: The Avanti2 allegro database server
kl>
kl>## Type: string()
kl>## Default: "avanti"
kl>#
kl># Which account should run Avanti?
kl>#
kl>AVANTI_USER="avanti"
kl>## Type: string()
kl>## Default: "avanti"
kl>#
kl># Which group should run Avanti?
kl>#
kl>AVANTI_GROUP="avanti"
kl>
kl>## Type: string
kl>## Default: ""
kl>#
kl># If you enter the names of any include files here, all conf files will
kl># be copied relative to $AVANTI_JAIL
kl>#
kl>AVANTI_CONF_INCLUDE_FILES=""
kl>
kl>
kl>## Type: yesno
kl>## Default: no
kl>#
kl># Shall avanti run chrooted in /var/lib/avanti/jail
kl>#
kl>AVANTI_RUN_CHROOTED="yes"
kl>
kl># When running chrooted:
kl>## Type: string()
kl>## Default: ""
kl>#
kl># Which filesystem should be remounted under $AVANTI_JAIL/home?
kl>#
kl>AVANTI_EXTRA_MOUNT="/seconddisk/databases"
--
Klaus Lehmann
eMail: lehmann_klaus at t-online.de
*** allegroC-Dienstleistungen & Internetkataloge
*** Admin fuer Netware/Windows/Linux/Samba
*** Our best ideas are born at home (New Freedom Data Center 1995)
one of those new ideas see at http://allegronet.de/ruck-film
Mehr Informationen über die Mailingliste Allegro