PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Paketinstallation / Debian- und RPM-Pakete im Griff



redlabour
19.03.03, 18:42
Debian
Mit dselect lassen sich Debian-Pakete auswählen, installieren, konfigurieren und wieder sauber entfernen. Soweit die Kurzfassung, aber was steckt alles in und hinter diesem Programm? Zunächst einmal ist wichtig, dass im Gegensatz zu anderen Konfigurations-Tools eine festgelegte Reihenfolge der Arbeitsschritte vorgeschlagen wird. Um einzelne Pakete sauber zu installieren oder entfernen, sollten Sie keinen dieser Schritte auslassen:

Aktualisierung der verfügbaren Packages
Auswahl der Pakete zum Installieren oder Entfernen
Installation und Aktualisierung
Konfiguration (sofern erforderlich)
Deinstallieren der zu löschenden Pakete
Sobald einer dieser Arbeitsschritte erfolgreich beendet wurde, springt dselect automatisch zum nächsten Punkt weiter. Bevor Sie das Programm zum ersten Mal starten -- das geht übrigens in einem xterm genauso wie auf der Konsole --, vergewissern Sie sich, dass Sie root sind. Sollten Sie das einmal vergessen haben, werden Sie vom Programm daran erinnert: Read-only access: only preview of selections is available!



--------------------------------------------------------------------------------
Debian-Paket: Unter diesem Oberbegriff werden alle notwendigen Informationen zum Installieren, Deinstallieren und Ausführen von Programmen zusammengefasst. Die Dateinamen setzen sich folgendermaßen zusammen: Paketname (z. B. xskat), Revisionsnummer und die Dateiendung .deb. Die Datei heisst also: xskat_3.2-1.deb.
--------------------------------------------------------------------------------


Der erste Aufruf -- Schritt für Schritt durch das Menü
Starten Sie das Programm als root, Sie sehen eine Auflistung der möglichen Aktionen. Die sieben Punkte sind schnell erklärt: [A]ccess sagt dem Programm, wo die Debian-Pakete gesucht werden sollen -- Voreinstellung ist apt, aber auch ftp, nfs oder floppy sind möglich. Mit [U]pdate werden die Paketverzeichnisse von der vorher festgelegten Quelle gelesen, mit [S]elect wählen Sie aus dem Angebot aus. Im vorletzten Schritt, [I]nstall wird das Programm verwendet, das vorher unter [A]ccess angegeben wurde. Um das Problem der Abhängigkeiten von Debian-Packages zu lösen (s. auch Artikel zur Heft-CD-Installation, S. 31), arbeiten [I]nstall und [C]onfig Hand in Hand: Pakete, die bei der Installation nicht richtig konfiguriert werden konnten, werden hier noch einmal "bearbeitet". [R]emove entfernt nicht mehr benötigte Pakete, [Q]uit beendet das Programm.



--------------------------------------------------------------------------------
Apt: Steht für Advanced Package Tool. Tatsächlich handelt es sich um ein ganzes System von Werkzeugen zum Holen, Installieren und Entfernen von Paketen. Mit den Apt-Funktionen lassen sich komplette System-Updates durchführen, Zwischenspeicher für Pakete einrichten und verwalten.
--------------------------------------------------------------------------------


Mit der richtigen Taste zum Ziel...
Für den dritten Schritt, also die Auswahl der Pakete, sollten Sie sich einige wichtige Tastaturkommandos merken, mit denen Sie schnell und sicher durch das Programm navigieren können. Wenn Sie den Punkt [S]elect mit der Return-Taste bestätigen, kann es einen Moment dauern, bis Ihnen die nächste Seite angezeigt wird -- haben Sie ein bisschen Geduld, gerade bei langsameren Rechnern. Die erste Hilfe-Seite erscheint: In der untersten Zeile sehen Sie, wie es weitergeht. Mit ? gelangen Sie derzeit zur Hilfe, mit der Leertaste verlassen Sie sie wieder und geblättert wird mit dem Punkt. Betätigen Sie jetzt die Leertaste, um zum main package listing zu kommen.

