Linux Live Derivat

  • Published on
    19-Jun-2015

  • View
    151

  • Download
    0

Embed Size (px)

DESCRIPTION

Erstellung eines Linux Live Derivates

Transcript

<p>Fachrichtung Wirtschaftsinformatik</p> <p>Erste Projektarbeit(Bearbeitungszeitraum: 01.07.2009 bis 21.08.2009)</p> <p>Erstellung eines Linux-Derivates fr Public-Browsing-PCs</p> <p>Clemens RieseKurs: WWI08D (Studiengangsleiter: Prof. Dr. Jrg Baumgart)</p> <p>Ausbildungsbetrieb:</p> <p>SAS Institute GmbHAbteilung: Rechenzentrum Firmenbetreuer: Konstantinos Karpouzos 06221 415-1345 Konstantinos.Karpouzos@ger.sas.com</p> <p>Adobe R , Reader R und Flash R sind entweder geschtzte Warenzeichen oder eingetragene Warenzeichen von Adobe Systems Incorporated in den USA und/oder anderen Lndern. Microsoft R und Windows R sind entweder geschtzte Warenzeichen oder eingetragene Warenzeichen der Microsoft Corporation in den USA und/oder anderen Lndern.</p> <p>InhaltsverzeichnisAbkrzungsverzeichnis Listingsverzeichnis Abbildungsverzeichnis 1 Einleitung 2 Anforderungsspezikation 2.1 Der IST-Zustand . . . . . . . . . . . . . . . . 2.2 Der SOLL-Zustand . . . . . . . . . . . . . . . 2.2.1 Anforderungen Derivat . . . . . . . . . 2.2.2 Anforderungen Entwicklungsumgebung 2.3 Durchfhrbarkeit . . . . . . . . . . . . . . . . 2.4 Abschlieende Worte . . . . . . . . . . . . . . III V VII 1 3 3 3 3 4 4 4 5 5 6 6 6 7 7 7 8 9 9 10 10 11 11 15 19 19 20 20 20</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>. . . . . .</p> <p>3 Entwurf 3.1 Als Grundlage dient Ubuntu 9.04 . . . . . . . . . 3.2 Alternative zum Desktopmanager Gnome . . . . . 3.3 Firefox - Zugriskontrolle und Modikation . . . . 3.3.1 Kiosk-Oberche fr Firefox . . . . . . . . 3.3.2 Korrekte Darstellung von Internetinhalten 3.4 Modikation von Boot-Splash und USplash . . . . 3.5 Bildschirmschoner . . . . . . . . . . . . . . . . . . 3.6 Abschlieende Worte . . . . . . . . . . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>. . . . . . . .</p> <p>4 Implementierung und Test 4.1 Entwicklungsumgebung . . . . . . . . . . . . . . . . . 4.2 Reconstructor . . . . . . . . . . . . . . . . . . . . . . 4.3 Beta-Phase . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Ersetzung von Gnome Desktop Manager durch 4.3.2 Modikation von Firefox . . . . . . . . . . . . 4.3.3 Anpassung Boot-Splash und USplash . . . . . 4.3.4 Derivatgre unter 700 MB . . . . . . . . . . 4.3.5 Bildschirmschoner . . . . . . . . . . . . . . . . 4.3.6 Abschluss der Beta-Phase . . . . . . . . . . . 4.4 RC-Phase . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 xmodmap . . . . . . . . . . . . . . . . . . . . I</p> <p>. . . . . . . . . . . . . . . . . . Openbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .</p> <p>. . . . . . . . . . .</p> <p>. . . . . . . . . . .</p> <p>. . . . . . . . . . .</p> <p>. . . . . . . . . . .</p> <p>II</p> <p>INHALTSVERZEICHNIS 4.4.2 SQUID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abschlieende Worte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 23 IX XIII XV XVII XVII XX XXI XXIII XXIV XXIV XXV XXV XXV XXVI XXXI XXXIII</p> <p>4.5</p> <p>5 Zusammenfassung und Ausblick A Listings B Pakete Entwicklungsumgebung C Pakete Derivat D Anleitungen D.1 Erstellung einer Minimal-CD . . . . . D.2 Anpassung Boot-Splash . . . . . . . . . D.3 Anpassung USplash . . . . . . . . . . . D.4 Startscript fr Firefox . . . . . . . . . D.5 xmodmap . . . . . . . . . . . . . . . . D.6 Kiosk-Oberche fr Firefox . . . . . . D.7 Installation von Software . . . . . . . . D.7.1 Adobe Flash und Adobe Reader D.7.2 Java . . . . . . . . . . . . . . . D.8 Vernderte bzw. neuerstellte Dateien . Glossar Literaturverzeichnis</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>. . . . . . . . . .</p> <p>Abkrzungsverzeichnisapt . . . . . . . . . . . . . . bash . . . . . . . . . . . . . GDM . . . . . . . . . . . . GUI . . . . . . . . . . . . . InitRD . . . . . . . . . . . MB . . . . . . . . . . . . . . png . . . . . . . . . . . . . . px . . . . . . . . . . . . . . . RC . . . . . . . . . . . . . . XML . . . . . . . . . . . . Advanced Packaging Tool Bourne Again Shell Gnome Desktop Manager Graphical User Interface initial ramdisk Megabyte Portable Network Graphics Pixel Release Candidate Extensible Markup Language</p> <p>III</p> <p>IV</p> <p>ABKRZUNGSVERZEICHNIS</p> <p>Listingsverzeichnis4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 A.1 A.2 A.3 D.1 D.2 D.3 D.4 D.5 D.6 D.7 Inhalt /etc/skel/.xinitrc . . . . . . . . . . . . . . . . . Inhalt /etc/skel/.bash_prole . . . . . . . . . . . . . . Inhalt /usr/share/applications/sas_custom/_start.sh Ergnzung von /etc/xdg/openbox/autostart.sh . . . . . nderung an /etc/refox-3.0/prole/localstore.rdf . . . nderung an /etc/refox-3.0/prole/prefs.js . . . . . . Genderte isolinux.cfg . . . . . . . . . . . . . . . . . . Inhalt /isolinux/lang . . . . . . . . . . . . . . . . . . . Auszug genderte panel.inc . . . . . . . . . . . . . . . Auszug genderte de.po . . . . . . . . . . . . . . . . . Genderte text.cfg . . . . . . . . . . . . . . . . . . . . Zu lschende Fragmente aus xubuntu-usplash-theme.c . Ergnzung von /etc/xdg/openbox/autostart.sh . . . . . Genderte Zeile 33 von /etc/skel/.xscreensaver . . . . . Ergnzung von /etc/xdg/openbox/autostart.sh . . . . . Inhalt /etc/xdg/openbox/autostart.sh . . . . . . . . . Inhalt /etc/refox-3.0/prole/localstore.rdf . . . . . . . Inhalt /etc/skel/.xscreensaver . . . . . . . . . . . . . . /etc/skel/.bash_prole . . . . . . . . . . . . . . . . . . /etc/skel/.xinitrc . . . . . . . . . . . . . . . . . . . . . /etc/skel/.xscreensaver . . . . . . . . . . . . . . . . . . /etc/refox-3.0/prole/localstore.rdf . . . . . . . . . . /etc/refox-3.0/prole/prefs.js . . . . . . . . . . . . . . /etc/xdg/openbox/autostart.sh . . . . . . . . . . . . . /etc/xdg/openbox/menu.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 13 13 14 14 15 15 16 16 17 18 20 20 21 IX X XI XXVI XXVI XXVI XXVII XXIX XXIX XXX</p> <p>V</p> <p>VI</p> <p>LISTINGSVERZEICHNIS</p> <p>Abbildungsverzeichnis4.1 4.2 4.3 Ubuntu 9.04 Boot-Splash . . . . . . . . . . . . . . . . . . . . . . . . . . Vernderter Boot-Splash . . . . . . . . . . . . . . . . . . . . . . . . . . Vernderter USplash . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 17 19</p> <p>VII</p> <p>VIII</p> <p>ABBILDUNGSVERZEICHNIS</p> <p>Kapitel 1 EinleitungDurch den Umstand, dass das SAS Institute ein groer Anbieter von Business-IntelligenceLsungen ist, werden in unserem Hause regelmig Schulung fr unsere Kunden abgehalten. Natrlich sollen unsere Kunden dabei nicht den Komfort missen, ihre eMails abfragen zu knnen und ggf. auch an diese eMails angehngte Dokumente nen zu knnen. Aber nicht nur wegen des Komforts unserer Kunden ist eine solche Mglichkeit empfehlenswert sie trgt auch zu einem positiven Gesamteindruck des Schulungteilnehmers ber das Unternehmen bei. Die Mglichkeit des freien Zugangs zu dem jeweilen eMail-Postfach war zwar bisher mglich und drohte aber auf Grund des hohen Wartungsaufwand zu scheitern. Mit der Erstellung eines eigenen Linux-Derivates, welches ein reines Live-System ist, wird versucht diese Mglichkeit weiterhin aufrecht zu erhalten. Dabei wird mit der parallelen Erstellung einer Entwicklungsumgebung auerdem noch dem Umstand Rechnung getragen, dass es mglich sein muss, das Derivat zu warten und ggf. entsprechenden Neuerungen anzupassen.</p> <p>1</p> <p>2</p> <p>KAPITEL 1 - EINLEITUNG</p> <p>Kapitel 2 AnforderungsspezikationDieses Kapitel befasst sich sowohl mit der Analyse der gegenwrtigen Situation als auch der angestrebten Situation. Es wird auf wichtige Kriterien eingegangen, die durch die bisherige Umsetzung nicht oder nur teilweise realsiert werden knnen und bei der neuen Lsung essenziell sind.</p> <p>2.1</p> <p>Der IST-Zustand</p> <p>Zum gegenwrtigen Zeitpunkt ist unseren Kunden die Mglichkeit des freien Zugangs zum Internet bzw. zu den jeweiligen eMail-Postfchern durch entliche Computer mit Microsoft R Windows R gegeben. Dabei ist das Betriebssystem auf der Festplatte installiert, was ein hohes Sicherheitsrisiko darstellt. Um diesem Risiko entsprechend entgegenzuwirken wurden Manahmen und Richtlinien implementiert, die es auf ein vertretbares Level senken. Allerdings mssen diese Vorkehrungen stndig gewartet werden, was zu einem hohen Aufwand fhrt. Dieser erhht sich zustzlich noch dadurch, dass bei etwaigen Updates die Sicherheitsmanahmen und -richtlinien erst auer Kraft gesetzt werden mssen um eine Installation durchfhren zu knnen und danach wieder entsprechend hergestellt werden mssen.</p> <p>2.2</p> <p>Der SOLL-Zustand</p> <p>Mit Hilfe des Projekts Erstellung eines Linux-Derivates fr Public-Browsing-PCs soll ein SAS-eigenes Linux-Derivat erstellt werden, wodurch der Wartungsaufwand bei gleicher Sicherheit wie der bisherigen minimiert wird. Als Ergnzung dazu soll eine Entwicklungsumgebung geschaen werden, die es ermglicht sptere Wartungs- und Integrationsarbeiten durchzufhren. ber beides soll zudem eine entsprechende Dokumentation erstellt werden.</p> <p>2.2.1</p> <p>Anforderungen Derivat</p> <p>Das Derivat sollte folgende Kriterien erfllen: als Grundlage des Derivates soll die Linux-Destribution Ubuntu (Version 9.04) dienen 3</p> <p>4</p> <p>KAPITEL 2 - ANFORDERUNGSSPEZIFIKATION es soll nur der Zugri auf den Browser Firefox mglich sein (falls dieser geschlossen wird, soll er automatisch wieder ausgefhrt werden) die korrekte Darstellung von Inhalten im Internet soll sichergestellt sein sowohl der Boot-Splash als auch der USplash sollen modiziert werden die Privatsphre des Nutzer soll geschtzt werden nach elf Minuten Inaktivitt soll sich ein Bildschirmschoner einschalten</p> <p>Zustzlich soll ggf. der Proxy-Server SQUID eingebunden werden und mittels eines ContentFilters der Zugri auf bestimmte Websites beschrnkt bzw. unterbunden werden.</p> <p>2.2.2</p> <p>Anforderungen Entwicklungsumgebung</p> <p>Diese Entwicklungsumgebung sollte folgende Spezikationen einhalten: Ubuntu (Version 9.04, Desktop) als Betriebssystem 80 GB als Root-Partition 4 GB als Swap-Partition Rest als Backup-Partition zu installierende Software Reconstructor Adobe R Flash R Adobe R Reader R Entgegen einiger oben genannter Spezikationen ist alternativ auch darber zu entscheiden, ob die Entwicklungsumgebung selber als Live-System umgesetzt werden kann/soll.</p> <p>2.3</p> <p>Durchfhrbarkeit</p> <p>Die Durchfhrung dieses Projekts ist mglich, da es einerseits bereits bestehende Lsungen (z. B. Mophix1 ) gibt, die dem Ziel des Projekts sehr hnlich sind, und andererseits die hohe Flexibilitt und Anpassbarkeit von Linux eine passende Grundlage zur Realisierung des Projekts bilden.</p> <p>2.4</p> <p>Abschlieende Worte</p> <p>Durch die genannten Kriterien wurde Umfang des Projekts grob festgelegt und durch die Durchfhrbarkeitsanalyse ein entsprechender Zeitraum deniert, in dem die Umsetzung des Projekts stattnden soll. Im folgenden Kapitel werden die Kriterien des Projekts weiter verfeinert und die Entwicklungsumgebung entsprechend theoretisch konzipiert.1</p> <p>http://www.morphix.org/</p> <p>Kapitel 3 EntwurfUm das Projekt erfolgreich abschlieen zu knnen ist einerseits eine genaue Analyse der Problemstellung bzw. der Vergleich zwischen IST- und SOLL-Zustand (siehe Seite 3, Kapitel 2) wichtig, anderseits ist aber auch ein grndlicher Entwurf des Gesamtkonzepts notwendig. Die bei diesem Projekt zu klrenden Elemente sind in der Analysephase errtert worden und sollen nun in einem Entwurf konkretisiert werden.</p> <p>3.1</p> <p>Als Grundlage dient Ubuntu 9.04</p> <p>Die Entscheidung die Linux-Destribution Ubuntu als Grundlage des zu erstellenden Derivats heranzuziehen wurde auf Grund der hohen Kompatibilitt und Benutzerfreundlichkeit gefllt. Die aktuelle Version von Ubuntu ist 9.04 Codename Jaunty Jackalope. Diese ist bereits in der Lage die unterschiedlichen Hardware-Komponenten eines Computers weitestgehend selber zu kongurieren und dies auch auf einem breiten Spektrum von untersttzter Hardware. Durch diesen Umstand ist es mglich sich nur noch auf die eigentliche Aufgabenstellung also die Erstellung eines eigenen Derviates zu konzentrieren, da grundlegende bzw. zum Funktionieren des Derivates vorauszusetzende Eigenschaften als funktionierend angesehen werden knnen. Ein weiteres Argument fr die Verwendung Ubuntu ist, dass es sich einfach warten und updaten lsst, was fr sptere Aufgaben einen groen Vorteil gegenber anderen Distributionen darstellt. Des Weiteren wird Ubuntu 9.04 verwendet, da es sich hierbei um eine der groen Linux-Distributionen handelt und somit auch der nachhaltige Support von der Entwicklerseite gewhrleistet ist. Dies ist nicht zuletzt dadurch mglich, dass Ubuntu von der Firma Canonical Ltd. gesponsort wird. Auch hat Ubuntu eine groe Community, die sich bei der Beantwortung von Fragen als sehr hilfreich erweisen kann. Im Rahmen des Projekts soll die Ubuntu-Installations-CD (welche selber schon als LiveSystem eingesetzt werden kann) auf die festgesetzten Kriterien beschrnkt werden. Ein wichtiger Punkt, der in diesem Zusammenhang nicht aus den Augen verloren werden darf, ist, dass es sich bei dem Live-System-Medium um eine CD handeln soll und somit ein Speicherverbrauch von 700 Megabyte (kurz: MB) die Obergrenze darstellt. 5</p> <p>6</p> <p>KAPITEL 3 - ENTWURF</p> <p>3.2</p> <p>Alternative zum Desktopmanager Gnome</p> <p>In Linux (und somit auch in Ubuntu) wird zwischen zwei Graphical-User-Interface-Typen (kurz: GUI-Typen) unterschieden - dem Desktopmanager oder dem Fenstermanager. Ein Desktopmanager bernimmt die Verwaltung der Fenster und stellt auerdem noch eine Taskbar und den Desktop, auf dem Dokumente und hnliches abgelegt werden knnen, bereit. Im Gegensatz dazu bietet ein Fenstermanager nur die Funktionalitt der Fensterverwalung und ggf. eines einfachen Mens. Zum Teil gibt es auch Kombinationen der beiden GUI-Typen, wie es z. B. bei Gnome der Fall ist - dort enthlt der Desktopmanager Gnome den Fenstermanager Metacity. Allein aus dem unterschiedlichen Funktionsumfang ist zu erkennen, dass ein Fenstermanager ressourcensparender (sowohl bei der Speicherbelegung als auch bei der Performance) agiert als ein Desktopmanager. Deshalb wird in dem Derivat eine Alternative zum Desktopmanager Gnome verwendet. Bei einem Vergleichstest zw...</p>