== Deployment ==

<<TableOfContents(3)>>

in diesem Abschnitt wird die Softwareverteilung an die Schulen beschrieben. Dabei werden die veschiedenen Rechnersysteme Diskless Workstation und Standalone Workstation unterschieden.

=== Diskless Workstation ===

Das Betriebssystem mit Software wird auf dem Disklserver (Diskless-Server) an den Schulen bereitgestellt. Die Umgebung befindet sich in einem chroot auf dem Disklserver. Um Anpassungen am Diskless Workstation Betriebssystem und der installierten Software vorzunehmen, ist den folgenden Schritten folgen:

==== Test der Anpassungen ====

Bevor die Software an die Schulen verteilt wird, werden die Änderungen im Demosetup durchgeführt und getestet.

==== Softwareverteilung ====

Als Basis für die Verteilung dient die auf dem Disklserver im Demosetup eben durchgeführten Anpassungen.

Die weiteren Schritte (Kommandos) als Administrator auf {{{vidar.das-netzwerkteam.de}}} durchführen:

 * Synchronisation des Demoservers chroot in ein Template auf {{{VIDAR}}}:

{{{
/srv/chroots/bin/chroots_gettemplates
}}}

 * Sicherung des aktuellen Templates:

{{{
dirvish --vault chroot-templates
}}}

 * Installationstemplate erstellen (das Datum in der Form <yyyymmdd> angeben):

{{{
/srv/chroots/bin/chroots_createtag Datum
}}}

 * alle Schulen an die NICHT deployed werden soll in /srv/chroots/chroot-deploytargets einen Punkt vor den Dateinamen der entsprechenden Schuldatei setzen.

 * Midnight Commander (mc) starten und ins Verzeichnis /srv/chroots/chroot-deploytargets wechseln. Die Datei ._srv_ltsp_i386.jessie mit der linken Maustaste markieren und STRG+X und STRG+S den symbolischen Link öffnen und das Datum auf das eben beim Template gesetzte Datum anpassen. 

 * Verteilung an die Schulen:
  * wenn nächtlich verteilt werden soll, müssen keine weiteren Schritte unternommen werden
  * wenn direkt verteilt werden soll, folgendes Kommando aufrufen: 

{{{
/srv/chroots/bin/chroots_deploytargets
}}}

=== Workstation (to be continued)===

Zur einheitlichen Konfiguration und Softwareausstattung bei Workstations wird die Software '''puppet''' verwendet.

Client (<myhost>.intern):::

{{{
sudo apt-get install puppet
sudo puppet agent --test
sudo puppet agent --enable
}}}

Server:::

{{{
sudo puppet cert --list
}}}

Dort sollte der Rechner <myhost>.intern gelistet sein. Mit

{{{
sudo puppet cert --sign <myhost>.intern
}}}

wird der Puppet Client dann autorisiert.

Client:::

{{{
sudo puppet agent --test
}}}