Abb. 1: Die Paketauswahl von dselect

Sie können jederzeit die Auswahl bestätigen und durch Drücken der Return-Taste ins Hauptmenü zurückkehren. Bevor Sie jetzt loslegen, schauen Sie sich das Fenster genau an: In der obersten Zeile sind die wichtigsten Tastaturkommandos zur Bedienung aufgeführt (s. Tabelle 1):

Tabelle 1: Tastaturkommandos in der Hauptauswahl
Taste Bedeutung
+ wählt das Package aus
= stellt das Package zurück
- löscht das Package
_ löscht das Package mit seinen Konfigurationsdateien
v schaltet zwischen ausführlicher und knapper Darstellung um
d blättert die Langbeschreibung der Pakete nach unten
u blättert die Langbeschreibung der Pakete nach oben
I verändert die Aufteilung des Bildschirms


In der zweiten Zeile sehen Sie neben den Buchstaben EIOM ("Error" -- Fehler, "Installed" -- Installationszustand, "Old" -- alte Markierung, "Marked" -- aktuelle Markierung) auch Angaben über die Priorität (z. B. "Required" oder "Optional"), die installierte Version, ob eine neuere verfügbar ist und eine längere Beschreibung des Pakets. Zu viele Zeichen? Das alles lässt sich anhand eines Beispiels schnell erklären:

EIOM Pri Section Package Inst.ver Avail.ver Description
...
*** Opt admin sudo 1.6.2p2-1 1.6.2p2-1 Provides limited ...

Des Rätsels Lösung: Beim Package "sudo" liegt kein Fehler vor, es ist installiert und noch ausgewählt. Möchten Sie es deinstallieren, tippen Sie, wie oben gezeigt, - oder _ (s. Tabelle 1). Jetzt ist die Markierung aufgehoben:
EIOM Pri Section Package Inst.ver Avail.ver Description
...
**- Opt admin sudo 1.6.2p2-1 1.6.2p2-1 Provides limited ...

Manchmal kann es vorkommen, dass ein Paket ein weiteres benötigt. In dem Fall wechselt nach der Auswahl mit + der Bildschirminhalt. Jetzt steht in der obersten Zeile des Hilfe-Menüs Help: Introduction to conflict/dependency resolution sub-list. Betätigen Sie die Space-Taste, und Sie werden sehen, welche Konflikte mit anderen Paketen auftreten oder welche zusätzlich installiert werden sollten. Dabei kann es auch passieren, dass Pakete vorgeschlagen werden ("suggests"), die Sie nicht installieren möchten. Durch den Befehl Q zwingen Sie dselect solche Meldungen zu unterdrücken -- denken Sie immer daran: Linux-Systeme machen genau das, was der Administrator vorgibt. Wenn Sie auf "Nummer Sicher" gehen wollen, übernehmen Sie am besten erst einmal die Voreinstellungen des Systems. Sind Sie mit der Auswahl aller Pakete fertig, drücken Sie Return, um zum Hauptmenü zurückzukehren.

Wenn Sie jetzt zum Punkt [I]nstall gehen und mit Return bestätigen, sehen Sie, dass etwas auf der Kommandozeile passiert:

asteroid:># dselect
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
libgd1g libwxxt1 linuxconf linuxconf-i18n linuxconf-x
0 packages upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/3744kB of archives. After unpacking 13.5MB will be used.
Do you want to continue? [Y/n]

