Inhalt

5. Der FLEXlm License Manager

FLEXlm was orginally developed by Globetrotter in 1988. Now (2008) it belongs to Acresso.

5.1 Setup

Der Lizenz Manager wird von Magic in dieses Verzeichnis installiert:
/usr/magicadm/license
Uns interessieren drei Dateien:
  • lmgrd       - der Lizenz Manager
  • MAGIC       - der Magic-Dienst
  • license.dat - die Lizenz Informationen
Der Lizenz Manger läuft als System-Dienst, darum soll er auf keinen Fall "root" Berechtigungen haben. Dies läßt sich verhindern, in dem das Programm "magicadm" gehört und das "Set User ID" Bit gesetzt ist.
chmod 4700 mgrqmbr
chown magicadm mgrqmbr
chmod 4700 MAGIC
chown magicadm MAGIC
  • Die Lizenz Datei wird von Magic in das Verzeichnis "usr/magicadm/etc" installiert. Für die Übersichtlichkeit wird die Datei in das Lizenz Manager Verzeichnis bewegt.

5.2 Manueller Start

Vor dem Start des Lizenz Managers  als "magicadm" einloggen und dann in das Lizenz Manager Verzeichnis wechseln.
cd /usr/magicadm/license
./lmgrd -c /usr/magicadm/license/license.dat -l /usr/magicadm/license/license.log.$$
-c voller Pfad und Dateiname der Lizenz Datei. -l voller Pfad und Dateiname einer Log Datei. Die "$$" Erweiterung am Ende wird durch die Prozess-Id des Lizenz Manager ersetzt.
Prüfen ob der Lizenz Manager gestartet wurde:
ps -A -l| grep lmgrd
  F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
040 S   501 97397     1  0  60   0 -   362 do_sel tty4     00:00:00 lmgrd
Als User sehen wir die UID=501, das ist in diesem Beispiel die Benutzernummer von "magicadm" und als Prozess die PID=97397.
Um ihn wieder zu stoppen
kill 97397

5.3 FLEXlm und SuSE

Die System-Scripte befinden sich in dem Verzeichnis
/sbin/init.d/
Und es wird ein eigener Algorythmus verwendet. Der Wechsel eines Run-Levels wird mit dem Script
/etc/rc.config
kontrolliert. Um den Start des Lizenz Manager mit diesem Script zu verwalten muß am Ende eine neue Sektion eingefügt werden:
---------- cut ---------
#
# Start the magic license manager (yes,no).
#
START_MGFLEXLM="yes"
#
---------- cut ---------
Diese Einstellung kann mit "yast" in dem Menuepunkt
Administration des System -> Konfigurationsdatei verändern
bearbeitet werden.
Jetzt muß "mglms" aus dem Archiv nach "/sbin/init.d/" kopiert und die Berechtigungen gesetzt werden:
chmod 4700 mglms
chown magicadm mglms
In welchem Run-Level der Lizenz Manager gestartet werden soll, wird durch symbolische Links in den Unterverzeichnissen kontrolliert:
  • Starte und stoppe den Lizenz Manager in dem Run-Level 2
    ln -s /sbin/init.d/mglms /sbin/init.d/rc2.d/K92mglms
    ln -s /sbin/init.d/mglms /sbin/init.d/rc2.d/S91mglms
  • Starte und stoppe den Lizenz Manager in dem Run-Level 3
    ln -s /sbin/init.d/mglms /sbin/init.d/rc3.d/K92mglms
    ln -s /sbin/init.d/mglms /sbin/init.d/rc3.d/S91mglms
(Der Lizenz Manager (S91mglms) sollte vor dem Broker (S92mgbrs) gestartet werden. Und umgekehrt: der Broker (K91mgbrs) sollte vor dem Lizenz Manager (K92mglms) gestoppt werden. Für mehr Informationen : SuSE Handbuch lesen.)
Wenn ein anderes Verzeichnis verwendet wurde, muß der Script angepaßt werden
---------- cut --------------
LM_PATH=/usr/magicadm/license
LM_USER=magicadm
---------- cut --------------
Nun kann der Lizenz Manager gesteuert werden:
/sbin/init.d/mglms start
/sbin/init.d/mglms stop
/sbin/init.d/mglms status
/sbin/init.d/mglms restart

