Inhalt

4. Installation

Es wird die detailierte Installation auf zwei Linux Distributionen beschrieben. Dadurch sollte möglich sein Magic auch auf anderen Distributionen zu installieren.

4.1 Vorbereitungen

Für die Installation werden "root" Berechtigungen benötigt. Die Installation der lizensierten und der freien Version unterscheidet sich nur wenig. Mit der lizensierten Version wird noch zusätzlich ein Lizenz Manager installiert. Ich werde die Installation so genau wie möglich beschreiben, so das es leicht ist auftretende Fehler zu beheben.
Das Installationspacket sollte in das Verzeichnis "/usr/local/src" kopiert werden.
Die freie Version heißt:
magic-8.3-1.i386.rpm-single
und sollte nach dem Download nach
magic-8.3-1.i386.rpm
umbenannt werden.
Die lizensierte Version heißt :
magic-8.3-5.i386.rpm
Jetzt kann man sich die Abhängigkeiten ansehen.
rpm -q --requires -p magic-8.3-5.i386.rpm|less
Und die Installations Scripts prüfen.
rpm -q --scripts -p magic-8.3-5.i386.rpm|less
Es gibt drei Scripte. Als letztes wird geprüft ob das Text Programm "ED" auf dem System vorhanden ist. Er wird von dem postinstall script benötigt.
rpm -qa | grep ed
Wenn das Programm nicht vorhanden ist muß man sich die Scripte genau ansehen und die Änderungen per Hand vornehmen.
 

4.2 Start der Installation

Der Installations Befehl für die freie Version heißt:
rpm -iv magic-8.3-1.i386.rpm
Und der für die liezensierte Version:
rpm -iv magic-8.3-5.i386.rpm
Die Installation erstellt einen neuen Benutzer mit einem eigenem Home Verzeichnis. Der Vorgabewert ist "magicadm". Um den Benutzer und/oder Pfad zu ändern muß vor dem "-iv" der folgende Befehl eingefügt werden.
--prefix /{DifferentPath}/{DifferentUserName}

4.3 Prüfen der Installation

Nun muß dem neuen Benutzer noch ein Passwort vergeben werden.
passwd magicadm
Der erste Teil der Installation ist abgeschlossen. Aber .... jetzt müssen noch die einzelnen Dienste konfiguriert werden.

4.4 Die rpm-Scripte

Dies sind die drei Scripte die in dem "magic-8.3-5.i386.rpm" Packet für die Installation und Deinstallation zuständig sind.
Alle Zeilen die mit einem # Anfangen wurden von mir als Kommentar eingefügt.
preinstall script (through /bin/sh):
#
# RPM_INSTALL_PREFIX is /usr/magicadm
#
mghome=$RPM_INSTALL_PREFIX
#
# the program basename removes the path of an expression
# result is magicadm
#
owner=`basename $mghome`
#
# -m = create homedir if not exist and copy default user into it
# -d = set homedirectory
# -g = set group
# -s = shell
#
/usr/sbin/useradd -d $mghome -g users -m -s /bin/csh $owner
#
# the file are copied and now perform the rest of the installation.
#
postinstall script (through /bin/sh):
HostName=`uname -n`
mghome=$RPM_INSTALL_PREFIX
owner=`basename $mghome`
#
# this must be an error and should be :groupid=users
#
groupid="users"
#
# write into every file the environment variable magic_home
#
Files="$mghome/etc/mgenv $mghome/etc/MAGIC.INI $mghome/servers/MGSERVER.INI
$mghome/sbin/cgi.sh"
Files="$Files $mghome/.cshrc $mghome/.login $mghome/.profile $mghome/.bashrc"
for  f in $Files ; do
       if [ -f $f ] ; then
          ed $f >> /dev/null 2>&1 << %
1,\$s;%MAGIC_HOME%;$mghome;
w
q
%
       fi
done
#
# configure the magic.ini file with the reference to the license manager.
#
  ed $mghome/etc/MAGIC.INI >> /dev/null 2>&1 << %
1,\$s;LicenseFile =.*;LicenseFile = 3111@$HostName;
w
q
%
#
# configure the license file
#
  ed $mghome/etc/license.dat 1>/dev/null 2>&1 << %
1,\$s;HOSTNAME;$HostName;
1,\$s;DAEMONLOCATION;$mghome/license/MAGIC;
w
q
%
#
# set several rights
#
chown -R $owner.$groupid $mghome
chown $owner.$groupid  $Files
chown root $mghome/servers/mgdispatch
chmod 4555 $mghome/servers/mgdispatch
postuninstall script (through /bin/sh):
mghome=$RPM_INSTALL_PREFIX
owner=`basename $mghome`
/usr/sbin/userdel  $owner

Inhalt