Hier können Sie also noch einmal überprüfen, ob Sie alles richtig ausgewählt haben. Ist das der Fall, tippen Sie y und Sie werden nach dem Installations-Medium, z. B. der CD-ROM gefragt. Während der Installation werden Statusmeldungen auf der Konsole ausgegeben, z. B.:
23% [Working]
(Reading database ...
Unpacking libgd1g (from .../libs/libgd1g_1.7.3-0.1.deb) ...
Setting up libgd1g (1.7.3-0.1) ...

Jetzt springt dselect zum Punkt [C]onfig. Auch hier drücken Sie Return, und es geht weiter. Wieder erscheint eine Meldung auf der Kommandozeile:
running dpkg --pending --configure ...

Eine ähnliche Meldung erscheint beim Menüpunkt [R]emove:
running dpkg --pending --remove ...


Was diese Meldungen bedeuten, erklärt der nächste Abschnitt.

Blick hinter die Kulissen
Werfen Sie einen Blick in die Man-Page von dpkg, steht dort: dpkg - a medium-level package manager for Debian GNU/Linux. Dieses Programm ist das eigentliche Pakettool von Debian, dselect setzt grafisch auf diesem auf. Anders als dselect arbeitet es vollständig auf der Kommandozeile. Aber es bietet noch mehr mächtige Optionen an. Haben Sie beispielsweise die Datei xskat_3.2-1.deb aus dem Internet heruntergeladen, können Sie diese, bevor Sie mit der Installation loslegen, genau untersuchen. Probieren Sie beispielsweise dpkg -c xskat_3.2-1.deb. Der Parameter -c (Kurzform für --contents) zeigt Ihnen genau an, wo welche Komponenten abgelegt würden:

...
drwxr-xr-x root/root 0 1999-10-10 17:40:54 usr/
drwxr-xr-x root/root 0 1999-10-10 17:40:55 usr/games/
-rwxr-xr-x root/root 341872 1999-10-10 17:40:55 usr/games/xskat
drwxr-xr-x root/root 0 1999-10-10 17:40:54 usr/share/
...

Sie sind sich nicht sicher, ob Sie das Package nicht doch schon installiert haben? Der Aufruf dpkg -s xskat gibt Informationen zum Paketnamen, zum Status (entweder sauber gelöscht oder nie installiert), Priorität (erforderlich oder optional) und zugehöriger Bereich (z. B. games). Möchten Sie das Spiel XSkat nun installieren, können Sie zuerst überprüfen, ob alles glatt laufen wird im Ernstfall. Probieren Sie dpkg --no-act -i xskat_3.2-1.deb und das System wird Sie auf mögliche Abhängigkeitsprobleme hinweisen. Alles ist glatt gelaufen? Lassen Sie die Option --no-act beim nächsten Aufruf weg, und Sie bekommen die gleichen Meldungen auf der Kommandozeile wie bei dselect.

Auch für das Deinstallieren können Sie dpkg verwenden, hier gilt es allerdings wieder zu unterscheiden, ob Sie auch die Konfigurationsdateien vollständig entfernen möchten. Ist das der Fall, starten Sie den Aufruf dpkg -P paketname (Kurzform für --purge). Sollen die Einstellungen unter /etc erhalten bleiben, wählen Sie dpkg -r (für --remove).

RPM
So wie Debians Paket-Tools alle auf dem Kommandozeilenprogramm dpkg aufsetzen, gibt es auch bei RPM-basierten Distributionen ein grundlegendes Verwaltungs-Tool für die Konsole, das bezeichnenderweise rpm heißt. Es bietet ähnlich leistungsfähige Optionen wie dpkg, mit denen Sie Pakete installieren, entfernen oder updaten können. Die wichtigsten davon sind:

rpm -i paket-1.23-1.i386.rpm
rpm -U paket-1.23-1.i386.rpm
rpm -e paket




--------------------------------------------------------------------------------
RPM: Der Red Hat Package manager ist das vom Distributor Red Hat kreierte Paketverwaltungs-Tool; es wird von fast allen "großen" Distributionen (außer Debian und dem Klassiker Slackware) verwendet. RPM steht aber auch für das Paketformat selbst; so enden RPM-Pakete immer auf .rpm.
--------------------------------------------------------------------------------


Mit der ersten Option "-i" (kurz für "--install") von rpm wird ein Paket neu installiert, das noch nicht auf dem Rechner vorhanden ist, dabei ist der volle Dateiname des RPM-Pakets anzugeben. Entsprechend führt rpm bei der Option "-U" ein Paket-Update durch; hier wird also ein installiertes Paket durch eine neuere Version ersetzt. rpm stellt dabei sicher, dass die alte Version vorher vollständig entfernt wird. Diese Update-Option funktioniert übrigens auch, wenn noch keine ältere Version vorhanden ist: Sie können also "-U" generell anstelle von "-i" verwenden. Im dritten Befehlsaufruf soll ein Paket entfernt werden ("-e" oder "--erase"); hier ist nur der Basisname des Pakets ohne Versionsnummern anzugebene.

RPM-Pakete haben immer Namen der Form paket-1.23-1.i386.rpm. "1.23" ist dabei die Versionsnummer des Programmes, das "-1" gibt an, zum wievielten Mal aus den Quelltexten ein RPM-Paket gebaut wurde, und "i386" bezeichnet die Prozessor-Architektur, für die das Paket kompiliert wurde.

Nützliche Zusatzoptionen für die Installation mit rpm sind "--nodeps" und "--force": Die erste zwingt rpm, Paketabhängigkeiten (etwa benötigte Bibliotheken) zu ignorieren und ein Paket auch dann zu installieren, wenn ein verlangtes Zusatzpaket nicht vorhanden ist; mit der zweiten können Sie rpm anweisen, über Paket-Konflikte hinwegzusehen und das Paket beispielsweise auch dann zu installieren, wenn dadurch gleichnamige Dateien eines anderen Pakets überschrieben würden. Ein Befehl der Form

rpm -U --nodeps --force paket-1.23-1.rpm

sollte also immer zur Installation führen; die Konsequenzen sollten Sie vorher überdenken, wenn ein einfaches "rpm -U paket..." eine Fehlermeldung brachte.

Auch eine Übersicht über installierte Pakete gibt rpm ohne große Umstände: mit rpm -qa erhalten Sie eine Liste sämtlicher auf dem System vorhandener Pakete, rpm -q paketname zeigt für ein bestimmtes Paket an, ob es vorhanden ist. Falls ja, erhalten Sie mit rpm -qi paket mehr Informationen über das Paket, und rpm -qil paket gibt zusätzlich eine Liste aller zum Paket gehörenden Dateien aus.

Grafische RPM-Tools
Für die beiden beliebten Desktop-Systeme KDE und GNOME gibt es je ein komfortables Tool zur Verwaltung von RPM-Paketen. Diese heißen kpackage (KDE) und gnorpm (GNOME). Mit diesen Paket-Tools stehen Ihnen Frontends zur Verfügung, die übersichtlich eine Liste der installierten Pakete anzeigen und (wie rpm selbst) das Installieren, Aktualisieren und Löschen von Paketen erlauben. Die beiden Tools bieten bei der Installation ebenfalls die Möglichkeit, sich über Abhängigkeiten oder Paket-Konflikte hinweg zu setzen, können aber natürlich nicht den gesamten Funktionsumfang des mächtigen rpm-Programms abbilden.

Für die RPM-Profis: rpmlevel
Wer sich mit dem Kommandozeilen-Tool rpm angefreundet hat, sollte auch einen Blick auf rpmlevel (Homepage: http://www.coralys.com/products/rpmlevel.shtml, Download: ftp://coralys.com/pub/free/rpmlevel-1.2-1.noarch.rpm) werfen -- es bietet eine Erweiterung des Funktionsumfangs von rpm und berücksichtigt dabei alle Veränderungen gegenüber der Erstinstallation der Distribution. So können Sie mit rpmlevel immer den Überblick behalten, inwieweit Ihr aktuelles System vom Ausgangssystem abweicht. Auch eine Aktualisierung aller installierten Pakete ist einfach möglich, so führt etwa der Befehl

rpmlevel --sync redhat61

auf einem Red-Hat-6.1-System alle notwendigen Updates durch; mit
rpmlevel --report u redhat61

erhalten Sie eine Liste aller Pakete, die seit der Erstinstallation aktualisiert wurden.