[Allegro] avanti unter xinetd [Lang]

Thomas Berger ThB at Gymel.com
Do Jul 7 16:39:37 CEST 2011


Lieber Herr Eversberg,

> Mag ja sein, aber jeder Prozeß MUSS ja irgendwo "wohnen". Wenn
> er z.B. ein  fopen("dateiname","w")  macht, dann muß diese
> Datei ja genau dort entstehen. Und wo das ist, da muß acon
> liegen und uifsger und avanti.con. Zur Not können wir ja
> avanti und acon beibringen, bei Mißerfolg (direktes fopen gelingt
> nicht) es noch an einem absolut definierten Ort zu versuchen.

Naja, wenn /opt/avanti/bin/avanti ein Symlink auf
/usr/local/avanti/bin/avanti ist, ist dann das uifsger aus
/opt/avanti/bin oder das aus /usr/local/avanti/bin das
angemessene? Darueber koennte man ja noch spekulieren,
weil Symlinks eine Richtung haben, "Quelle" und "Ziel",
die man mit (privat) passender Semantik aufladen koennte.
Aber bei Hardlinks? Unter Linux kann ein Prozess wohl sich
selbst in /proc nachschlagen und eventuell mehr ueber die
Art seines Aufrufs herausfinden, aber unter BSD oder Solaris?

Das Problem ist der Linux-Welt ja auch eher fremd, weil es
hier den zentralen /etc-Baum gibt, dort liegen die
Konfigurationsdateien und in denen steht z.B. drin, welchen
Verzeichnisbaum auf dem lokalen Dateisystem der Prozess als
seine Heimat ansehen soll, da kann er dann ein chdir hin
machen.

Im Fall mehrerer Instanzen sehr hilfreich ist die Moeglichkeit,
eine Abweichung von der Standardkonfigurationsdatei per Aufruf-
Schalter -f mitzuteilen. Steuerung ueber Environment-Variable
(wo vorbesetzen?) hingegen ist eher dann praktisch, wenn
es zwar nur eine Instanz gibt, aber keinen Standard-Ort: Also
weniger geeignet fuer den Vermerk von Konfigurationsdateien
(/etc ist immer *der* Standard-Ort), sondern von Verzeichnis-
baeumen:

Ist so eine Variable im Environment vorhanden, etwa

AVANTI_ROOT=/usr/local/avanti

dann haette diese Vorrang vor einer entsprechenden Setzung
in der Konfigurationsdatei (aber nicht vor einem hypothetischen
Kommandozeilenschalter hierfuer), und sie koennte auch bei
der Suche nach avanti.conf herangezogen werden, wenn
/etc/avanti.conf nicht existiert.

M.E. laeuft es allerdings darauf hinaus, sowohl die Uebergabe-
moeglichkeit der Konfigurationsdatei als auch die Einstellung des
Arbeitsverzeichnisses besser konfigurierbar zu machen.

viele Gruesse
Thomas Berger





Mehr Informationen über die Mailingliste Allegro