Commit 42b95784 authored by mainja67707's avatar mainja67707

Add more Details to image

parent cede2f09
...@@ -79,7 +79,12 @@ citestyle=alphabetic ...@@ -79,7 +79,12 @@ citestyle=alphabetic
sie oft in Kontakt kommen. \\ sie oft in Kontakt kommen. \\
In Anbetracht der Entwicklungsgeschwindigkeit heutiger Software stellt In Anbetracht der Entwicklungsgeschwindigkeit heutiger Software stellt
ein Automatisches Deployment deshalb eine wichtige Hilfestellung für 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} \chapter{Ist-Analyse}
Momentan ist das Linux-Labor mit Ubuntu eingerichtet. Momentan ist das Linux-Labor mit Ubuntu eingerichtet.
Die Systeme wurden manuell installiert und konfiguriert. Die Systeme wurden manuell installiert und konfiguriert.
...@@ -434,15 +439,16 @@ citestyle=alphabetic ...@@ -434,15 +439,16 @@ citestyle=alphabetic
kiwi dar, welches für die Erstellung von images verwendet wird. kiwi dar, welches für die Erstellung von images verwendet wird.
Leider mussten wir feststellen, das SUSE Studio nicht mehr verfügbar Leider mussten wir feststellen, das SUSE Studio nicht mehr verfügbar
ist und nun besagte images über kiwi in Kombination mit dem ist und nun besagte images über kiwi in Kombination mit dem
OpenBuildService gebaut werden. OpenBuildService gebaut werden müssen.
\section{kiwi} \section{kiwi}
Kiwi ist der Name des Kommandozeileninterfaces, welches hinter SUSE Kiwi ist der Name des Kommandozeilentools, welches hinter SUSE
Studio stand. Studio stand.
Es unterstützt die Erstellung diverser image-Typen.\\ Es unterstützt die Erstellung diverser image-Typen.\\
Die relevanten Dateien bestehen aus: einer Konfigurationsdatei Die relevanten Dateien bestehen aus: einer Konfigurationsdatei
(.xml), einem (optionalen) Quellarchiv (meist tar.bz2), sowie (.xml), einem (optionalen) Quellarchiv (meist tar.bz2), sowie
optionalen Shellskripten.\\ optionalen Shellskripten. Die hier gefundene Zusammenfassung kann
Das Bauen von kiwi-images lässt sich in drei Phasen aufteilen: Das 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. Generieren des Verzeichnisbaums und des images.
\subsection{Konfigurationsdatei} \subsection{Konfigurationsdatei}
Die Konfiguration des images erfolgt in einer XML-Syntax. Die Konfiguration des images erfolgt in einer XML-Syntax.
...@@ -486,17 +492,30 @@ citestyle=alphabetic ...@@ -486,17 +492,30 @@ citestyle=alphabetic
\hyperref[sec:salt_min]{Sektion Salt} erwähnt, die weitere \hyperref[sec:salt_min]{Sektion Salt} erwähnt, die weitere
Installation/Konfiguration vornehmen können. Installation/Konfiguration vornehmen können.
\subsection{Quellarchiv} \subsection{Quellarchiv}
Die Quellrepositories müssen alle Pakete beinhalten, die das image
beinhalten soll. Im Normalfall ist dies der Open Build Service.
\subsection{Shellskripte} \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} \subsection{Generieren des Verzeichnisbaums}
Zu Beginn erstellt kiwi aus der gegebenen Konfigurationsdatei einen Zu Beginn erstellt kiwi aus der gegebenen Konfigurationsdatei einen
Verzeichnisbaum. Verzeichnisbaum.
Dieser lässt sich über ein change-root-Tool wir chroot beliebig Dieser lässt sich über ein change-root-Tool wir chroot beliebig
navigieren und erkunden. navigieren und erkunden.
Bis auf das kiwi-Verzeichnis, welches eine Kopie der Konfiguration, 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.\\ Verzeichnis das spätere Innenleben des images wieder.\\
Zum Ende dieses Erstellungsprozesses wird noch das config.sh-Skript, 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 Achtung: Manuelle Änderungen innerhalb des Verzeichnis werden bei
der nächsten Ausführung des Befehls überschrieben und können im der nächsten Ausführung des Befehls überschrieben und können im
zweiten Schritt zu schwer verfolgbaren Fehlern führen. zweiten Schritt zu schwer verfolgbaren Fehlern führen.
...@@ -508,9 +527,8 @@ citestyle=alphabetic ...@@ -508,9 +527,8 @@ citestyle=alphabetic
vorhanden.\\ vorhanden.\\
Aus dem Verzeichnisbaum können nun unterschiedliche Imagetypen Aus dem Verzeichnisbaum können nun unterschiedliche Imagetypen
generiertwerden. generiertwerden.
Möglich sind:\\ Möglich sind beispielsweise USB-Live-Images, PXEBoot, Amazon EC2,
USB-Live-Images, PXEBoot, Amazon EC2, Docker, KVM/Qemu, VirtualBox, Docker, KVM/Qemu, VirtualBox, VMWare oder auch Vagrant-Images.\\
VMWare, Vagrant (???)\\
\section{OpenBuildService} \section{OpenBuildService}
Der OpenBuildService ist ein OpenSource-Projekt, welches von Der OpenBuildService ist ein OpenSource-Projekt, welches von
SUSE-Entwicklern erstellt und seitdem aktiv gemaintaint wird. SUSE-Entwicklern erstellt und seitdem aktiv gemaintaint wird.
...@@ -606,9 +624,12 @@ citestyle=alphabetic ...@@ -606,9 +624,12 @@ citestyle=alphabetic
\item Die Konfigurationsdatei muss eine *.kiwi-Datei sein \item Die Konfigurationsdatei muss eine *.kiwi-Datei sein
(config.xml ist als Dateiname nicht möglich) (config.xml ist als Dateiname nicht möglich)
\end{itemize} \end{itemize}
\subsection{OBS mit anderen Distributionen} \subsection{OBS auf anderen Systemen}
Der OpenBuildService unterstützt neben SUSE-Distributionen auch 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} \section{Fazit zur Imageerstellung}
Der Werdegang der Image-Erstellung hat sich rückblickend leider als Der Werdegang der Image-Erstellung hat sich rückblickend leider als
kritisch herausgestellt. Problematisch war hier in erster Linie die kritisch herausgestellt. Problematisch war hier in erster Linie die
......
...@@ -34,3 +34,10 @@ ...@@ -34,3 +34,10 @@
url = {https://doc.opensuse.org/projects/kiwi/doc}, url = {https://doc.opensuse.org/projects/kiwi/doc},
urldate = {2019-03-11} 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}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment