Starten des TSM-Scheduler / Linux

In allen Linux-Distributionen wird der Client-Scheduler über den „DSM Client Acceptor Daemon (dsmcad)“ gestartet. Hierzu wird während der Installation des Clients ein entsprechendes Skript dsmcad in den Ordner /etc/init.d/ abgelegt.

Standard-Weg gemäß IBM-Dokumentation

Die offizielle IBM-Dokumentation schlägt zum Start den Aufruf über die service-Schnittstelle vor:

 # service dsmcad <start|stop|restart|status>

Dies ist für die offiziell unterstützten Distributionen auch der von uns favorisierte Weg. Für einige nicht offiziell unterstützten Distributionen zeigen nachfolgend Lösungen.

Anpassungen für nicht unterstützte Distributionen

  • Ubuntu 12.04.05 LTS
  • Debian 7 (Wheezy), Debian 8 (Jessie)
  • OpenSuSE ??

Aktuelle Linux-Distributionen nutzen den systemd statt des initd, dennoch ist in den meisten Distributionen der Start des dsmcad weiterhin über die initd-Mimik möglich, daher wird aktuell auf eine Unterscheidung verzichtet.

Ubuntu 12.04.05 LTS

Für Ubunutu 12.04.5 LTS funktionieren die aktuelle Pakete uneingeschränkt.

WICHTIG: Für TSM-Clients in Version 7.1.2.0 bitte die Anmerkung unten zu älteren Versionen beachten.

Debian

Das dsmcad-Skript des Clienten (Beispiel: Version 7.1.2.3) liest Umgebungsvariablen aus, die vom Skript /etc/os-release gesetzt werden. Wird hierbei die Variable $NAME auf UBUNTU gesetzt, startet das Skript; bei Debian ist dies nicht der Fall, die Variable enthält den Wert Debian GNU/Linux

root@JessieBox:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="https://bugs.debian.org/"


…und die Ausführung wird abgebrochen:

root@JessieBox:~# /etc/init.d/dsmcad start
/etc/init.d/dsmcad: 88: [: Debian: unexpected operator
/etc/init.d/dsmcad: 143: /etc/init.d/dsmcad: start_: not found
 

Lösung

Passen Sie die Abfrage der Variable $NAME im dsmcad-Skript an, so dass auch Debian GNU/Linux gültig wird. Ersetzen Sie hierzu die Zeile

   if [ $NAME = "Ubuntu" ]


durch

   if [ "$NAME" = "Ubuntu" -o "$NAME" = "Debian GNU/Linux" ]
 
 

Maskieren Sie die Variable $NAME mit Hochkommata („), durch das Leerzeichen in Debian GNU/Linux kommt es sonst zu dem oben genannten Fehler “[: Debian: unexpected operator„

OpenSuSE

folgt …

Archlinux

folgt …

Anpassungen für ältere Clientversionen

Ubuntu / Debian

Die Unterstützung für Ubuntu ist zwar offiziell mit dem Clienten 7.1.2.0 eingeführt worden, tatsächlich fand eine Anpassung erst im Rahmen eines späteren Patches statt.

Das Start-Skript dsmcad enthält daher für sämtliche Client-Versionen inkl. 7.1.2.0 noch keinen Abschnitt für Ubuntu. Die nachfolgende Passage ist daher in das Skript einzufügen und zwar vor dem finalen else, das zum Abbruch führt:

   if [ "$NAME" = "Ubuntu" -o "$NAME" = "Debian GNU/Linux" ]
   then

      start_()
      {
         cd $DSMCAD_DIR
         if start-stop-daemon --status --exec $DSMCAD_BIN
         then
            echo "dsmcad is already running, pid" `pidof $DSMCAD_BIN`
         else
            if start-stop-daemon --start --exec $DSMCAD_BIN
            then
               echo "dsmcad is started, pid" `pidof $DSMCAD_BIN`
            else
               echo "dsmcad could not be started"
            fi
         fi
      }

      stop_()
      {
         if start-stop-daemon --status --exec $DSMCAD_BIN
         then
            if start-stop-daemon --stop --exec $DSMCAD_BIN
            then
               echo "dsmcad is stopped"
            else
               echo "dsmcad could not be stopped"
            fi
         else
            echo "dsmcad is not running"
         fi
      }

      status_()
      {
         if start-stop-daemon --status --exec $DSMCAD_BIN
         then
            echo "dsmcad is running, pid" `pidof $DSMCAD_BIN`
         else
            echo "dsmcad is not running"
         fi
      }

   fi
else
   echo "This distribution is not supported"
   exit 2
fi
 

modizierte Datei dsmcad

Unter diesem Link finden Sie ein vollständige Darstellung des Skriptes dsmcad mit den zuvor beschriebenen Anpassungen.

Automatischer Start des dsmcad

Suse Linux Enterprise / Red Hat Enterprise Linux

Für die offiziell supporteten Linux-Versionen ist der dsmcad über den folgenden Aufruf zu starten:

To enable the Client Acceptor Daemon to start automatically after a system restart, add the service as follows, at a shell prompt:

# chkconfig --add dsmcad
 

Debian / Ubuntu

Der Aufruf chkconfig –add dsmcad funktioniert sowohl bei Ubuntu 12.04 wie 14.04 und auch bei Debian nicht, da es kein Skript chkconfig gibt. Stattdessen kann der Systemstart von Diensten über den folgenden Befehl erfolgen:

chmod a+x /etc/init.d/dsmcad
update-rc.d dsmcad defaults 35 35
 

OpenSuse

folgt …