FLEXlm Hinweise

Der Text bezieht sich auf die Installation im ChemNet.

Angesichts der Aufgabe, eine neue Quanta-Lizenz auf Bragg einzuspielen, habe ich dort etwas aufgeräumt. Bisher war für jedes Produkt, das mit FLEXlm auf Bragg verwaltet wurde (Interleaf, Quanta, CorelDraw, UniChem), nicht nur der sogenannte 'vendor daemon' mitgeliefert, sondern außerdem noch die restliche FLEXlm Software, insbesondere der 'lmgrd'. Letzterer sollte aber theoretisch nur einmal nötig sein. Fehlende Dokumentation und verschiedene real existierende Problem führten aber dazu, daß für fast alle Produkte ein eigener lmgrd (mit eigener Portnummer!) lief.

Ich habe mit einigem Probieren die Zahl der lmgrd's jetzt auf zwei begrenzen können. Weniger geht vermutlich aus zwei Gründen nicht: Das alte Quanta (3.3) benutzt einen uralten vendor daemon, der offensichtlich nicht mit moderneren lmgrd's läuft. Außerdem werden die gleichen FEATURE Namen wie für Quanta 4.1 verwendet, was seltsamerweise angemeckert wird.

Nach meinem Verständnis funktioniert das Zusammenspiel der verschiedenen Daemonen und Lizenzdateien folgendermaßen: Beim Booten wird auf Bragg lmgrd gestartet (genauer: zwei verschiedene). Dieser liest eine Datei, die auf der Kommandozeile angegeben ist. Bei uns:

	/usr/local/etc/flexlm/licenses/license-Bragg-221.dat und
	/usr/local/etc/flexlm/licenses/license-Bragg-330.dat

Die dort enthaltenen Informationen besagen zum einen, auf welchem Port der lmgrd auf Anfragen horcht (1701 und 1700), und zum anderen, welche vendor daemonen gestartet werden sollen.

Wenn ein Programm, das FLEXlm benutzt, gestartet wird, schaut es ebenfalls nach einer Lizenzdatei. Die enthaltene Information wird genutzt, um festzustellen, wo der lmgrd läuft und auf welchem Port er anzusprechen ist. Dann wird über den Umweg lmgrd Kontakt mit dem eigenen vendor daemon aufgenommen, um die Lizenzfrage zu klären.

Leider hat jedes Programm seine eigene Vorstellung, wie die eigene Lizenzdatei heißt und wo nach ihr gesucht wird (Anm. 1). Ich habe ein kleines Perlscript geschrieben, das die 'großen' Lizenzdateien nimmt und in kleine 'vendor' Dateien splittet. (mkvendor.pl, nach /usr/local/etc/flexlm/licenses/vendor/*) Die privaten Lizenzdateien habe ich dann durch links darauf ersetzt.

Zum Eintragen einer neuen Lizenz auf Bragg muß also license-Bragg-330.dat editiert werden. Dann wird mit mkvendor die kleine Lizenzdatei erzeugt und schließlich muß dort, wo die Software es erwartet (Anm. 2), ein Link auf diese vendor-Datei angelegt werden.

Für Rückfragen stehe ich gerne zur Verfügung.

Anmerkungen

  1. Es könnte sein, daß die Frage, wo ein Programm die Lizenzdatei sucht, mit Hilfe der Environment-Variable LM_LICENSE_FILE entschieden werden kann. Ich habe das aber nicht weiter ausprobiert.

  2. Wer sich fragt, wie man denn herausbekommt, wo ein Programm Lizenzdateien vermutet:

    	par -s -i -SS -o file program...
    
    Schreibt nach 'file' eine Aufstellung aller system calls, die von program (und allen children) gemacht werden. Darin kann man dann nach verdächtigen Filenamen suchen...


Thomas Richter, 1996/06/13 (Formatierung BKi).