|
|
Die (in)offizielle FORWISS Software-Installations-Anleitung
Die Software Installation auf den Rechnern des FORWISS
Pools (Passau) folgt einem erprobten, auf jahrelanger Erfahrung basierenden
Schema.
Durch Einhaltung dieses Schemas wird der hohe Standard, die
Übersichtlichkeit und die unproblematische Wartung der
Softwareinstallation gewährleistet.
Dieser von den
FORWISS-Systembetreuern
entwickelte Quasistandard hat sich seit seiner Einführung
bestens bewährt.
Um das Prinzip der Softwareinstallation auch den Benutzern
deutlich zu machen, werde ich hier die Installationsprozedur
aufzeigen.
1) Das Archiv
Das FORWISS-Unix-Archiv enthält unter anderem die Sourcen
der auf den FORWISS-Rechnern installierten Software in
gepacktem Zustand.
Um das Auffinden des gewünschten Pakets so einfach und effizient
wie möglich zu gestalten, ist das Archiv hierarchisch strukturiert.
Die Unix Software, um die es sich im folgenden drehen wird,
befindet sich in
/common/lib/archive/unix
Um in den über 2000 Files nicht die Übersicht zu verlieren ist das
Archiv, wie bereits angesprochen, hierarchisch geordnet, aber der
Verzeichnissbaum ist nicht balanciert.
Die dahinterliegende Struktur ist einem Laien nur schwer
begreifbar zu machen.
Je nach Tagesform kann man für eine Software tief im Verzeichnisbaum
ein neues Unterverzeichnis anlegen oder vorhandene Pakete
umstrukturieren oder beides tun oder gar nichts.
Die Einordnung der Software erfolgt nach folgenden Kriterien:
- Hersteller
- Programme, die von GNU stammen, gehören nach
/common/lib/archive/unix/gnu .
z. B. das X-Frontend für den gnu debugger.
- Funktionalität
- Programme, die man zum Debuggen braucht, gehören nach
/common/lib/archive/unix/debugger .
z. B. das X-Frontend für den gnu debugger.
- verwendete Bibliotheken
- Programme, die mit den Bibliotheken des
X-Windows Systems gelinkt werden müssen, gehören nach
/common/lib/archive/unix/x11 .
Z. B. das X-Frontend für den gnu debugger.
- sonstige Merkmale
- Dabei handelt sich um Kriterien, die SIE sowieso nicht
wissen wollen.
Nun gibt es Fälle, in denen die Einteilung nicht so einfach ist,
weil Software unter mehrere Rubriken fällt.
Z. B. paßt der g++ Compiler in gnu , weil er von GNU
ist, aber auch in languages , weil er ein Compiler ist.
In diesen Fällen streiten
sich die Systembetreuer kurz und legen das Paket dann in ein beliebiges
Verzeichnis.
Das ist aber nicht weiter tragisch, da die Archivstruktur sowieso ständig
modifiziert wird und das File somit nicht lange dort liegen bleibt.
Auf lange Sicht gesehen verteilen sich alle Files gleichmäßig über das
Archiv.
2) Die Sourcen (/common/lib/source )
Hat man das Paket an einen passenden Platz ins Archiv gelegt, kann
man mit der eigentlichen Installation beginnen.
Dazu sucht man sich zuerst einmal einen passenden Platz in
/common/lib/source
/common/lib/source
gliedert sich in Unterverzeichnisse.
Jede Software wird in einem der Unterverzeichnisse ausgepackt.
Die Auswahl des Unterverzeichnisses erfolgt nach ähnlichen
Kriterien wie die Auswahl des Ablageplatzes im Archiv.
Es ist allgemein üblich, bei der Wahl des Verzeichnisses
darauf zu achten, daß man nicht nach dem gleichem Schema vorgeht
wie in /common/lib/archive .
Also:
Ein Paket, das im Archiv unter /common/lib/archive/unix/gnu/...
steht, sollte, wenn irgend möglich nicht in
/common/lib/source/gnu ausgepackt werden, sondern z. B.
in /common/lib/source/x11 .
Da auf Softwarepakete, wie oben angedeutet, im allgemeinen
mehrere Kriterien zutreffen, läßt sich das aber praktisch immer
bewerkstelligen.
Da man auch spätere Generationen über seine Leistung informieren
will, legt man in dem zugehörigen INSTALL
Verzeichnis ein File an, in dem man seine Tätigkeiten protokolliert.
Das wichtigste in diesem File sind die persönlichen Angaben
über den Installateur. Die Beschreibung der Software beschränkt sich
meist auf den Namen. Details stehen sowieso in der Manpage.
Die Felder über die Lage des Pakets im Archiv läßt man am besten leer.
Wie ich oben schon erwähnt habe, ist die Archivstruktur sehr dynamisch
und so wäre eine Angabe sowieso in wenigen Tagen überholt.
Im weiteren Verlauf der Installation protokoliert man die wesentlichen
Schritte knapp und die unwichtigen ausführlich.
Danach hat man zum ersten mal die Möglichkeit, die Sourcen zu bewundern
und zu konfigurieren. Modifikationen an dieser Stelle
vorzunehmen, ist sehr effizient, da sich die Änderungen
auf alle Architekturen auswirken.
Gemeinhin wird dies aber nicht gemacht, da sich dadurch die
zur Installation benötigte Zeit stark verkürzt, und Sysops werden
bekanntlich stundenweise bezahlt.
Dies ist auch der passende Ort, um der Arbeitslosigkeit entgegenzuwirken.
Was man hier zerkonfiguriert, kann man mehrmals reparieren.
3) Der »Public« Bereich
Wenn die Sourcen in /common/lib/source vorhanden
sind, kann man sich an den 3. Schritt der Installation machen.
Diese findet in
/public/projects
statt.
/public/projects ist genau so strukturiert wie
/common/lib/source .
Diese Konsistenz ist unerwartet und hat schon manchen, der die FORWISS
Installation kennt, sehr erstaunt.
Also nochmal: Wenn man die Sourcen in
/common/lib/source/[paket]
ausgepackt hat, macht man in
/public/projects/[paket]
weiter.
Dort legt man dann ein Unterverzeichnis an.
Um sich nicht den Ruf zu erwerben, einfallslos zu sein,
wählt man dazu einen Verzeichnisnamen, der leicht von dem in
/common/lib/source/
abweicht.
Heißt das Verzeichnis in
/common/lib/source/ beispielsweise
xlock kann man es jetzt
Xlock oder xLock nennen.
Auch das Anhängen oder Weglassen von Versionsbezeichnungen ist
sehr beliebt. Diese lassen sich wahlweise durch `.', `-' oder
`_' vom Namen trennen.
So erhält man dann z. B.
Xlock-2.34 ,
Xlock_2.34 ,
XLock.2.34 ,
xlock-2.34 , ...
Durch konsequentes Ausnutzen all dieser Möglichkeiten läßt sich
für jede Architektur ein individueller Verzeichnisname finden
und sich so die Inkompatibilität der verschiedenen Architekturen
wiederspiegeln.
Eine Softwareinstallation ist schließlich und endlich auch
ein ästhetisches Werk.
In diesem Verzeichnis legt man dann mittels mkshadow
einen Schattenbaum des Paketes in
/common/lib/source/
an.
Jetzt kann man architekturabhängige Änderungen, die man versehentlich in
/common/lib/source/
gemacht hat, wieder rückgängig machen und neue architektur(un)abhängige
Hacks hinzufügen.
Hat man das Paket hinreichend vorbereitet, wird man versuchen, es
zu übersetzen. Der anschließende Kampf zwischen Mensch und
Compiler läßt sich mit Worten nur schwer beschreiben und wird daher
im INSTALL File durch die schlichte Zeile
make
symbolisiert.
4) Die Installation
Wenn der Kampf beendet ist und man ein File erhalten hat, das vorgibt,
ausführbar zu sein, kann man zum letzten Schritt der Installation
schreiten.
Eine Überprüfung des Programms auf Funktionsfähigkeit findet
prinzipiell nicht statt. Dafür hält sich FORWISS
eine größere Anzahl Benutzer, die das Programm nach der
Installation auf Fehler untersucht.
Bei vielen Paketen enthält das Makefile die Direktive install ,
die die Installation vereinfacht. Tippt man
make install
beginnt
make
mit der Installation.
Oft stellt man erst jetzt fest, daß irgendwo
in der Konfiguration ein Fehler gemacht wurde, weil
make
Teile des Paketes in Verzeichnisse kopiert, wo sie definitiv nichts
zu suchen haben.
Hier hilft nur ein beherzter Druck auf ^C ,
um das Schlimmste zu verhindern.
Nur der Reaktionsgeschwindigkeit der FORWISS Sysops ist es zu verdanken,
daß bisher noch keine wesentlichen Daten zerstört wurden.
Da bei FORWISS die Installationsmechanismen individuell an
die Architektur jedes Rechners angepaßt wurden, muß man jetzt, je nach
Architektur, noch install-sw starten oder auch nicht.
Schlußwort
Ich hoffe, daß ich Ihnen die Philosophie, die hinter der
Softwareinstallation bei FORWISS steht, deutlich machen konnte.
Ihnen dürfte jetzt klar geworden sein, daß es sich bei der FORWISS
Softwareinstallation um ein Meisterwerk handelt,
das in der westlichen Welt seinesgleichen sucht.
Durch klare Strukturierung, überlegenes Design und
praxiserprobte Stabilität des Installationskonzepts
und nicht zuletzt den selbstlosen Einsatz der hervorragend
ausgebildeten Sysops können wir, nicht ohne Stolz, behaupten,
in der Softwareinstallation weltweit führend zu sein.
Ihr Sysop
Alle Rechte vorbehalten.
|