Solaris 10  freeware
Startseite Übersicht Impressum




Solaris als Unix System faszinierte mich seit meinem Studium. Nachdem ich mein erstes Geld verdient hatte, musste eine SUN ins Haus. Mit der Zeit haben viele verschiedene Sonnen mein häusliches Arbeitszimmer durchquert. Hierzu gehörten:

  • SUN Ultra Creator 3D (UltraSparc 167MHz)
  • SUN SparcStation LX (MicroSparc 50MHz)    // ausgeliehen
  • Transtec HamStation (2x HyperSparc 100MHz)
  • SUN Ultra 5 (UltraSparcII 333MHz)
  • SUN Netra X1 (UltraSparcIIe 400MHz)
  • SUN E3000 (6x UltraSparcII 400MHz)
  • SUN Blade 2500 Silver Edition (2x UltraSparc IIIi 1.6 GHz)

Aktuell sind noch die SUN Blade und die SUN Netra X1 im Betrieb. Als Betriebssystem nutze ich ausschließlich Solaris 10. Obwohl unter Sunfreeware viele Pakete freier Software als fertige Pakete erhältlich sind, kam ich nicht umhin einige Pakete zum Aufbau meines SAMP Servers selbst zu übersetzen.

Der SAMP Server ist vom Internet aus erreichbar und bietet neben Web noch einige andere Dienste an. Um mögliche Angriffe zu erschweren, ist auf dem System nur installiert, was zum Erbringen der Dienste unbedingt erforderlich ist. Die Pakete werden auf der SUN E3000 übersetzt und dann auf dem SAMP Server installiert. Um die Pflege zu vereinfachen, werden hierfür Pakete des Solaris Paketmanagers erstellt, die sich anschließend mittels pkgadd installieren und mit pkgrm entfernen lassen.



 Erstellen von Solaris Paketen

Beim Erstellen von Solaris-Paketen sind einige Vor- und Nachbereitungen nötig, die ich im Folgenden kurz aufführe.

Um später herausfinden zu können welche Dateien alles installiert wurden, braucht man zunächst einen Zeitstempel. Am Besten erstellt man vor dem Bauen mittels touch eine Datei mit aktuellem Zeitstempel. Anschließend sollte man auch noch alle Quelldateien aktualisieren. Der Aufruf kann wie folgt aussehen.

touch /tmp/newer
find <src> | while read n; do touch n; done

Danach kann das Paket mit dem klassischen Dreisatz erstellt werden.

configure
make
make install

Beim Aufruf von configure muss darauf geachtet werden, dass die Zielverzeichnisse entsprechend gesetzt werden. Nachdem das Paket erfolgreich gebaut und installiert wurde, kann das Paket erstellt werden.

Zum Erstellen des Paketes werden nun alle installierten Dateien gesucht und eine Package-Prototypdatei erstellt werden. Dies erfolgt am Besten mittels find in den entsprechenden Verzeichnissen und dem anschließenden Aufruf von pkgproto.

find /opt/SUNWost -newer /tmp/newer > /tmp/files
find /etc -newer /tmp/newer >> /tmp/files
cat /tmp/files | pkgproto > /tmp/prototype

Alle Pakete werden in das Verzeichnis /opt/SUNWost installiert und die Konfigurationsdateien unter /etc abgelegt. Beim Zusammenstellen der Dateien und Verzeichnisse eines Paketes kann die Suche mittels find hierdurch auf dies Verzeichnisse beschränkt werden. Sollten Pakete an einem anderen Ort installiert werden, muss man den Aufruf entsprechend anpassen.

In die Package-Prototypdatei müssen anschließend noch alle root-Pfad und die pkginfo Datei hinzugefügt werden. Hierzu ist die Datei /tmp/prototype zu öffnen und entsprechend anzupassen.

i pkginfo
d none /etc 0755 root root
d none /opt 0755 root root
d none /opt/SUNWost 0755 root root

Nach dem Anpassen der Package-Prototypdatei muss die Package-Beschreibung bearbeitet werden. Hierzu legt man die Datei pkginfo an. Der Name der Datei muss identisch zu dem Eintrag in der Package-Prototypdatei sein. Die Package-Beschreibung enthält alle Informationen, die später mittels pkginfo angezeigt werden. Das folgende Listing gibt ein Beispiel für das Package perl. Eine genaue Beschreibung der einzelnen Einträge kann der man-page von pkginfo entnommen werden.

PKG=perl
NAME="Perl 5.12.4"
ARCH=sparc
VERSION=5.12.4
CATEGORY=system
VENDOR="Larry Wall and others"
EMAIL="larry@wall-net.com"
BASEDIR=/
CLASSES=application none
PSTAMP="20120107 23:46"

Letztendlich kann nun das Package erstellt und zusammengepackt werden. Hierzu sind die folgenden Kommandos auszuführen. Zunächst werden mittels pkgmk die Dateien in die Package-Struktur zusammenkopiert. Sollte in der Package-Prototypdatei ein Fehler sein, so wird dieser bei diesem Schritt angezeigt. Anschließend wird mittels pkgtrans das Package zu einer Datei zusammengepackt und mittels gzip komprimiert. Letzterer Schritt ist nur bedingt notwendig, da vor dem Installieren das Package auch wieder dekomprimiert werden muss.

pkgmk -o -r / -d /tmp -f Prototype
pkgtrans -s `pwd` <pkgname>-<version>-sol10-sparc <pkgname>
gzip <pkgname>-<version>-sol10-sparc


 Solaris freeware

Für den Aufbau des SAMP Servers habe ich zunächst ein Solaris Core System installiert. Anschließend habe ich die für mich notwendige Software hinzugefügt. Die im Folgenden aufgeführten Pakete habe ich selbst erstellt, da sie weder unter Solaris noch als freeware verfügbar waren oder sie keine für meinen SAMP Server passende Konfiguration aufwiesen.

Alle Pakete können mittels pkgadd installiert werden. Als Installationsziel wird immer /opt/SUNWost gewählt. Die Konfigurationsdatei werden unter /etc installiert. Damit lassen sich die Paket auch in einer separaten Solaris Zone installieren. Soweit möglich sind bei den Paketbeschreibungen die Abhängigkeiten angegeben.


oben
29.12.2014