Einige Vorbemerkungen zur Paket-Verwaltung ganz allgemein. Der Benutzer sollte der Paket-Verwaltung nicht ins Handwerk pfuschen. Im Klartext bedeutet dieses, dass auch der System-Administrator in den Verzeichnissen, die der Paket-Verwaltung unterstehen, nichts löschen oder hinzufügen sollte. Das gilt für alle Distributionen mit ausgefeilter Paket-Verwaltung, also insbesondere auch für Debian.
Ausdrücklich nicht der Paket-Verwaltung unterstehen /usr/local, /opt und natürlich /home. /usr/local ist der Ort der Wahl, wenn der Systemadministrator ein Programm installieren möchte, das nicht als Paket daher kommt. Innerhalb von /opt werden komplette Programmpakete installiert, die ihrerseits wieder Hierarchien .../bin, .../lib, .../man usw. benötigen.
Ein weiterer Spezialfall betrifft die Konfigurations-Dateien, die bei Debian ausschließlich unter /etc gespeichert werden. Dort ist natürlich Editieren, und in begrenztem Maße auch Löschen und Erzeugen, von Dateien nötig. Wenn Pakete aktualisiert werden, bleibt die Konfiguration bestehen.
dselect
Diese Einführung orientiert sich am englischen Text Dselect
documentation for beginners
.
dselect
dient dazu, die einzelnen Programmpakete der Debian GNU
Distribution auszuwählen und zu installieren. In jedem dieser Pakete
(package) sind neben den ausführbaren Programmen zusätzliche
Informationen enthalten. Diese werden für die korrekte Installation, zur
Konfiguration und zur vollständigen Entfernung, wenn beispielsweise eine neue
Version aufgespielt werden soll, benötigt.
Zur Installation der einzelnen Pakete mit dselect
werden die
folgenden Schritte der Reihe nach durchgeführt. Es ist sinnvoll, keinen der
Schritte auszulassen.
Die gerade aufgezählten Punkte stehen nach dem Start von dselect
zur Verfügung:
Debian Linux `dselect' package handling frontend. 0. [A]ccess Choose the access method to use. 1. [U]pdate Update list of available packages, if possible. 2 [S]elect Request which packages you want on your system. 3. [I]nstall Install and upgrade wanted packages. 4. [C]onfig Configure any packages that are unconfigured. 5. [R]emove Remove unwanted software. 6. [Q]uit Quit dselect.
Die nächsten Abschnitte beschreiben jeden der Menüpunkte.
Nach der Auswahl des Menüpunktes ``Access'' erscheint der folgende Bildschirm, mit dem festgelegt wird, woher die zu installierenden Pakete genommen werden sollen:
dselect - list of access methods Abbrev. Description cdrom Install from a CD-ROM multi_cd Install from a CD-ROM set. nfs Install from an NFS server (not yet mounted). multi_nfs Install from an NFS server (using the CD-ROM set) (not yet mounted). harddisk Install from a hard disk partition (not yet mounted). mounted Install from a filesystem which is already mounted. multi_mount Install from a mounted partition with changing contents. floppy Install from a pile of floppy disks. ftp Install using ftp. apt APT Acquisition [file,http,ftp]
Wie Sie sehen, können Sie die Pakete sowohl von CD, über das Netzwerk mit NFS
oder aber von einer lokalen Festplatte installieren. Dazu dürfen die
betreffenden Medien noch nicht in das Dateisystem des Rechners gemountet
(mount
) sein. Sollte das schon geschehen sein, so kann mit dem
sechsten Punkt (mounted
) das passende Verzeichnis angegeben
werden. Haben Sie mit einem der ersten fünf Punkte Schwierigkeiten, so können
Sie dselect
verlassen und versuchen das Medium von Hand in das
Dateisystem einzuhängen, zum Beispiel durch die Eingabe von:
mount -t iso9660 -r /dev/cdrom /cdrom
Schlägt dieser Versuch fehl, so überprüfen Sie, ob auch das Modul für Ihr CD
Laufwerk geladen ist. Anschließend starten Sie dselect
erneut und
wählen den sechsten Menüpunkt aus.
Um Debian GNU/Linux 2.2 von mehreren CDs zu installieren, ist die bevorzugte
Methode apt-setup
. Das ist ein Frontend für
apt-cdrom
. apt-setup
fordert Sie auf jene
Installationsquelle anzugeben, die Sie möchten. In dselect
muss
dafür als Access Methode ``apt'' ausgewählt worden sein.
Wenig komfortabel ist der Punkt, die Distribution mit Disketten installieren zu müssen. Die nächste Möglichkeit setzt eine funktionierende Internetanbindung voraus, zumindest bis zu einem ftp-Server, der die Debian GNU/Linux Distribution gespiegelt hat.
apt
ist eine der besten Möglichkeiten zur Installation von einer
lokalen Quelle oder aus dem Internet. Diese Methode verwendet das
apt
-System, um eine vollständige Abhängigkeitsüberprüfung und
Sortierung durchzuführen, daher ist es so am Wahrscheinlichsten, die Pakete in
der optimalen Reihenfolge zu installieren. Näheres zu apt
und zu
seiner Konfiguration ist unter Konfiguration der Quellen,
Abschnitt 8.2.8 zu finden.
Nach der Auswahl des Mediums müssen Sie unter Umständen verschiedene Verzeichnisse eingeben, in denen die Bestandteile der Gesamtdistribution abgelegt wurden, z.B. wenn eine CD nach /cdrom gemountet wurde, geben sie /cdrom/debian ein, wenn das Verzeichnis der Distribution auf der CD debian heißt. Haben Sie sich einmal vertan, so kann die Auswahl mit ^C (Strg-Taste und C gleichzeitig drücken) abgebrochen werden. Starten Sie danach den Menüpunkt ``Access'' einfach noch einmal.
Nach der korrekten Auswahl oder durch Drücken von x befinden Sie sich wieder in dem Hauptmenü.
Nach der Aktivierung dieses Punktes werden die Dateien Packages
oder Packages.gz der verschiedenen Verzeichnisse eingelesen. Mit
den darin enthaltenen Informationen aktualisiert dselect
seine
interne Datenbank.
An dieser Stelle können Sie nun jedes einzelne Paket auswählen, das auf Ihrem Rechner installiert werden soll. Bei langsamen Rechnern kann es eine Weile dauern, bis der neue Bildschirm erscheint. Drücken Sie also nicht einfach irgendwelche Tasten, sondern warten Sie, bis Ihnen die Auswahl der verschiedenen Hilfeseiten präsentiert wird:
Help: Introduction to package list Welcome to the main package listing. Please read the help that is available ! ...[weiteren Text gelöscht]...
Bei einer Erstinstallation ist es empfehlenswert, zunächst keine eigene Auswahl
zu treffen, sondern die Standardinstallation zu akzeptieren. Dazu wird zuerst
die Leertaste gedrückt, um die Hilfeseiten zu verlassen. Durch die Betätigung
der Enter-Taste wird die Auswahl akzeptiert und ins Hauptmenü
zurückgekehrt. Dann können die standardmäßig vorgesehenen Pakete installiert
und, soweit notwendig, auch konfiguriert werden. Zu jedem späteren Zeitpunkt
kann dselect
erneut gestartet werden, um dem System weitere Pakete
hinzuzufügen oder auch um andere wieder zu entfernen.
Die Hilfeseiten stehen jederzeit nach Eingabe des Fragezeichens (?) zur Verfügung. In den Hilfeseiten wird mit dem Punkt (.) geblättert.
Der Bildschirm zur Auswahl der Pakete ist zweigeteilt. In der oberen Hälfte kann mit den Pfeiltasten von Paket zu Paket gewechselt werden, während im unteren Teil eine kurze Beschreibung erscheint. Bei Paketen, die installiert werden sollen, geben Sie ein Pluszeichen (+) ein und bei Paketen, die Sie loswerden möchten, ein Minuszeichen (-). Zu jedem Paket gibt es drei Stufen der Informationsanzeige, die Sie mit i umschalten. Wenn der Platz in der unteren Hälfte nicht reicht, können Sie in der Informationssanzeige mit d vorwärts und mit u rückwärts blättern.
Bei der Auswahl kommt es vor, daß dselect
eine Verletzung der
Abhängigkeiten feststellt. Es wird dann ein neues Fenster angezeigt, in dem
dselect
die Lösung des Problems vorschlägt. Dafür sind je nach
Situation Pakete neu ausgewählt worden und/oder andere zum Entfernen vorgesehen
worden. Warum die Auswahl des Paketes verändert wurde, wird in der unteren
Hälfte des Bildschirms angezeigt. Sind Sie mit der Auswahl zufrieden, drücken
Sie einfach die Enter-Taste.
Dieses Verhalten scheint häufig sehr lästig und unnütz zu sein, doch es bewahrt das System vor Fehlfunktionen. Es wird sowohl verhindert, dass sich Pakete mit gleichen Funktionen oder Dateien gegenseitig behindern, als auch sichergestellt, dss alle benötigten Bestandteile, wie Bibliotheken, mitinstalliert werden. Langfristig erweist sich diese kleine Unannehmlichkeit als sehr wertvolle Hilfe.
Können die Abhängigkeiten nicht aufgelöst werden, weil zum Beispiel Pakete fehlen, so kann mit einem großen Q die Überprüfung ignoriert werden. Dies sollte aber nur im äußersten Notfall geschehen. Mit dem großen X kann die Auswahl verlassen werden und alle Änderungen gehen verloren.
Es soll das Paket boot-floppies installiert werden. Der Entwickler dieses Pakets hat festgelegt, dass es ohne die folgenden Pakete nicht funktionieren wird:
Weiterhin empfiehlt er, dass das Paket unzip
vorhanden sein
sollte. Die Ziffern hinter den Namen sind die Versionsnummern, die das
betreffende Paket erfüllen muß.
Wird das boot-floppies
-Paket nun mit dem Pluszeichen ausgewählt,
so erscheint das folgende Fenster (in diesem Fall sind die Pakete
libc6-dev
und newt0.25
schon installiert):
dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy _* Opt devel libc6-pic The GNU C library version 2 (PIC library) _* Opt devel slang1-pic The S-Lang programming library, shared library su _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel popt C library for parsing command line parameters *** Std devel libc6-dev The GNU C library version 2 (development files). _* Opt devel slang1-dev The S-Lang programming library, development versi *** Opt base newt0.25 Not Erik's Windowing Toolkit - text mode windowin
Zur Erklärung steht dann im unteren Teil:
boot-floppies depends on libc6-pic boot-floppies depends on slang1-pic boot-floppies depends on newt0.25-dev boot-floppies depends on popt
Mit großem R kann der Ursprungszustand, also vor Eingabe des Pluszeichens, wieder hergestellt werden:
dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description __ Opt admin boot-floppie Scripts to create the Debian installation floppy __ Opt devel libc6-pic The GNU C library version 2 (PIC library) __ Opt devel slang1-pic The S-Lang programming library, shared library su __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel popt C library for parsing command line parameters *** Std devel libc6-dev The GNU C library version 2 (development files). __ Opt devel slang1-dev The S-Lang programming library, development versi *** Opt base newt0.25 Not Erik's Windowing Toolkit - text mode windowin
Mit großem D werden die Veränderungen, die dselect
vorgenommen hat, wieder rückgängig gemacht:
dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy __ Opt devel libc6-pic The GNU C library version 2 (PIC library) __ Opt devel slang1-pic The S-Lang programming library, shared library su __ Opt devel newt0.25-dev Developer's toolkit for newt windowing library __ Opt devel popt C library for parsing command line parameters *** Std devel libc6-dev The GNU C library version 2 (development files). __ Opt devel slang1-dev The S-Lang programming library, development versi *** Opt base newt0.25 Not Erik's Windowing Toolkit - text mode windowin
Mit dem großem U werden die Vorschläge von dselect
wiederhergetellt:
dselect - recursive package listing mark:+/=/- verbose:v help:? EIOM Pri Section Package Description _* Opt admin boot-floppie Scripts to create the Debian installation floppy _* Opt devel libc6-pic The GNU C library version 2 (PIC library) _* Opt devel slang1-pic The S-Lang programming library, shared library su _* Opt devel newt0.25-dev Developer's toolkit for newt windowing library _* Opt devel popt C library for parsing command line parameters *** Std devel libc6-dev The GNU C library version 2 (development files). _* Opt devel slang1-dev The S-Lang programming library, development versi *** Opt base newt0.25 Not Erik's Windowing Toolkit - text mode windowin
Durch die mehrfache Eingabe des kleinen i können Informationen über das aktuelle Paket abgerufen werden. Nach der abschließenden Auswahl betätigen Sie die Enter-Taste und gelangen zurück zum Hauptmenü.
Im nächsten Schritt werden alle Pakete nacheinander in das System eingespielt.
Einige Pakete benötigen weitere Informationen von Ihnen. Alle Eingaben können
später durch Aufrufen des entsprechenden Konfigurationsskripts, das ist meist
der Paketname mit angehängtem config
, zum Beispiel
liloconfig
für den Linux-Loader LILO
, geändert
werden.
Sollte die Installation eines Pakets fehlschlagen, weil die Abhängigkeiten nicht erfüllt werden konnten, so kann der Vorgang einfach wiederholt werden. Die Pakete, bei denen es Probleme gab, werden am Ende der Installation aufgelistet.
Die meisten Pakete werden direkt bei der Installation konfiguriert. Wurde die Installation abgebrochen, so kann sie hier wiederholt werden.
Hiermit werden die Pakete entfernt, die nicht mehr benötigt werden. Normalerweise bleiben die Konfigurationsdateien erhalten, so dass durch diesen Vorgang keine Informationen verloren gehen. Sollen auch diese Dateien entfernt werden, so muß das Paket mit dem Unterstrich (_) statt einem Minus (-) markiert werden (purge).
Mit diesem Punkt wird dselect
verlassen.
Nun ist es empfehlenswert, das Skript /etc/cron.daily/find
auszuführen, da viele neue Dateien in das System gelangt sind. Danach
berücksichtigt das Programm locate
auch wieder alle Dateien, die
im System vorhanden sind.
apt-get
apt-get
ist ein erweitertes Paketverwaltungs-Tool, das in
kommenden Versionen von Debian GNU enthalten sein wird. Zur Zeit fehlt noch
ein grafisches und ein textorientiertes Frontend. Das
Backend apt-get
läuft stabil und wird bereits eingesetzt.
apt-get
stützt sich wie dselect
auf dpkg ab.
In diesem Sinne kann es dselect
ersetzen. Es bietet allerdings
nicht in allen Bereichen die gleiche Funktionalität wie dselect
.
Die Paket-Verwaltungs-Optionen von apt-get
sind:
update
,
upgrade
,
dist-upgrade
,
install
,
check
,
dselect-upgrade
und
clean
.
Das Verhalten von apt-get
wird über die Konfigurationsdatei
/etc/apt/sources.list gesteuert. In dieser Datei stehen die
Quellen, von wo apt-get
die Pakete und ihre Beschreibungen laden
soll. Mehr dazu in Konfiguration der Quellen,
Abschnitt 8.2.8.
Ausführliche Dokumentation zu apt-get
gibt es in den Manpages
apt(8)
, apt-cache(8)
, dpkg(8)
,
dselect(8)
und sources.list(5)
.
Der update
-Befehl lädt die Beschreibungen der verfügbaren Pakete
(die Packages.gz-Files) ins System; Sie stehen anschließend
apt-get
und dselect
mit der Access-Methode
apt zur Verfügung.
Diesen Befehl sollten Sie immer ausführen, bevor Sie neue Pakete mit
apt-get
installieren. Natürlich ist dieser Befehl nur dann nötig,
wenn Sie die Quellen (in sources.list) geändert haben oder wenn
Sie vermuten, dass sich die Pakete und Paket-Listen geändert haben. Wenn Sie
Pakete aus der aktuellen Entwicklerversion unstable (zur Zeit
woody) benutzen wollen, ändern sich die Paketlisten täglich.
Mit upgrade
werden alle Pakete, die momentan installiert sind,
aktualisiert. Unter keinen Umständen werden Pakete, die bis jetzt noch nicht
installiert waren, neu installiert. Es werden auch keine Pakete, die bis jetzt
installiert waren, gelöscht.
Wenn es Pakete gibt, die nicht aktualisiert werden können, ohne den Status eines anderen Pakets zu ändern (löschen oder neu installieren), dann werden diese Pakete von der Aktualisierung ausgenommen.
Mit install
werden einzelne Pakete neu installiert. Geben Sie als
zusätzliche Argumente einfach die Namen der gewünschten Pakete an:
apt-get install boot-floppies kernel-sources-2.0.36
Die benötigten Pakete werden anschließend geladen und installiert, nicht nur das angegebene Paket, sondern zusätzlich alle weiteren, von denen es abhängt.
Dabei auftretende Konflikte werden intelligent gelöst. Wenn Sie ein
`−' (Minus) an den Namen eines Pakets anhängen, dann wird dieses Paket
aus dem System gelöscht. Auf diese Weise können Sie den Algorithmus zur
Konfliktlösung von apt-get
beeinflussen (siehe auch Dist-Upgrade, Abschnitt
8.2.5).
check
überprüft die Installation auf defekte Pakete.
dist-upgrade
funktioniert ähnlich wie upgrade
. Alle
Pakete, die momentan installiert sind, werden auf den neuesten Stand gebracht.
Zusätzlich werden wechselnde Abhängigkeiten intelligent gehandhabt.
Bei Konflikten versucht apt-get
die wichtigsten Pakete auf Kosten
weniger wichtiger Pakete zu aktualisieren.
Das dselect-upgrade
-Kommando wird vom traditionellen
Frontend dselect
benutzt. Es folgt den Änderungen, die
dselect
gemacht hat und installiert oder löscht die gewünschten
Pakete.
Dieses Kommando führt keine automatische Konfliktlösung durch. Das ist ja auch
die Aufgabe von dselect
. Es bricht ab, wenn es Konflikte oder
Abhängigkeitsprobleme gibt, ohne irgend etwas zu tun.
Dieser Befehl löscht die auf der Festplatte zwischengespeicherten Pakete. Alle
Pakete, die mit apt-get
installiert wurden, sind vorher auf das
lokale System geladen und im Verzeichnis /var/cache/apt/archives
gespeichert worden. Das kann unter Umständen ziemlich viel Platz verschlingen.
Daher ist es empfehlenswert, nach größeren Installationsvorgängen
apt-get clean
aufzurufen. Wenn dselect
mit der apt-Methode aufgerufen
wird, ist dieses nicht nötig.
In der Datei /etc/apt/sources.list werden die verschiedenen
Quellen eingetragen, von denen apt-get
Pakete installieren soll.
Jede Zeile enthält eine Quellpfadangabe, die bevorzugteste zuerst. Das Format
einer Zeile lautet:
Typ URI Argumente
apt-get
dann die gesuchten Informationen.
Daraus lassen sich nun verschiedene mögliche Kombinationen ableiten. Ein paar Beispiele:
deb file:/home/jason/debian stable main contrib non-free
deb http://www.debian.org/archive stable main
deb ftp://ftp.debian.org/archive stable main contrib
deb ftp://sunsite.cnlab-switch.ch/mirror/linux/distributions/debian frozen main
deb file:/cdrom stable main
deb file:/cdrom/debian/main/binary-i386 ./
Eine ausführlichere Beschreibung der Pakete wird später folgen.
apt-find
- Eine Textoberfläche zu APT.
gnome-apt
- Die grafische Oberfläche zu APT.
gdselect
- Eine grafische Oberfläche zu dpkg.
swim
- Ein Kommandozeilen-orientiertes Frontend zu APT.