18.2 Paket Dienstprogramme


Es gibt vier Hauptdienstprogramme für das Paketmanagement. Sie gestatten das Installieren, Entfernen und Aktualisieren von Paketen.

18.2.1 pkgtool


pkgtool(8) ist ein menügeführtes Programm zum Installieren und Entfernen von Paketen. Das Hauptmenü ist in Abb. 18-1 zu sehen.

Abb. 18-1. Pkgtool's Hauptmenü
image

Die Auswahl gestattet die Installation aus dem aktuellen oder einem anderen Verzeichnis oder von Diskette. Nach der Auswahl der Installationsmethode, sucht pkgtool den Speicherort gültiger Pakete für die Installation.

Genauso kann man sich eine Liste der installierten Pakete, wie in Abb. 18-2 gezeigt, anzeigen lassen.

Abb. 18-2. Pkgtool Anzeigemodus
image

Wenn ein Paket entfernt werden soll, wählt man dazu die remove Option aus. Es wird dann ein Auswahlliste aller installierten Pakete vorgegeben. Nach Markieren der zu löschenden Pakete und Betätigung von OK löscht pkgtool diese.

Einige Anwender ziehen dieses Dienstprogramm den Kommandozeilenprogrammen vor. Jedoch muss angemerkt werden, dass die Kommandozeilenprogramme deutlich mehr Möglichkeiten bieten. Insbesondere die Aktualisierung von Paketen ist nur mit den Kommandozeilenprogrammen möglich.

18.2.2 installpkg


installpkg(8) installiert neue Pakete im System. Die Syntax ist wie folgt:

# installpkg option package_name


Drei Optionen sind für installpkg verfügbar. Nur eine Option kann je Aufruf benutzt werden.

Tabelle 18-1. installpkg Optionen

OptionWirkung
-mFührt ein makepkg Operation im aktuellen Verzeichnis aus.
-warnZeigt was passieren würde, wenn man das angegebene Paket installieren würde. Nüztlich für Produktionssysteme, da man genau sehen kann was passiert bevor man etwas installiert.
-rRekursive Installation aller Pakete im aktuellen Verzeichnis und allen Unterverzeichnissen. Der Paketname kann Platzhalter enthalten und kann damit als Suchmaske während rekursiven Installation dienen.


Wenn man die ROOT Umgebungsvariable for dem Aufruf von installpkg setzt, so wird dieser Pfad als root Verzeichnis benutzt. Das ist nützlich für das Einrichten neuer Laufwerke als root Verzeichnis. Diese werden typischerweise nach /mnt oder in ein anderes Verzeichnis als / gemounted.

Der Eintrag in die Paketdatenbank wird unter /var/log/packages abgelegt. Der Eintrag ist tatsächlich nur eine einfache Textdatei, je eine für jedes Paket. Wenn das Paket über ein postinstall Script verfügte, so wird dieses unter /var/log/scripts abgelegt.

Man kann mehrere Pakete oder Platzhalter anstelle des Paketnamens angeben. Es sei darauf hingewiesen, dass installpkg nicht davor warnt ein bereits installiertes Paket zu überschreiben. Es installiert einfach über das vorhergehende. Wenn man absichern will, das vorhandene Dateien von vorhergehenden Paketen sicher entfernt werden, muß man upgradepkg benutzen.

18.2.3 removepkg


removepkg(8) entfernt installierte Pakete aus dem System. Die Syntax ist wie folgt:

# removepkg option package_name


Vier Optionen sind für removepkg verfügbar. Nur eine Option kann je Aufruf benutzt werden.

Tabelle 18-2. removepkg Optionen

OptionWirkung
-copyDas Paket wird in das Paketsicherungsverzeichnis kopiert. Dort wird der Baum des Originalpaketes erzeugt, ohne es zu entfernen.
-keepSichert die während der Installation erzeugten temporären Dateien. Wirklich nützlich nur für Debugging Zwecke.
-preserveDas Paket wird entfernt, aber gleichzeitig in das Paketsicherungsverzeichnis kopiert.
-warnZeigt, was passieren würde, wenn man das Paket entfernt.


Wenn man die ROOT Umgebungsvariable for dem Aufruf von removepkg setzt, so wird dieser Pfad als root Verzeichnis benutzt. Das ist nützlich für das Einrichten neuer Laufwerke als root Verzeichnis. Diese werden typischerweise nach /mnt oder ein in anderes Verzeichnis als / gemounted.

removepkg prüft die anderen installierten Pakete und entfernt nur Dateien, die allein zu dem angegebenen Paket gehören. Es durchsucht auch das Postinstallationsscript des angegebenen Pakets und entfernt gegebenefalls durch das Paket erzeugte symbolische Links.

Während des Entferenes wird ein Statusbericht angezeigt. Nach dem Entfernen wird der Paketdatenbankeintrag nach /var/log/removed_packages und das Postinstallationsscript nach /var/log/removed_scripts verschoben.

Wie für installpkg kann man für mehrere Pakete auch wieder Platzhalter für den Paketnamen benutzen.

18.2.4 upgradepkg


upgradepkg(8) aktualisiert ein installiertes Slackwarepaket. Die Syntax ist wie folgt:

# upgradepkg package_name


oder

# upgradepkg old_package_name%new_package_name


upgradepkg geht dabei so vor, dass zuerst das neue Paket installiert und dann das alte entfernt wird, so dass die alten Dateien nicht mehr länger im System herumliegen. Wenn der Name des aktulisierten Pakets sich geändert hat, kann man die Prozentzeichensyntax benutzen um den alten Paketnamen (jenes welches installiert war) und den neuen Paketnamen (jenes auf welches aktualisiert wird) anzugeben.

Wenn man die ROOT Umgebungsvariable for dem Aufruf von upgradepkg setzt, so wird dieser Pfad als root Verzeichnis benutzt. Das ist nützlich für das Einrichten neuer Laufwerke als root Verzeichnis. Diese werden typischerweise nach /mnt oder ein in anderes Verzeichnis als / gemounted.

upgradepkg ist nicht unfehlbar, daher sollte man seine Konfigurationsdateien immer sichern. Wenn diese gelöscht oder überschreiben werden, benötigt man eine Kopie für eventuelle Reparaturarbeiten.

Wie für installpkg und removepkg kann man für mehrere Pakete auch wieder Platzhalter für den Paketnamen benutzen.

18.2.5 rpm2tgz/rpm2targz


Der Red Hat Packager Manager ist heutzutage ein weitverbreitetes Paketmanagementsystem. Viele Softwaredistributoren bieten ihre Produkte im RPM Format an. Da es nicht unser natives Format ist, empfehlen wir nicht darauf zu bauen. Ein Teil der Software (sogar die Quellen) ist jeoch nur als RPM verfügbar.

Wir stellen ein Programm zur Verfügung, welches RPM Pakete in unser natives .tgz Format konvertiert. Dies erlaubt das Entpacken des Paketes (z.B. mit explodepkg) in ein temporäres Verzeichnis und die Untersuchung seines Inhalts.

Das rmp2tgz Programm erzeugt Slackware Pakete mit einer .tgz Endung, während rpm2targz Archive mit einer .tar.gz Endung erzeugt.
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki