...
 
Commits (11)
......@@ -82,7 +82,12 @@ citestyle=alphabetic
sie oft in Kontakt kommen. \\
In Anbetracht der Entwicklungsgeschwindigkeit heutiger Software stellt
ein Automatisches Deployment deshalb eine wichtige Hilfestellung für
Administratoren dar.
Administratoren dar.\\
Mit unserem Projekt möchten wir genau hier ansetzen, und den
Adminstrationsaufwand für unser fakultätseigenes Linux-Labor auf ein
Minimum reduzieren. Hierdurch soll auch der Aufwand für den
Updatevorgang aller Rechner so weit reduziert werden, das dies
problemlos unter dem Semester möglich wäre.
\chapter{Ist-Analyse}
Momentan ist das Linux-Labor mit Ubuntu eingerichtet.
Die Systeme wurden manuell installiert und konfiguriert.
......@@ -113,8 +118,9 @@ citestyle=alphabetic
Deployment der vorgesehenen Pakete ermöglicht.\\
Die von der Firma SaltStack geschriebene Software besteht im
wesentlichen aus zwei Teilen: dem Salt-Master und den Salt-Minions.
Beide besitzen einen (??)-Schlüssel, über den sie sich den anderen
gegenüber authentifizieren können.\\
Beide besitzen zwei asymetrische Schlüssel, über den sie sich den
anderen gegenüber authentifizieren und mit ihnen kommunzieren
können.\\
\section{Salt-Master}
Der Salt-Master gibt Instruktionen an die Minions weiter.
Um dies zu ermöglichen, ist bei ihm eine Liste der aktuell
......@@ -195,8 +201,8 @@ citestyle=alphabetic
sssd folgender Eintrag mit angelegt:\\
\begin{Verbatim}[frame=single]
include:
- sssd
- sssd.sysauth
-\ sssd
-\ sssd.sysauth
\end{Verbatim}
\\
Mit dem include wird sicher gestellt, dass diese Optionen zur
......@@ -439,15 +445,16 @@ citestyle=alphabetic
kiwi dar, welches für die Erstellung von images verwendet wird.
Leider mussten wir feststellen, das SUSE Studio nicht mehr verfügbar
ist und nun besagte images über kiwi in Kombination mit dem
OpenBuildService gebaut werden.
OpenBuildService gebaut werden müssen.
\section{kiwi}
Kiwi ist der Name des Kommandozeileninterfaces, welches hinter SUSE
Kiwi ist der Name des Kommandozeilentools, welches hinter SUSE
Studio stand.
Es unterstützt die Erstellung diverser image-Typen.\\
Die relevanten Dateien bestehen aus: einer Konfigurationsdatei
(.xml), einem (optionalen) Quellarchiv (meist tar.bz2), sowie
optionalen Shellskripten.\\
Das Bauen von kiwi-images lässt sich in drei Phasen aufteilen: Das
optionalen Shellskripten. Die hier gefundene Zusammenfassung kann
hier ausführlicher gefunden werden\cite{suse:kiwi}\\
Das Bauen von kiwi-images lässt sich in zwei Phasen aufteilen: Das
Generieren des Verzeichnisbaums und des images.
\subsection{Konfigurationsdatei}
Die Konfiguration des images erfolgt in einer XML-Syntax.
......@@ -491,17 +498,30 @@ citestyle=alphabetic
\hyperref[sec:salt_min]{Sektion Salt} erwähnt, die weitere
Installation/Konfiguration vornehmen können.
\subsection{Quellarchiv}
Die Quellrepositories müssen alle Pakete beinhalten, die das image
beinhalten soll. Im Normalfall ist dies der Open Build Service.
\subsection{Shellskripte}
Währende des Erstellprozesses werden bis zu zwei optionale
Shellskripte ausgeführt: images.sh und config.sh
\subsubsection{images.sh}
Wird zu Beginn des zweiten Teilbereiches (Nach Ende der
Erstellung des Verzeichnisbaums) ausgeführt, sofern vorhanden.\\
Soll das System durch das Entfernen von Daten, die nur für das
Generieren des Verzeichnisbaumes erforderlich sind, das Image
aufräumen.
\subsubsection{config.sh}
Wird am Ende der Installation, aber vor den Paketskripten im
Generieren des Verzeichnisbaums-Abschnitt ausgeführt.
\subsection{Generieren des Verzeichnisbaums}
Zu Beginn erstellt kiwi aus der gegebenen Konfigurationsdatei einen
Verzeichnisbaum.
Dieser lässt sich über ein change-root-Tool wir chroot beliebig
navigieren und erkunden.
Bis auf das kiwi-Verzeichnis, welches eine Kopie der Konfiguration,
sowie wichtige Bauelemente beinhaltet (Details??), spiegelt das
sowie wichtige Bauelemente beinhaltet, spiegelt das
Verzeichnis das spätere Innenleben des images wieder.\\
Zum Ende dieses Erstellungsprozesses wird noch das config.sh-Skript,
sofern vorhanden, ausgeführt. Dieses dient dem Zweck (???).\\
sofern vorhanden, ausgeführt.
Achtung: Manuelle Änderungen innerhalb des Verzeichnis werden bei
der nächsten Ausführung des Befehls überschrieben und können im
zweiten Schritt zu schwer verfolgbaren Fehlern führen.
......@@ -513,9 +533,8 @@ citestyle=alphabetic
vorhanden.\\
Aus dem Verzeichnisbaum können nun unterschiedliche Imagetypen
generiertwerden.
Möglich sind:\\
USB-Live-Images, PXEBoot, Amazon EC2, Docker, KVM/Qemu, VirtualBox,
VMWare, Vagrant (???)\\
Möglich sind beispielsweise USB-Live-Images, PXEBoot, Amazon EC2,
Docker, KVM/Qemu, VirtualBox, VMWare oder auch Vagrant-Images.\\
\section{OpenBuildService}
Der OpenBuildService ist ein OpenSource-Projekt, welches von
SUSE-Entwicklern erstellt und seitdem aktiv gemaintaint wird.
......@@ -611,9 +630,12 @@ citestyle=alphabetic
\item Die Konfigurationsdatei muss eine *.kiwi-Datei sein
(config.xml ist als Dateiname nicht möglich)
\end{itemize}
\subsection{OBS mit anderen Distributionen}
\subsection{OBS auf anderen Systemen}
Der OpenBuildService unterstützt neben SUSE-Distributionen auch
Debian, Arch Linux, Gentoo Linux (??, überprüfen) beim Paketbau.
beispielsweise Debian, Ubuntu, Red Hat, sowie sogar Windows
beim Paketbau.
Auch andere Architekturen sind neben x86 (z.b. AMD64, z Systems,
POWER) möglich\cite{suse:obs}
\section{Fazit zur Imageerstellung}
Der Werdegang der Image-Erstellung hat sich rückblickend leider als
kritisch herausgestellt. Problematisch war hier in erster Linie die
......
......@@ -34,3 +34,10 @@
url = {https://doc.opensuse.org/projects/kiwi/doc},
urldate = {2019-03-11}
}
@online{suse:obs,
author = {SUSE Linux GmbH},
title = {Open Build Service Beginner's Guide},
year = 2019,
url = {https://openbuildservice.org/files/manuals/obs-beginners-guide.pdf},
urldate = {2019-03-12}
}