5.4 FLEXlm und Red Hat

Die System Scripte befinden sich in dem Verzeichnis
/etc/rc.d/init.d/
und dort hin muß auch der Script "mglmr" aus dem Archiv kopiert und die Berechtigungen gesetzt werden:
chmod 4700 mglmr
chown magicadm mglmr
Der Start der System-Dienste wird mit dem Tool "chkconfig" gesteuert. Dazu sind in dem Script "mglmr" am Anfang drei Zeilen (der "\" am Ende der zweiten Zeile verbindet sie mit der dritten Zeile und muß sein):
---------- cut --------------
# chkconfig:   23 91 92
# description: Start des Dienstes in Run Level 2 & 3 als S91mglmr \
#              und beende ihn in den anderen Leveln mit K92mglmr
---------- cut --------------
(Der Lizenz Manager (S91mglms) sollte vor dem Broker (S92mgbrs) gestartet werden. Und umgekehrt: der Broker (K91mgbrs) sollte vor dem Lizenz Manager (K92mglms) gestoppt werden. Für mehr Informationen : "man chkconfig".)
Den Lizenz Manager als Service hin zufügen:
chkconfig --add mglmr
chkconfig --list mglmr
Ausgabe: "mglmr 1:off 2:on 3:on 4:off 5:off 6:off"
Den Lizenz Manager als Service entfernen:
chkconfig --del mglmr
chkconfig --list mglmr
Anzeige= "mglmr 1:off 2:off 3:off 4:off 5:off 6:off"
Der Script "/etc/rc.d/rc" steuert den Wechsel eines Run-Levels. Der prüft alle symbolischen Links mit einem "K" am Anfang "K92mglmr" und testet ob in dem Verzeichnis "/var/lock/subsys" eine dazugehörende Lock Datei mit dem Namen "mglmr" vorhanden ist. Der Script "mglmr" muß also beim Start eine Datei erstellen und beim Beenden wieder gelöschen. "magicadm"  hat aber keine Berechtigung um in diesem Verzeichnis zu schreiben.
Um dieses Problem zu beheben muß "root" die Berechtigung für das Verzeichnis "/var/lock/subsys/" auf "search/execute others" ändern.
chmod o+x /var/lock/subsys/
Wenn ein anderes Verzeichnis verwendet wurde, muß der Script angepaßt werden
---------- cut --------------
LM_PATH=/usr/magicadm/license
LM_USER=magicadm
---------- cut --------------
Nun kann der Lizenz-Manager gesteuert werden:
/etc/rc.d/init.d/mglmr start
/etc/rc.d/init.d/mglmr stop
/etc/rc.d/init.d/mglmr status
/etc/rc.d/init.d/mglmr restart

5.5 Die Lizenz Datei

Dies ist die Demo-Lizenz von Magic. Sie wird von Magic installiert und konfiguriert. Wenn diese Datei in ein anders Verzeichnis verschoben oder der Host umbenannt wird muß sie angepaßt werden. Gerade bei einer Änderung des Hostnamens
wird das leicht vergessen.
---------- cut --------------
# If you change your host name you have change also here.
# It drives you crasy if it is forgotten
SERVER YourHostname ANY TCP:3111
#
#  If you move the daemon you to change the path.
DAEMON MAGIC /usr/magicadm/license/MAGIC
FEATURE MGDEMO MAGIC 8.200 01-jan-0 35 5B7E6041513455C10A7A \
  VENDOR_STRING=PT=MGDEMO,C=3FFFFFF,P=N,MR=500,MP=40,MD=15,MC=4 \
  DUP_GROUP=NONE ISSUER="Magic Demonstration" ck=186 SN=612345675
---------- cut --------------

Inhalt