Wenn es um MiNT geht, fĂ€llt immer wieder der Begriff "Sparemint". Vielen Anwendern ist nicht klar, worum es sich dabei handelt. Benjamin Kirchheim stellt Ihnen das Paket in einer PraxiseinfĂŒhrung vor.
Paketverwaltung unter MiNT
Jeder kennt das Problem. Da hat man ein Programm, das speziell fĂŒr FreeMiNT ist, und nun muss es entpackt und installiert werden. Das gestaltet sich oft nicht einfach, auch die Ăbersicht, welche Programme es gibt und wo man sie bekommt und welches die aktuelle Version ist, fehlt. Jedoch hatten einige FreeMiNT-Köpfe (Guido Flohr und Frank Naumann) Mitte 1999 die Idee, den Redhat Paket Manager (RPM), das KernstĂŒck jeder SuSE und Redhat Linux-Distribution, fĂŒr FreeMiNT einzusetzen. Das Kind bekam den Namen âSparemintâ, inzwischen finden sich dort ĂŒber 300 Pakete.
Mit dem Redhat Paket Manager ist es möglich, Softwarepakete auf einfachste Weise zu installieren, zu aktualisieren und jederzeit vollstĂ€ndig zu deinstallieren. DafĂŒr verwaltet der Redhat Paket Manager eine Datenbank, in der gespeichert wird, welche Datei zu welchem Paket gehört. Auch die Pfade dieser Dateien und die Versionsnummer des Pakets sind in dieser Datenbank gesichert. So ist es jederzeit möglich, durch Suchabfragen herauszufinden, wo die Dateien eines Pakets sind oder aber zu welchem Paket eine Datei gehört.
Installation
Die einzige HĂŒrde ist ein gewisses Basissystem, das man braucht, um den Redhat Paket Manager zu installieren. Dieses umfasst ein aktuelles FreeMiNT, die bash und noch ein paar andere Tools. Dies soll im folgenden kurz beschrieben werden.
Benötigt wird zum einen ein minix- oder besser ein ext2-Filesystem. Nur solch ein Filesystem besitzt die benötigten Unix-Eigenschaften und FunktionalitĂ€ten, die zwingend fĂŒr den Betrieb von rpm vonnöten sind. Zudem ist das ext2-Filesystem deutlich schneller und leistungsfĂ€higer als das vom TOS bekannte FAT-Filesystem. Dann braucht man noch ein paar grundlegende Filesystemstrukturen, Unterordner und so weiter, damit rpm installiert werden kann. Wem das alles zu kompliziert ist, sollte einen Blick auf EasyMiNT werfen (siehe unten).
Weiterhin sind gzip und tar nötig, auch cpio wird empfohlen. Alle nötigen Informationen (Installationsanleitung auf Englisch und die nötigen Archive) finden sich unter [1].
Start. Der erste auszufĂŒhrende Befehl fĂŒr rpm ist die Initialisierung der Datenbank, ohne die lĂ€uft gar nichts. In der bash wird dazu einfach "rpm -initdb" eingegeben. Danach sollten als erstes einige grundlegende Pakete installiert werden, dazu zĂ€hlen u.a. rpm selbst, bash, info und mintbin.
Befehle. Der Redhat Paket Manager ist ein mĂ€chtiges Tool, das viele Befehle kennt. Gibt man ârpm -helpâ ein, werden diese mit kurzer Beschreibung aufgelistet. Wer sich genauer informieren möchte, installiert âmanâ und âinfoâ und tippt dann einfach âman rpmâ oder âinfo rpmâ in die Shell ein. Die wichtigsten Befehle werden in diesem Artikel nun kurz und beispielhaft erklĂ€rt.
Noch eine grundlegende Sache zur Namensgebung von rpm-Paketen: Der Name eines Pakets setzt sich aus verschiedenen Teilen zusammen. Ein Beispiel:
bash-2.05-5.m68kmint.rpm
Der erste Teil, "bash", ist der Paketname. Im zweiten Teil ist die Versionsnummer angegeben, hier "2.05". ErgĂ€nzt wird diese durch die Release-Version, hier "5". Im Anschluss folgt das System, fĂŒr Sparemint ist das "m68kmint", die Dateiendung ist "rpm".
rpm -ivh bash-2.05-5.m68kmint.rpm
installiert das rpm-Paket bash. Dabei steht "i" fĂŒr Installieren, "v" fĂŒr den Verbose-Mode (rpm ist gesprĂ€chiger) und "h" fĂŒr Hash. Nach den Befehlen folgt der Name des zu installierenden Pakets mit absolutem Pfad. DrĂŒckt man Return, wird rpm gestartet und gibt den Fortschritt der Installation mittels Rauten aus. Haben diese das Zeilende erreicht, ist die Installation beendet. Dabei verhindert rpm, dass Pakete doppelt installiert werden.
Der Redhat Paket Manager verwaltet auch sogenannte AbhÀngigkeiten. So kommt es vor, dass ein Paket andere benötigt, bevor es installiert werden kann. Das wird dann angezeigt und sieht zum Beispiel so aus:
/z/sparemint/RPMS/m68kmint>rpm
-ivh tetex-1.0.6-1.m68kmint.rpm
error: failed dependencies:
tmpwatch is needed by tetex-1.0.6-1
dialog is needed by tetex-1.0.6-1
tetex-fonts = 1.0.6 is needed by tetex-1.0.6-1
Man muss zuerst tmpwatch, dialog und tetex-fonts installieren, weil tetex zwingend darauf angewiesen ist. Es passiert vor allem anfangs öfter, dass man mehrere Pakete installieren muss fĂŒr eines, das man wirklich benutzen möchte.
rpm -Uvh bash-2.05-S.m68kmint.rpm
Dieser Befehl installiert das Update des bash-Pakets. Den Befehl benutzt man, wenn zum Beispiel schon ein bash-rpm installiert ist, aber in einer Ă€lteren Version. Dabei werden die eingestellten Parameter beziehungsweise die dazugehörigen Dateien nicht mit ĂŒberschrieben, sodass die bash nicht erneut konfiguriert werden muss.
rpm -e bash
Dieser Befehl deinstalliert die bash. Wichtig ist, hierbei nur den Paketnamen, nicht jedoch die Versionsnummer und so weiter anzugeben. Dabei wird aufgepasst, dass die Bash nicht von anderen Paketen benötigt wird, denn sonst schlĂ€gt die Deinstallation wie in diesem Beispiel fĂŒr openssh fehl:
/z/sparemint/RPMS/m68kmint>rpm -e openssh
error: removing these packages would break dependencies:
openssh = 2.3.dpi-l is needed by openssh-clients-2.3.0pl-1
Der Redhat Paket Manager verfĂŒgt ausserdem ĂŒber mĂ€chtige Abfrageroutinen fĂŒr die Datenbank, hier sei auch nur ein kleiner Teil beispielhaft aufgefĂŒhrt. Abfragen werden grundsĂ€tzlich mit der Option "-q" gemacht, wobei eine genauere Definition der AbfragewĂŒnsche erforderlich ist.
rpm -qa
Dies gibt die Namen aller installierten rpm-Pakete inklusive deren Versionsnummer aus.
rpm -ql hostename
Dies gibt alle zum Paket "hostename" gehörenden Dateien mit absolutem Pfad aus.
/>rpm -ql hostname /bin/dnsdomainname
/bin/domainname /bin/hostname /usr/doc/hostname-2.07 /usr/doc/hostname-
2.07/COPYRIGHT /usr/share/man/manl/ dnsdomainname.1.gz /usr/share/man/manl/
domainname.1.gz /usr/share/man/manl/ hostname.1.gz
In diesem Fall kann man zum Beispiel auch gleich sehen, dass eine Anleitung zu hostname in Form einer Manualpage fĂŒr "man" vorliegt. Möchte man nur die Versionsnummer eines installierten Pakets wissen, ist folgendes einzugeben:
/>rpm -q hostname hostname-2.07-1
Zudem kann die Abfrage nach den Dateien eines Pakets auch umgedreht werden. Gibt man "rpm -qf absoluter Pfad und Dateiname>" ein, bekommt man den dazugehörigen Paketnamen:
/>rpm -qf /usr/share/man/manl/ hostname.l.gz hostname-2.07-1
So gibt es noch viele weitere Abfragemöglichkeiten, unter anderem lÀsst sich mit ihnen auch feststellen, ob zum Beispiel Dateien eines Pakets gelöscht wurden oder fehlen.
Auf der Sparemint-Homepage befinden sich auch noch einige interessante Tools, so zum Beispiel ein Skript, das automatisch feststellt, ob von den installierten Paketen inzwischen neuere Versionen vorliegen und diese gegebenenfalls automatisch installiert. Der Redhat Paket Manager selbst kann auch direkt Pakete aus dem Internet oder einem anderen Netzwerk installieren. Dazu wird einfach die komplette Adresse des Pakets angegeben, rpm lĂ€dt dieses dann runter und installiert es. Voraussetzung dafĂŒr ist natĂŒrlich eine bestehende Internetverbindung ĂŒber MiNTNet.
AuĂerdem befinden sich auf der Sparemint-Homepage Listen mit den vorhanden rpm-Paketen sowie Informationen zu den jeweiligen Paketen. Auch die benötigten Archive zur Installation des Redhat Paket Manager und natĂŒrlich eine ausfĂŒhrliche Installationsanleitung (auf Englisch) sind dort zu finden.
Schlusswort
Sparemint versteht sich nicht als komplette Distribution, sondern mehr als wachsende Sammlung von Paketen. Ein gestecktes Ziel, die einfache Installation von FreeMiNT/Sparemint, wurde vor kurzem erreicht. Mit der EasyMiNT-Distribution ist es erstmals auch fĂŒr AnfĂ€nger möglich, ein Sparemint-System zu installieren. Das Motto lautet: âZuerst installieren, dann lernenâ. EasyMiNT wird in einer der nĂ€chsten Ausgaben der st-computer genauer vorgestellt, im Internet gibt es die kostenlose Distribution unter [2].
Bleibt noch zu sagen, dass Sparemint und alle Pakete kostenlos sind, sie unterliegen meistens der GNU Public License. Besonders verlockend erscheinen Pakete wie teTeX, GCC und diverse Entwicklertools mit vielen LIBs, die das Programmieren vereinfachen. Weiterhin gibt es diverse Tools wie sh-utils, diff, fileutils und natĂŒrlich die ganzen Netzwerksachen wie wget, lynx, openssh, apache, rsync, ftp, pine, mutt und so weiter. Insgesamt sind es 319 Pakete (Stand: 04.12.2001). Mittels des Xservers fĂŒr GEM [3] ist es auch möglich, viele rpm-Pakete mit grafischer OberflĂ€che zu benutzen.
Vielen Dank an dieser Stelle an Frank Naumann, der immer ein offenes Ohr fĂŒr Fragen hatte.
FĂŒr alle Interessenten mit einer schwachen Internetanbindung bietet Frank Naumann einen Serversnapshot als CD an.
[1] http://sparemint.atariforge.net/
[2] http://atari.st-katharina-apotheke.de/
[3] âX11 goes GEMâ, st-computer 11-2001, Seite 24