Debian GNU/Linux Anwenderhandbuch | ||
---|---|---|
Zurück | Kapitel 4. Installation weiterer Pakete | Nach vorne |
Apt stellt die nächste Generation der Debian GNU/Linux-Paketverwaltung dar. Die „Backends“, also die Programme im Hintergrund, welche die eigentliche Arbeit verrichten, sind zum großen Teil fertiggestellt. Die „Frontends“, Programme mit einer Benutzeroberfläche, befinden sich noch in der Entwicklung.
Zunächst werden wir Ihnen zeigen, wie Sie Apt konfigurieren und mit Hilfe der Kommandozeile Pakete verwalten. Später stellen wir Ihnen einige der Frontends zu Apt vor.
Wenn Sie Apt bereits über das Programm dselect als Installationsmethode benutzt haben, so haben Sie wahrscheinlich bereits Apt auf Ihre Bedürfnisse angepaßt. Hier noch einige weitergehende Informationen zu Apt:
Apt steht für „A Package Tool“, ein Programm also, welches den Systemadministrator (also Sie :-) ) bei der Installation und Verwaltung von Programmen unterstützen soll. Der erste Schritt zur Benutzung von Apt ist die Anpassung der Konfigurationsdatei /etc/apt/sources.list . In dieser Datei befinden sich die Informationen, von welcher Quelle die Pakete geholt werden sollen. Apt unterstützt eine große Zahl verschiedener Installationsquellen. Momentan sind dies: cdrom, file, http und ftp. Jede dieser Quellen wird in einer einzelnen Zeile in der Datei beschrieben. Dabei wird auch die Reihenfolge berücksichtigt, weiter oben stehende Einträge haben eine höhere Priorität. Das Format der Einträge läßt sich wie folgt beschreiben:
deb uri distribution [component1] [component2] [...]
Ein Eintrag könnte also wie folgt aussehen:
deb ftp://ftp.debian.org/debian stable main
In der ersten Spalte findet sich der Hinweis auf die Art der Quelle. Mögliche Werte sind hier deb für Debian Pakete im Binärformat (dies ist der gebräuchliste Wert) oder aber deb-src für Pakete die im Quellcode vorliegen. Einträge der letztere Art benötigt man beispielsweise um ein Paket aus den Quellpaketen neu zu übersetzen.
Das Feld uri beschreibt die Installationsquelle und den Pfad zum „root-“Verzeichnis der Debian Distribution. Auf einer CD-ROM ist der Pfad im Normalfall das Verzeichnis /debian .
Mit dem Feld distribution stellen Sie die gewünschte Version ein, die Sie installieren möchten. Normalerweise wird man sich zwischen stable für die aktuelle, stabile Version oder für unstable, die Entwicklerversion, entscheiden. Wie schon am Anfang dieses Buches beschrieben, bekommt jede Debian-Version einen Namen. Sie können auch diesen Namen hier einsetzen, also slink für die Version 2.1 oder potato für die Version 2.2 .
Die Felder „component“ werden mit den einzelnen Bereichen der Distribution gefüllt. Hier können beispielsweise: main, contrib, non-free, non-US stehen. Zulässig sind ein oder mehrere Einträge, die durch Leerzeichen voneinander getrennt werden.
Nun noch einige genauere Informationen zu den Installationsquellen:
dient zur Benutzung eines Verzeichnisses als Quelle für die Pakete. Dies kann ein lokales oder ein per NFS gemountetes Verzeichnis sein.
benutzt ein lokal installiertes CD-ROM als Installationsquelle. Wenn die Distribution auf mehreren CDs vorliegt, wird auch dies unterstützt. Benutzen Sie das Programm apt-cdrom, um die nötigen Einträge in der Datei /etc/apt/sources.list vorzunehmen, oder benutzen Sie das Programm apt-setup.
benutzt einen HTTP-Server als Installationsquelle. Wenn die Shell-Umgebungsvariable $http_proxy gesetzt ist (im Format: http://server:port/ ), so wird dieser anstelle einer direkten Verbindung zum Server benutzt. Sie können auch Proxy-Server, die eine Authentifizierung verlangen, benutzen. Hierzu ist der Proxy im Format: http://user:pass@server:port/ anzugeben. Bitte beachten Sie, daß die Benutzernamen und Paßwörter auf diesem Wege unverschlüsselt übertragen werden.
stellt sicher die am häufigsten verwendete Methode für Apt dar. Die Daten werden per FTP (File Transfer Protocol) auf den Rechner übertragen. Ein Beispiel finden Sie weiter unten.
Diese Methode ist identisch mit der Methode „file“, mit dem Unterschied, daß die Pakete vor der Installation in das Verzeichnis /var/apt/cache/archives/ kopiert werden. Dies kann zum Beispiel auf Systemen Sinn machen, die keine Verbindung zum Netz haben und per ZIP-Medium aktualisiert werden sollen.
deb http://www.debian.org/archive stable main contrib
Ein solcher Eintrag benutzt das Archiv auf http://www.debian.org mit den Bereichen stable/main und stable/contrib.
Folgender Eintrag holt die Dateien via FTP aus dem Verzeichnis /debian , es wird die noch nicht fertige „unstable“ Version von Debian GNU/Linux benutzt und auf die Bereiche main, contrib und non-free zugegriffen:
deb ftp://ftp.debian.org/debian unstable main contrib non-free
Nochmal ein ähnlicher Eintrag, diesmal für die stabile Version und lediglich den Bereich main.
deb ftp://ftp.debian.org/debian stable main
Wenn Sie die beiden vorhergehenden Zeilen in Ihrer Konfiguration einsetzen, werden beide Zeilen in einem FTP-Zugriff bearbeitet.
deb file:/home/vincent/debian stable main contrib non-free
Ein solcher Eintrag benutzt eine lokale Kopie der Daten auf der Festplatte. Dies kann auch ein per NFS gemountetes Verzeichnis sein.
Mit apt-setup können Sie über eine Benutzeroberfläche die Einträge in der Datei /etc/apt/sources.list ergänzen. apt-setup kann hierzu die Methoden „http“, „ftp“ und „filesystem“ benutzen, für die Methode „cdrom“ wird auf das Programm apt-cdrom zurückgegriffen. Ein weiteren Menüpunkt („edit sources list by hand“) ruft einen Editor (vi) auf, Sie können dann weitere Einträge von Hand aufnehmen. Nach Verlassen des Editors wird versucht, von den angegebenen Quellen die Package-Dateien zu lesen.
Als einzige Option kann beim Starten der Wert „probe“ übergeben werden. Dies führt dazu, daß eine eingelegte CD-ROM sofort eingelesen wird.
Dieses Kommando wird von apt-setup zur Integration von neuen CD-ROMs verwendet, kann aber auch eigenständig eingesetzt werden.
Im einfachsten Fall führt das Kommando apt-cdrom add dazu das die eingelegte CD mit den entsprechenden Werten in die Datei sources.list aufgenommen wird. Hierzu ist ein entsprechender Eintrag in der Datei /etc/fstab notwendig. Ein solcher Eintrag wird bereits bei der Installation angelegt und muss normalerweise nur bei Veränderungen an der Hardware angepasst werden.
Wird apt-cdrom ohne weitere Angaben aufgerufen, so werden Informationen über weitere Optionen ausgegeben.
apt 0.5.4 for linux i386 compiled on Aug 19 2001 01:02:40 Usage: apt-cdrom [options] command apt-cdrom is a tool to add CDROM's to APT's source list. The CDROM mount point and device information is taken from apt.conf and /etc/fstab. Commands: add - Add a CDROM ident - Report the identity of a CDROM Options: -h This help text -d CD-ROM mount point -r Rename a recognized CD-ROM -m No mounting -f Fast mode, don't check package files -a Thorough scan mode -c=? Read this configuration file -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp See fstab(5) |
apt-get ist die eigentliche Benutzerschnittstelle zur Verwaltung von Paketen. Dieses Programm ohne grafische Benutzeroberfläche ist recht einfach zu bedienen. Grafische Alternativen befinden sich in der Entwicklung, dazu später mehr.
Bevor apt-get die gewünschten Aktionen, wie zum Beispiel das Löschen oder die Installation einzelner Pakete, ausführt die das System verändern, werden Sie über den zukünftigen Zustand des Systems informiert. Es werden folgende Informationen angezeigt: die Anzahl der Pakete, die aktualisiert werden (neuere Version), die Anzahl der Pakete, die nicht verändert werden (kept back), die Anzahl der zu löschenden Pakete sowie die Anzahl der neu zu installierenden Pakete.
Zusätzlich werden, wenn Sie die Option install benutzen, die Pakete ausgewählt und angezeigt, die aufgrund der Abhängigkeiten der zu installierenden Pakete benötigt werden.
The following extra packages will be installed: libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy squake pgp-i python-base debmake ldso perl libreadlineg2 ssh |
The following packages will be REMOVED: xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid nas xpilot xfig |
Wenn Sie Pakete neu installieren, werden Sie auch darüber informiert:
The following NEW packages will installed: zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base |
Bei der Auswahl der Pakete haben Sie die Möglichkeit, einzelne Pakete in der aktuellen Version zu behalten, diese werden nicht aktualisiert (kept back).
The following packages have been kept back compface man-db tetex-base msql libpaper svgalib1 gs snmp arena lynx xpat2 groff xscreensaver |
The following held packages will be changed: cvs |
Abschließend finden Sie noch eine Zusammenfassung über die Anzahl der betroffenen Pakete. Weiterhin wird angezeigt, welches Datenvolumen übertragen werden muß und wieviel Festplattenplatz zusätzlich benötigt wird (oder auch frei wird).
206 packages upgraded, 8 newly installed, 23 to remove and 51 not upgraded. 12 packages not fully installed or removed. Need to get 65.7M/66.7M of archives. After unpacking 26.5M will be used. |
Wenn Sie nun mit der Installation beginnen (dies müssen Sie bei apt-get install mit einem y anstoßen), werden die Pakete von dem ausgewählten Medium gelesen und installiert.
Während des Downloads von Archiven und Paketdateien zeigt apt-get eine Reihe von Informationen an:
sushi:/root# apt-get update Get:1 ftp://linux frozen/main Packages [833kB] Get:2 ftp://linux frozen/main Release [93B] Get:3 ftp://linux frozen/contrib Packages [33.4kB] Get:4 ftp://linux frozen/contrib Release [96B] Get:5 ftp://linux frozen/non-free Packages [78.1kB] Get:6 ftp://linux frozen/non-free Release [97B] Get:7 ftp://linux stable/non-US Packages [8880B] Get:8 ftp://linux stable/non-US Release [95B] Fetched 953kB in 12s (74.1kB/s) Reading Package Lists... Done Building Dependency Tree... Done |
11% [5 frozen/non-free `Waiting for file' 0/32.1k 0%] 2203b/s 1m52s |
Bei der Installation von Paketen sieht der Vorgang ähnlich aus:
sushi:/root# apt-get install aptitude Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: aptitude 0 packages upgraded, 1 newly installed, 0 to remove and 3 not upgraded. Need to get 148kB of archives. After unpacking 471kB will be used. Get:1 ftp://ftp.debian.de potato/main aptitude 0.0.4a-3 [148kB] Fetched 148kB in 5s (25.3kB/s) Selecting previously deselected package aptitude. (Reading database ... 22625 files and directories currently installed.) Unpacking aptitude (from .../aptitude_0.0.4a-3_i386.deb) ... Setting up aptitude (0.0.4a-3) ... |
apt-get benutzt folgende Syntax:
apt-get [options] [command] [package ...]
Die Optionen werden Sie sicher seltener benötigen, daher zuerst einige Worte zu den einzelnen Kommandos:
Bei jedem Start von apt (mit der Ausnahme, wenn Sie die Option update benutzen) wird eine Reihe von Prüfungen durchgeführt, um sicherzustellen, daß apt funktionsfähig und Ihr System in einem guten Zustand ist. Sie können diese Prüfungen auch zu jeder Zeit selber anstoßen:
sushi:/root# apt-get check Reading Package Lists... Done Building Dependency Tree... Done |
Im zweiten Schritt wird eine detaillierte Analyse des Systems durchgeführt, inklusive aller Abhängigkeiten. Es werden von jedem installierten oder bereits entpackten, aber noch nicht konfiguriertem Paket die Abhängigkeiten geprüft. Wenn dabei ein Problem auftaucht, wird dies angezeigt und apt-get bricht die weitere Bearbeitung ab.
sushi:/root# apt-get check Reading Package Lists... Done Building Dependancy Tree... Done You might want to run apt-get -f install' to correct these. Sorry, but the following packages have unmet dependencies: 9fonts: Depends: xlib6g but it is not installed uucp: Depends: mailx but it is not installed blast: Depends: xlib6g (>= 3.3-5) but it is not installed adduser: Depends: perl-base but it is not installed aumix: Depends: libgpmg1 but it is not installed debiandoc-sgml: Depends: sgml-base but it is not installed bash-builtins: Depends: bash (>= 2.01) but 2.0-3 is installed cthugha: Depends: svgalibg1 but it is not installed Depends: xlib6g (>= 3.3-5) but it is not installed libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1) |
Es gibt zwei Möglichkeiten, wie es zu solchen Problemen kommen kann: Bei einem „Upgrade“ kann es passieren, daß ein benötigtes Paket fehlt, oder aber während der Installation eines Paketes ist ein Problem aufgetreten. Wenn letzteres aufgetreten ist, dann wurde das Paket zwar entpackt, aber nicht korrekt konfiguriert.
Beide Situationen können von apt in den meisten Fällen mit der Option -f selbst behoben werden. Wenn Sie dselect mit der Methode apt benutzen, wird immer die Option -f verwendet, um eine einfache Bedienung zu gewährleisten.
Trotzdem kann es passieren, daß bei einem schweren Problem apt nicht in der Lage ist, das Problem zu beheben. In diesem Fall müssen Sie von Hand mit dem Programm dpkg den Konflikt beseitigen. Sie können danach mit apt-get fortfahren.
aktualisiert die Übersicht der verfügbaren Pakete, liest also die Informationen aus den Dateien Packages.gz der jeweiligen Distribution ein. Sie sollten update immer ausführen, wenn Sie wissen, daß sich die Inhalte der Paketdateien beziehungsweise die verfügbaren Pakete auf dem Server geändert haben. Auf jeden Fall sollten Sie update vor dem Aufruf von upgrade oder dist-upgrade aufrufen.
Um alle auf dem System installierten Pakete auf die aktuelle Version zu bringen, können Sie upgrade benutzen. Alle bereits installierten Pakete, von denen eine neuere Version verfügbar ist, werden aktualisiert. Es werden keine Pakete gelöscht, die bereits installiert sind (und in den neuen Paketdateien nicht mehr enthalten sind), oder Pakete installiert, die noch nicht auf dem System vorhanden sind. Pakete, die bereits installiert sind und es bei einem Upgrade erforderlich machen, den Status anderer Pakete zu verändern, werden nicht aktualisiert. apt-get update muß vorab ausgeführt werden, so daß sichergestellt ist, daß die Paketinformationen auf dem neuesten Stand sind.
ist eigentlich eine Ergänzung oder Erweiterung zu upgrade. Es wird hierbei dafür Sorge getragen, daß für das System wichtigere Pakete zuerst installiert werden. Hierbei werden in engen Grenzen auch Abhängigkeiten verändert, um ein Paket installieren zu können. Dies ist dann notwendig, wenn ein System komplett auf eine neue Version umgestellt werden soll und kein „sanfter“ Übergang gewährleistet werden kann.
Mit dieser Option werden auch die Paketinformationen „recommends“ und „suggests“ ausgewertet. dies ist sonst nur mittels dselect möglich. Diese Vörschläge für weitere Pakete sind zur Funktion des gewünschten Paketes nicht zwingend erforderlich, können aber durchaus sinnvoll sein.
Diese Option benötigt noch einen oder mehrere Paketnamen. Jedes dieser Pakete (der Paketname, also beispielsweise sendmail, reicht hierbei aus) sowie die noch benötigten Pakete (diese werden automatisch ermittelt) werden auf Basis der Informationen in /etc/apt/sources.list geholt und installiert. Wenn Sie hinter den Namen des Paketes ein Minuszeichen (-) setzen, wird das Paket aus dem System entfernt, wenn es bereits installiert ist. Achten Sie darauf, daß das Minuszeichen direkt nach dem Paketnamen steht, ohne ein Leerzeichen dazwischen. Diese Funktion kann auch bei Konflikten bei der Installation einzelner Pakete sehr nützlich sein, Sie können so Pakete in einem Vorgang löschen und installieren. Die Option „install“ wählt immer die aktuellste verfügbare Version eines Paketes aus. Es kann jedoch sinnvoll sein auch Zugriff auf ältere Programmversionen zu haben. Hierzu kann aber der Version 0.5.3 von apt folgende Syntax verwendet werden: apt-get install sane/unstable. Durch einen Slash getrennt kann hinter dem Paketnamen die gewünschte Release eines Paketes angegeben werden.
Diese Funktion ist identisch mit der vorherigen, nur mit dem Unterschied, daß die Pakete standardmäßig entfernt werden, statt sie zu installieren. Analog zu dem eben Beschriebenen können Sie hier in Pluszeichen (+) verwenden, um Pakete zu installieren.
dient lediglich zur Diagnose. Es wird überprüft, ob sich irgendwelche Unstimmigkeiten in den Paketen finden.
Dies löscht das lokale Verzeichnis, in dem sich die zu installierenden Pakete befinden. Alles, mit Ausnahme der lock-Datei, wird aus /var/cache/apt/archives/ und /var/cache/apt/archives/partial/ gelöscht.
Dieses Kommando holt die notwendigen Dateien zur Erzeugung eines Binärpaketes. Es können so angepasste Pakete erzeugt werden oder aber Pakete auf einer anderen Architektur übersetzt werden. Wichtig ist hier bei ein entsprechender „deb-src“ Eintrag in der Datei sources.list. Um alle zu einem Paket gehörenden Dateien von einem Server zu holen, reicht das Kommando apt-get source paketname. Es werden die aktuellen Versionen der Dateien paketname.orig.tar.gz, paketname.dsc und paketname.diff.gz im aktuellen Verzeichnis gespeichert.
Um aus den Quellen direkt in Binärpaket zu erzeugen, kann die Option -b angegeben werden. Das komplette Kommando lautet dann apt-get source -b paketname. Wenn die benötigten Source Pakete bereits vorliegen, kann ds Binärpaket auch direkt mit dem Kommando dpkg-buildpackage -rfakeroot -us -uc erzeugt werden.
Die meisten Softwarepakete benötigen bei der Übersetzung aus den Quellpaketen weiter Entwicklungspakete wie Librarys und Header Dateien. Diese werden häufig nicht mitgeliefert und liegen in gesonderten Paketen vor. Das Debian Paketsystem sieht sogenannte „build dependencies“ vor in denen alle Abhängigkeiten zur Erzeugung eines Paketes beschrieben sind.
Das Kommando apt-get build-dep paketname sorgt dafür das alle zur Übersetzung eines Paketes benötigten Dateien auf dem System vorhanden sind.
Als kleine versteckte Option haben die Entwickler auch noch noch ein sogenanntes „Easter-Egg“ eingebaut:
fr@nigiri:~$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ...."Have you mooed today?"... |
Soweit zu den Parametern. Sie können noch folgende Optionen benutzen um apt-get zu steuern.
Zeigt die Hilfe zu apt-get an.
Ignoriere eventuell fehlende Pakete
Holt die gewünschten Pakete vom Server, ohne diese zu installieren.
Behebt die defekten Abhängigkeiten zwischen den Paketen. apt-get -f install versucht, diese automatisch zu reparieren.
Simulation, führt keine Aktionen aus.
Zeigt auch die zu aktualisierenden Pakete an.
Aktualisiert alle Pakete automatisch indem alle Fragen mit „Yes“ beantwortet werden.
Hier nun ein Beispiel aus der Praxis zur Benutzung von Apt:
Beachten Sie bitte, daß Pakete nur mit Superuser-Rechten (root) installiert werden können.
Zuallererst muß apt die Informationen über die verfügbaren Pakete erhalten, hierzu dient das Kommando apt-get update.
sushi:/root # apt-get update Hit ftp://192.168.0.5 potato/main Packages Hit ftp://192.168.0.5 potato/main Release Get:1 ftp://192.168.0.5 potato/non-free Packages [78.6kB] Get:2 ftp://192.168.0.5 potato/non-free Release [99B] Fetched 68.5kB in 0s (104kB/s) Reading Package Lists... Done Building Dependency Tree... Done |
sushi:/root# apt-get install sane Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: libgimp1 libsane The following NEW packages will be installed: libgimp1 libsane sane 0 packages upgraded, 3 newly installed, 0 to remove and 3 not upgraded. Need to get 703kB of archives. After unpacking 1729kB will be used. Do you want to continue? [Y/n] |
Wenn mehrere Pakete gleichzeitig installiert werden sollen, so können diese einfach hintereinander auf der Kommandozeile angegeben werden.
Normalerweise wird apt mit einem direkten Zugriff zu einem Archiv benutzt, sei es daß die Daten auf einer lokalen Festplatte liegen oder von einer CD-ROM kommen oder über ein Netzwerk installiert werden sollen. Trotzdem kann es sinnvoll sein, wenn Sie keine aktuellen CDs zur Hand haben oder Ihnen der Download der Dateien zu langwierig ist, die Daten auf einem anderen Medium, zum Beispiel ein ZIP, von einem Rechner mit den aktuellen Paketen zu kopieren und zu installieren.
Problematisch ist dabei, daß ein solches Medium nicht ausreicht, um eine komplette Debian-Distribution aufzunehmen. Aber es reicht ja auch aus, nur die benötigten Pakete zu kopieren. Sie müssen also mittels apt eine Liste der benötigten Pakete erstellen und diese auf dem Rechner mit einer schnellen Anbindung ans Netz downloaden. Für den Download der Dateien ist das Programm wget gut geeignet.
Weiterhin müssen Sie apt dazu bringen, die Paketdateien von dem neuen Medium zu lesen. Dieses sollte mit einem Dateisystem formatiert sein, welches mit langen Dateinamen umgehen kann; dies wären zum Beispiel: ext2, vfat oder fat32.
Wenn apt auf beiden Rechnern installiert ist, können Sie über die Statusdatei (status) feststellen lassen, welche Pakete auf dem Zielrechner fehlen. Die Verzeichnisstruktur auf dem Medium sollte wie folgt aussehen:
/medium/ archives/ partial/ lists/ partial/ status sources.list apt.conf |
In der Konfigurationsdatei teilen Sie apt mit, daß die Debian-Pakete auf dem Medium zu speichern sind und daß dort auch die Konfigurationsdateien zu finden sind. Die Datei sources.list sollte den Server enthalten, von dem die Pakete geholt werden sollen. Die Datei status ist eine Kopie der Datei /var/lib/dpkg/status von Ihrem Zielrechner.
Die Datei apt.conf enthält die nötigen Informationen, um das Medium zu benutzen:
APT { /* nur notwendig, wenn die beiden Rechner nicht die gleiche Architektur haben */ Architecture "i386"; Get::Download-Only "true"; }; Dir { /* die status-Datei auf dem Medium nutzen. */ State "/medium/"; State::status "status"; /* auf dem Medium cachen */ Cache::archives "/medium/archives/"; /* da ist auch die Datei sources.list */ Etc "/medium/"; }; |
Die weiteren Schritte können Sie auf dem zweiten Rechner durchführen. Passen Sie die Datei sources.list an. Dann führen Sie folgendes auf diesem Rechner aus:
export APT_CONFIG="/medium/apt.conf" apt-get update apt-get dist-upgrade |
Wenn alle Dateien auf das Medium übertragen wurden, können Sie diese zu Ihrem Zielrechner transportieren und die Pakete wie folgt installieren:
export APT_CONFIG="/medium/apt.conf" apt-get check apt-get --no-d -o dir::etc::status=/var/lib/dpkg/status dist-upgrade |
Wenn Sie nicht die Möglichkeit haben, die Dateien auf einem Rechner mit apt aus dem Netz zu kopieren, können Sie alternativ auch das Programm wget benutzen. Dieses ist nicht Teil der Debian GNU/Linux-Basisinstallation, Sie müssen also zunächst das Paket installieren.
wget dient zum Kopieren von Webseiten inklusive der dazugehörigen Grafiken und eventueller weiterer mit dieser Seite verlinkten Seiten. Wir werden wget aber zum gezielten Kopieren der benötigten Debian-Pakete von einem Server benutzen.
Sie können die Pakete mittels wget kopieren, indem Sie apt-get mit der Option -*-print-uris dazu benutzen, um eine Liste der benötigten Pakete mit der kompletten URL für wget zu erzeugen.
Entgegen dem eben vorgestellten Beispiel brauchen Sie hier keine extra Konfigurationsdateien (außer natürlich der Datei /etc/apt/sources.list, welche von apt benötigt wird). Führen Sie die folgenden Kommandos auf dem Rechner aus, auf dem die Pakete später installiert werden sollen.
apt-get dist-upgrade apt-get -qq --print-uris dist-upgrade > uris awk '{print "wget -O " $2 " " $1}' < uris > /medium/wget-script |
Die Datei /medium/wget-script enthält nun eine Liste mit Kommandos, welche die benötigten Pakete aus dem Netz holen. Sie können dieses jetzt auf dem Medium ausführen:
cd /medium sh -x ./wget-script |
Wenn alle Dateien übertragen wurden, können Sie das Medium zu Ihrem Zielrechner transportieren und die Pakete mit folgendem Kommando installieren:
apt-get -o dir::cache::archives="/medium/" dist-upgrade |
Mit apt-cache können die verschiedensten Abfragen zu den bekannten Paketen (also auch zu den noch nicht installierten) erstellt werden. Dies beschränkt sich nicht nur auf Paketnamen oder die zu einem Paket gehörenden Dateinamen sondern es können auch Informationen zu den Metadaten erfragt werden.
Wenn Sie nicht die Option -h oder --help benutzen muß mindestens eines der folgenden Kommandos angegeben werden.
fügt die angegebene Package-Datei dem Package-Cache hinzu.
diese Option bewirkt das gleiche wie apt-get check. Es werden die Source und Package Caches aus den Informationen in /etc/apt/sources.list und /var/lib/dpkg/status erstellt.
diese Option zeigt Informationen über die weiterhin auf der Kommandozeile angegebenen Pakete. Es werden die verfügbaren Versionen der Pakete sowie die gesammten Abhängigkeiten dieser Pakete angezeigt. Hierbei wird zwischen sogenannten „forward“-Dependencies und „reverse“-Dependencies unterschieden. Forward-Dependencies (dies sind die im normalen Sprachgebrauch verwendeten Abhängigkeiten) beziehen sich auf die Pakete die das angefragte Paket benötigt um einwandfrei zu funktionieren. Reverse-Dependecies beschreiben die Pakete die das angefragte Paket benötigen um zu funktionieren. Ein Beispiel: apt-cache showpkg bash gibt folgendes Ergebnis aus:
Package: bash Versions: 2.05a-12(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_sid_ main_binary-i386_Packages)(/var/lib/dpkg/status) 2.05a-11(/var/lib/apt/lists/192.168.1.1_home_ftp_debian_dists_woody_ main_binary-i386_Packages) Reverse Depends: kernel-patch-ltt,bash 2.0 kernel-patch-lkcd,bash 2.0 kernel-patch-kdb,bash 2.0 kernel-patch-acl,bash 2.0 horde2,bash cron-apt,bash 2.03-6 common-lisp-controller,bash 2.04-9 cdcontrol,bash 2.0 bash-doc,bash 2.03-1 bash-builtins,bash 2.05a-12 base-files,bash 2.03-3 txt2regex,bash 2.04 openmosix,bash 2.0 mosix,bash 2.0 mkrboot,bash mason,bash kernel-patch-ulog,bash 2.0 kernel-patch-ttl,bash 2.0 kernel-patch-ltt,bash 2.0 kernel-patch-kiobuf-bigmem,bash 2.0 kernel-patch-kiobuf,bash 2.0 kernel-patch-kdb,bash 2.0 kernel-patch-irc,bash 2.0 kernel-patch-badram,bash 2.0 htmlheadline,bash 2.04-1 horde,bash 2.03-6 gopherweblink,bash gibraltar-bootsupport,bash foomatic-bin,bash 2.05 diffmon,bash 2.0 cron-apt,bash 2.03-6 common-lisp-controller,bash 2.04-9 colorgcc,bash cdcontrol,bash 2.0 bug,bash 2.04-1 bash-doc,bash 2.03-1 bash-builtins,bash 2.05a-11 base-files,bash 2.03-3 Dependencies: 2.05a-12 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) grep-dctrl (0 (null)) bash-completion (0 (null)) bash-doc (1 2.05-1) bash-completion (0 (null)) 2.05a-11 - base-files (2 2.1.12) libc6 (2 2.2.4-4) libncurses5 (2 5.2.20020112a-1) bash-completion (0 (null)) bash-doc (1 2.05-1) bash-completion (0 (null)) Provides: 2.05a-12 - 2.05a-11 - Reverse Provides: |
Es müssen also, damit dieses Paket funktioniert, mindestens die unter „Dependencies:“ aufgeführten Pakete installiert sein. Eine weitere wichtige Information sind die „Reverse Depends:“. Dies sind Pakete die von diesem Paket (bash) abhängen.
Es wird eine Statistik über den aktuellen Cache ausgegeben. Es sind keine weiteren Argumente notwendig. Folgende Informationen werden ausgegeben:
fr@sushi:~$ apt-cache stat Total Package Names : 8953 (358k) Normal Packages: 6872 Pure Virtual Packages: 259 Single Virtual Packages: 176 Mixed Virtual Packages: 115 Missing: 1531 Total Distinct Versions: 9133 (438k) Total Dependencies: 47613 (1143k) Total Ver/File relations: 19322 (309k) Total Provides Mappings: 1889 (37.8k) Total Globbed Strings: 110 (1273) Total Dependency Version space: 179k Total Slack space: 86.3k Total Space Accounted for: 2374k |
Total Package Names Anzahl der Paketnamen die im Cache gefunden wurden
Normal Packages Dies sind Pakete deren Namen in einer Abhängigkeit zu einem anderen Paket stehen, hierunter fällt eine große Zahl der Pakete.
Pure Virtual Packages Anzahl der „virtuellen“ Paketnamen im Cache. Dies sind Pakete die ein Paket zur Verfügung stellen, deren Name aber nicht mit diesem zu tun hat, als Beispiel sein hier mail-transport-agent genannt, einige Pakete (beispielsweise exim, qmail und sendmail) stellen das Paket mail-transport-agent zur Verfügung, es gibt aber kein Paket mit dem Namen mail-transport-agent.
Single Virtual Packages Dies ist die Anzahl der Pakete die ein virtuelles Paket zur Verfügung stellen, dies aber nur einmalig im Cache auftaucht. Das virtuelle Paket X11-text-viewer wird beispielsweise nur von xless zur Verfügung gestellt.
Mixed Virtual Packages Anzahl der Pakete die sowohl als virtuelle als auch als reale Pakete vorhanden sind. debconf ist als reales Paket vorhanden, wird aber auch von debconf-tiny zur Verfügung gestellt.
Missing Pakete die in einer Abhängigkeit benannt werden, aber nicht im Cache zu finden sind. Dies kann vorkommen wenn kein Zugriff auf eine komplette Debian Distribution gegeben ist oder wenn Pakete aus der Distribution entfernt wurden.
Total Distinct Versions Die Anzahl der Paketversionen im Cache. Diese ist im Normalfall gleich der Anzahl der gesamten Pakete. Wenn jedoch zwei Distributionen (beispielsweise „stable“ und „testing“) benutzt werden, kann es vorkommen das mehrere Versionen eines Paketes verfügbar sind. In diesem Fall kann die Zahl deutlich über der der gesamten Pakete liegen.
Total Dependencies Die Anzahl der gesamten Abhängigkeiten zwischen allen Paketen im Cache.
Total Ver/File relations
Total Provides Mappings
Total Globbed Strings
Total Dependency Version space
Total Slack space
Total Space Accounted for
Zeigt eine kurze Information zu jedem Paket an, dies ist für den normalen Benutzer wenig sinnvoll und ist zur Fehlersuche für Entwickler gedacht.
Zeigt eine Liste der verfügbaren Pakete.
Zeigt eine Zusammanfassung aller nicht erfüllten Abhängigkeiten.
Hat einen ähnliche Effekt wie das Kommando dpkg --print-avail und zeigt die Paketinformationen für die angegebenen Pakete.
Führt eine Volltextsuche über alle verfügbaren Paketdateien durch. Es können Reguläre Ausdrücke benutzt werden. Es werden die Paketnamen und Beschreibungen nach dem Suchbegriff durchsucht und es wird der Paketname und die Kurzbeschreibung der entsprechenden Pakete ausgegeben. Wenn die Option --full angegeben wird, entspricht die Ausgabe der von show. Mit der Option --names-only wird die Paketbeschreibung nicht durchsucht, die Suche beschränkt sich auf den Paketnamen.
Mehrere Suchargumente können angegeben werden und werden dann über eine UND-Verknüpfung ausgewertet.
Zeigt alle Abhängigkeiten eines Paketes an. Weiterhin werden alle anderen Pakete angezeigt die die geforderten Abhängigkeiten erfüllten können.
fr@wasabi@sushi:~$ apt-cache depends bash bash Depends: base-files PreDepends: libc6 PreDepends: libncurses5 Suggests: grep-dctrl Conflicts: <bash-completion> Replaces: bash-doc Replaces: <bash-completion> |
Die Option policy zeigt zu einem Paket die installierte sowie die verfügbaren Versionen aus den erreichbaren Quellen an.
fr@nigiri:~$ apt-cache policy bash bash: Installed: 2.05b-5 Candidate: 2.05b-5 Version Table: *** 2.05b-5 0 500 ftp://ftp.freenet.de sid/main Packages 100 /var/lib/dpkg/status 2.05b-3 0 500 ftp://ftp.freenet.de testing/main Packages 500 ftp://ftp.freenet.de sarge/main Packages 2.05a-11 0 500 ftp://ftp.freenet.de woody/main Packages |
Zeigt eine Liste aller Paketnamen. Optional kann eine Zeichenkette angegeben werden die als Suchprefix verwendet wird.
Dieser Option kann eine Liste von Paketnamen mitgegeben werden. Die Ausgabe erfolgt in einem Format welches vom Programm dotty aus dem Paket GraphVis (http://www.research.att.com/sw/tools/graphviz/) gelesen werden kann. So kann eine grafische Darstellung der Paketabhängigkeiten erstellt werden. Normalerweise werden alle Abhängigkeiten verfolgt, was zu sehr großen Dateien führen kann. Dies kann mit der Option APT::Cache::GivenOnly in der Datei /etc/apt/config deaktiviert werden.
apt-proxy ist ein Cache der zusammen mit APT von allen Debian Systemen aus im Netz genutzt werden kann. Lokale Netzwerke verfügen normalerweise über eine höhere Bandbreite wie für das gesammte Netz nach aussen ins Internet zur Verfügung steht. Durch einen gemeinsam genutzten Cache können bereits auf einem System installierte Pakete auch allen anderen Systemen verfügbar gemacht werden, ohne das diese Pakete nochmals aus dem Internet geholt werden.
apt-proxy kann als Cache effizienter mit Debian Paketen umgehen wie beispielsweise Squid. Dies liegt zum einen daran das apt-proxy die Paketdateien auswertet und alte Versionen löscht die nicht mehr benötigt werden. Zum anderen verwendet apt-proxy zur Übertragung von Dateien das Programm rsync, so daß abgebrochene Downloads fortgesetzt werden können. Alternativ können auch die Protokolle HTTP und FTP zum Download genutzt werden.
Nach der Installation muss zunächst in der Datei apt-proxy.conf ein gut erreichbarer Debian Server eingetragen werden, von diesem werden dann alle Pakete geholt. Auf alle Clients die den APT Proxy benutzen sollen ist die Konfiguration so anzupassen das der Rechner auf dem apt-proxy installiert ist als Quelle verwendet wird. apt-proxy läuft auf dem Port 9999, die Einträge in der Datei sources.list auf den Clients müssen folgendes Format haben
deb http://SERVER:9999/main woody main contrib non-free deb http://SERVER:9999/non-US woody/non-US main contrib non-free deb-src http://SERVER:9999/main woody main contrib non-free deb-src http://SERVER:9999/non-US woody/non-US main contrib non-free |
Hierbei ist zu beachten das „SERVER“ durch den entsprechenden Rechnernamen/IP Nummer ersetzt wird. Nachdem diese Anpassungen vorgenommen worden sind, wird auf einem der Clients das Kommando apt-get update aufgerufen um auf dem Server die Verzeichnisse zu initialisieren und die Paketlisten verfügbar zu machen. Nun können alle Clients diesen zentralen Dienst transparent nutzen.
Wenn bereits auf dem Server ein Verzeichnis mit Debian Paketen vorliegt, so kann dies mittels apt-proxy-import in den Cache von apt-proxy integriert werden.
apt-move ist ein Shell-Skript mit dem eine Anzahl von lokal vorliegenden Debian Paketen in eine Verzeichnisstruktur verschoben werden kann die wiederrum einem Debian Archiv entspricht. Die Dateien werden dabei in einer Verzeichnisstruktur unterhalb von $LOCALDIR/pool/... abgelegt, die Variable $LOCALDIR kann dabei in der Konfigurationsdatei festgelegt werden. Hauptsächlich wurde apt-move entwickelt um via apt-get aus dem Netz übertragene Dateien aus dem Datei-Cache in ein Debian-Archiv zu übernehmen, die Konfiguration kann jedoch so angepasst werden das jede beliebige Sammlung von Paketen (beispielsweise von CD-ROMs) dem Archiv hinzugefügt werden kann.
Weiterhin besteht die Möglichkeit mittels der Optionen sync und mirror eine Kopie, auch von Teilen, eines Debian Servers zu erstellen. Auch können überflüssige, veraltete Pakete gelöscht werden und es können lokale Packages.gz und Sources.gz Dateien erzeugt werden.
apt-move kennt eine ganze Reihe von Kommandos und Optionen:
$Id: apt-move,v 1.79 2002/10/23 22:16:33 herbert Exp $ Usage: apt-move [-c conffile] [-d dist] [-fqt] COMMAND Commands: get - update your master files from local apt. getlocal - alias of get. fsck - fix broken repositories, use with caution. move - move cache files into mirror tree. movefile - move files specified on the command line. delete - delete obsolete packages. packages - create new local Packages files. update - alias for 'get move delete packages'. local - alias for 'move delete packages'. localupdate - alias for 'getlocal move delete packages'. mirror - update your local mirror from remote rsync site. sync - same as mirror, but only gets packages that you currently have installed on your system. exclude - prints a list of all packages EXCLUDED from the mirror by the .exclude file (ignores -t). listbin - prints lists of packages which can serve as the input to mirrorbin. Takes the arguments mirror, sync, or repo. listsrc - same as listbin, but lists source packages. mirrorbin - same as mirror, but gets the packages specified on stdin. mirrorsrc - same as mirrorbin, but gets source packages. Options: -c Specify an alternative configuration file. -d Override the DIST setting. -f Override the MAXDELETE setting (use with caution). -q Be quiet; suppress normal output. -t Show what apt-move would do, but do not actually do anything. See the apt-move(8) manpage for further details. |
Bevor apt-move eingesetzt werden kann, ist die Konfigurationsdatei /etc/apt-move.conf anzupassen. Diese Datei ist, wie alle Konfigurationsdateien auf einem Debian System, recht gut kommentiert. Wichtig ist es die Optionen APTSITES (entsprechend den Einträgen in der Datei /etc/apt/sources.list), LOCALDIR und DIST anzupassen. Diese beschreiben die Server von denen die Dateien geholt werden sollen, die lokalen Bereich in dem die Pakete gespeichert werden sollen und die gewünschte Distribution.
Nach der Anpassung dieser drei Optionen wird apt-move zumindest keinen größeren Schaden anrichten.... ;-). Weitere Anpassungen können später noch vorgenommen werden, beispielsweise ist es sinnvoll nach einiger Zeit nicht mehr benötigte Dateien zu löschen, dies wird durch setzen der Option DELETE auf yes erreicht.
In jedem Fall sollten die ersten Versuche mit apt-move immer den Parameter -t beinhalten, dieser testet nur die Einstellungen und es werden keine Aktionen durchgeführt.
Sollen bestimmte Dateien (beispielsweise Kernel-Sourcen) ausgeschlossen werden, so können diese in einer Exclude-Datei festgelegt werden. Ein Beispiel für eine solche Datei findet sich unter /usr/share/doc/apt-move/examples/SAMPLE.exclude.
apt-ftparchive erzeugt Index Dateien die von APT benutzt werden können um auf ein Paketverzeichnis zuzugreifen. Die Funktionalität ist vergleichbar mit der von dpkg-scanpackages und dpkg-scansources und kann diese Programme ersetzen.
Die wichtigsten Kombinationen sind:
packages binarypath [overridefile [pathprefix]] sources srcpath [overridefile [pathprefix]] contents path generate config [groups] clean config |
Dieses Programm vergleicht die APT Listen mit Source Dateien sowie das dpkg Status File und zeigt auf von welchen Paketen höhere Versionsnummer wie bereits installiert verfügbar sind. Um festzustellen welche Version die Sourcen eines Programmes haben, müssen natürlich entsprechende Einträge in der sources.list vorhanden sein. Hierbei ist auch darauf zu achten welche Release (potato, woody usw.) in den jeweiligen Zeilen angegeben ist.
fr@wasabi:~$ apt-show-source -p bash Sorry, no newer source package available for bash |
In diesem Beispiel ist keine aktuellere Version dieses Pakete als Source Paket verfügbar. Zeigt jedoch die „deb-src“ Zeile auf eine ältere Release, so kann durchaus der Fall eintreten das das Source Paket auf einem älteren Stand ist.
fr@wasabi:~$ apt-show-source -p bash Inst. Package (Version) | Newest Source Package (Version) ------------------------------------------------------------------------------- bash (2.05a-12) | bash (2.05a-11) |
Dieses Kommando zeigt die aktuell installierten Pakete, die Version und die Release an. Mittels der Option -p kann nur ein bestimmtes Paket angegeben werden, -r erlaubt die Filterung mittels Wildcard. Die Option -u zeigt alle Pakete die aktualisiert werden können.
fr@surimi:~$ apt-show-versions -h Apt-Show-Versions v.0.02 (c) Christoph Martin Usage: apt-show-versions shows available versions of installed packages. Options: -stf|--status-file=<file> Use <file> as the dpkg status file instead of /var/lib/dpkg/status -ld|list-dir=<directory> Use <directory> as path to apt's list files instead of /var/state/apt/lists/ or /var/lib/apt/lists/ -p|--package=<package> Print versions for <package>. -r|--regex Read package with -p as regex -u|--upgradeable Print only upgradeable packages -a|--allversions Print all available versions. -b|--brief Short output. -v|--verbose Verbose messages. -h|--help Print this help. fr@surimi:~$ apt-show-versions -r -p kernel* kernel-image-2.4.13-686: No available version kernel-image-2.2.20-udma100-ext3/unstable upgradeable from 2.2.20-6 to 2.2.20-7 kernel-source-2.2.20/testing uptodate 2.2.20-5 kernel-image-2.4.5-686-smp: No available version kernel-headers-2.2.20-udma100-ext3/unstable uptodate 2.2.20-7 kernel-package/unstable uptodate 8.004 |
auto-apt dient zur Installation von Programmen „bei Bedarf“. Dies kann beispielsweise bei der Softwareentwicklung oder auch schon beim einfachen übersetzen eines neuen Kernel sinnvoll sein. Mitunter fehlt auf frisch installierten Debian Systemen noch das Paket bin86 welches für das erzeugen eines Kernels benötigt wird. Um automatisch die fehlenden Pakete zu installieren wird einfach dem Aufruf von make das Kommando auto-apt vorangestellt: auto-apt make bzImage. Werden nun während des Durchlaufes fehlende Programme festgestellt, so ermittelt auto-apt zu welchem Paket diese gehören und installiert die fehlenden Pakete inklusive aller Abhängigkeiten.
In den meisten Debian Paketen sind sogenannte „changelog“ Dateien enthalten. In diesen dokumentiert der Betreuer eines Paketes die Änderungen zu vorhergehenden Version. Ein Blick in diese Dateien nach einem Update ist bei der Fehlersuche hilfreich wenn Probleme aufgetreten sind. Beispielsweise können in der neuen Version eines Paketes Dateien an einem anderen Ort liegen oder ein Dienst „horcht“ plötzlich auf einem anderen Port.
Da diese Änderungen erst nach der Installation bemerkt werden kann es zu unerwünschten Unterbrechungen im Betrieb kommen. Abhilfe schafft hier das Paket apt-listchanges. Dieses zeigt vor der Installation eines Paketes die Veränderungen die im Changelog dokumentiert sind an, der Administrator hat die Möglichkeit den Installationsvorgang an dieser Stelle abzubrechen.
fr@wasabi:~# apt-get install libmng1 ... Reading changelogs... Done libmng (1.0.3-4) unstable; urgency=low * Build with renamed version of lcms. -- Luis Arocha <data@debian.org> Mon, 3 Jun 2002 18:27:19 +0100 apt-listchanges: Mailing changelogs to fr Selecting previously deselected package liblcms1-dev. (Reading database ... 115754 files and directories currently installed.) ... |
apt-listchanges wird bei der Installation über Debconf konfiguriert, es kann dort eine E-Mailadresse angegeben werden an die die Changelog Informationen gesendet werden. Weiterhin kann bei der KOnfiguration gewählt werden ,ob nach dem Anzeigen des Changelogs die Installation fortgesetzt werden soll oder, (wie in diesem Beispiel, die Installation abgebrochen werden soll.
MIttels apt-config läßt sich der Inhalt der Datei /etc/apt/config sowie die voreingestellten Werte anzeigen. Weiterhin lassen sich auch einzelne Werte mit diesem Tool setzen.
Die Optionen von apt-config lesen sich recht übersichtlich:
apt 0.5.4 for linux i386 compiled on Aug 19 2001 01:02:39 Usage: apt-config [options] command apt-config is a simple tool to read the APT config file Commands: shell - Shell mode dump - Show the configuration Options: -h This help text. -c=? Read this configuration file -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp |
apt-config sollte nicht als Kommando eingesetzt werden, es ist eigentlich als Systemkommando für die Verwendung innerhalb von Installations Skripten vorgesehen.
Mit Console-Apt oder auch capt können Sie über eine textbasierte Oberfläche, ähnlich wie bei dselect, die Pakete auf Ihrem System verwalten.
Sie können capt auch als console-apt oder apt-find aufrufen (apt-find war der Vorgänger von capt). capt kann aber auch apt-get ersetzen. Hierzu wurden alle nötigen Kommandozeilenparameter, die von apt-get bekannt sind, auch in capt umgesetzt.
Aktualisiert alle installierten Pakete, von denen eine neuere Version verfügbar ist.
Aktualisiert die Liste der verfügbaren Pakete.
Installiert die gewünschten Pakete und führt ggf. vorher einen Download durch.
Entfernt Pakete aus dem System.
Zeigt eine kurze Hilfe zu den verfügbaren Optionen an.
Zeigt die Programmversion (von capt an.
Hier eine Übersicht der Tastaturbelegung von capt:
Zeigt die Paketabhängigkeiten (dependencies) an.
Zeigt die Paketbeschreibung (description) an.
Ändert die Sortierung in der Anzeige. Sie können zwischen einer Sortierung nach Namen, nach Sektion und Namen, nach Archivgröße, nach installierter Größe und nach Status und Namen wählen.
Suchen nach Programmnamen.
Setzt die beim Suchen markierten Einträge zurück.
Springt zum nächsten Eintrag, der dem Suchbegriff entspricht.
Markiert ein Paket zur Installation/Upgrade.
Markiert ein Paket zum Löschen.
Aktualisiert alle älteren Pakete (Upgrade).
Vervollständigt alle noch offenen Installations- oder Löschvorgänge, bei denen zuvor Probleme aufgetreten sind.
Aktualisiert die Liste der verfügbaren Pakete.
Liste den Cache für Apt neu ein.
Bewegt den Auswahlbalken zum nächsten Eintrag.
Bewegt den Auswahlbalken zum vorherigen Eintrag.
Springt an den Anfang der Liste.
Springt ans Ende der Liste.
Springt eine Bildschirmlänge nach oben.
Springt eine Bildschirmlänge nach unten.
Scrollt in der Paketbeschreibung nach oben.
Scrollt in der Paketbeschreibung nach unten.
Ruft die Hilfeseiten auf.
Beendet das Programm beziehungsweise verläßt die Hilfeseite.
aptitude verfolgt eine etwas andere Philosophie wie dselect. Es wird streng nach installierten, nicht installierten, virtuellen Paketen und Paketen mit einer neueren Version unterschieden. Innerhalb dieser vier Gruppen werden alle Pakete in einer Baumstruktur dargestellt, die auch die Verzeichnisstruktur innerhalb des Debian Archives darstellt, also beispielsweise: main/admin oder non-US/non-free.
Sie können einzelne Teile der Struktur aufklappen und in den einzelnen Bereichen Pakete auswählen.
Auch bei aptitude decken sich die meisten Tastaturbelegungen mit dselect beziehungsweise capt.
Bewegt den Auswahlbalken zum nächsten Eintrag.
Bewegt den Auswahlbalken zum vorherigen Eintrag.
Klappt ein Verzeichnis auf/zu.
Springt zum Verzeichnis zu dem das Paket gehört.
Markiert ein Paket zur Installation. Bitte beachten Sie, daß aptitude momentan noch nicht die Abhängigkeiten prüft! Diese Funktion ist noch nicht realisiert.
Markiert ein Paket zum Löschen. Momentan ist es nicht möglich, das Paket zusammen mit den Konfigurationsdateien über aptitude zu löschen (purge).
Zeigt die Beschreibung des Paketes an.
Zeigt die Abhängigkeiten des Paketes an.
Zeigt die verfügbaren Versionen des Paketes an.
Aktualisiert die Liste der verfügbaren Pakete.
Startet die Installation der ausgewählten Pakete.
„Normalzustand“ eines Paketes. Beim nächsten Installationsdurchlauf wird dieses Paket nicht verändert. Fett geschriebene Pakete sind bereits installiert.
Paket ist in einem unbrauchbaren Zustand oder kann nicht installiert werden.
Paket wird mit einer neueren Programmversion aktualisiert.
Dieses Paket könnte aktualisiert werden, es wurde aber auf dem aktuellen Stand fixiert (hold).
Paket wird installiert.
Paket wird gelöscht.
Dieses Programm passt sich mit seiner GTK+-basierten Oberfläche perfekt in den aktuellen Debian GNOME Desktop ein. Auch mit gnome-apt können Sie alle wichtigen Aufgaben erfüllen, die bei der Paketverwaltung anfallen.
Sehen wir uns zunächst die Menüs der Reihe nach an.
„File“ – hier finden sich zwei Einträge zur Konfiguration des Programms sowie der Punkt „Quit“, welcher das Programm beendet. „General Preferences“ bietet die Möglichkeit, die Paketbeschreibung im Hauptfenster des Programms auszublenden („Show package details in main window“). Sie haben so mehr Platz, um die Paketliste mit den verschiedenen Kategorien anzeigen zu lassen. Weiterhin können Sie hier die Reihenfolge der Spalten in der Paketliste verändern.
Interessanter ist der zweite Eintrag „Sources“. Hier können Sie die Quellen angeben, von denen aus die Paketinformationen sowie die eigentlichen Debian-Pakete installiert werden sollen. An dieser Stelle können Sie zum ersten Mal Abschied vom Texteditor nehmen, um die Datei /etc/apt/sources.list zu bearbeiten.
Hinter der Schaltfläche „Add source“ verbirgt sich ein Assistent, der Sie durch die notwendigen Einstellungen führt. Ein Bild sagt wie so oft mehr als viele Worte, hier ein Beispiel für die Konfiguration einer neuen Installationsquelle:
Im ersten Dialog können Sie die gewünschte Version von Debian GNU/Linux auswählen. Normalerweise wird dies „stable“ für die stabile Version sein. Wenn Sie mit der Entwicklerversion experimentieren wollen, wählen Sie „unstable“, und wenn die Ihnen vorliegenden Pakete in kein Schema passen, steht Ihnen auch noch „other“ zur Auswahl.
Geben Sie hier nun die Adresse an, unter der die Pakete zu finden sind. Dies bezieht sich auf den Punkt im Verzeichnisbaum, an dem sich das Verzeichnis „dists“ befindet. Sie können auch einen bestehenden Eintrag aus der Liste wählen.
Wählen Sie hier nun eine oder mehrere Optionen aus. Sie bestimmen hier, aus welchen Bereichen der Distribution Pakete installiert werden sollen.
Die neue Quelle erscheint danach in der Liste und kann über „Remove source“ wieder entfernt werden oder über „Edit source“ nachträglich verändert werden. Allein diese Funktion wird einigen Nutzern so gut gefallen, daß Sie daraufhin nicht mehr auf gnome-apt verzichten wollen...
Hinter dem zweiten Menüpunkt „Actions“ finden Sie die eigentlichen Funktionen, die die notwendigen Aktionen auslösen, die Sie in der Paketliste eingestellt haben. „Update“ liest die Paketdateien neu ein und aktualisiert die Übersicht. Falls die Dateien nicht auf einem lokalen Medium vorliegen (CD-ROM oder Festplatte), werden diese per ftp oder http-Protokoll vom angegebenen Server geholt. „Complete run“ installiert die ausgewählten Pakete beziehungsweise entfernt die nicht mehr gewünschten Pakete aus dem System. „Mark upgrades“ entspricht einem apt-get upgrade und markiert alle neuen Pakete, so daß diese beim nächsten Anwählen von „Complete run“ aktualisiert werden. „Mark smart upgrade“ hingegen dient zur Aktualisierung eines Debian-Systems auf die nächste Version. Dies entspricht einem apt-get dist-upgrade.
„Package“ – hier ist der wichtigste Menüpunkt sicherlich „Search“. Hierunter verbirgt sich ein recht mächtiges Werkzeug, um aus der umfangreichen Liste einzelne Pakete zu finden.
Beachten Sie, daß hierbei nicht nur nach Namen von Paketen gesucht wird, sondern auch die Paketbeschreibungen sowie alle anderen verfügbaren Informationen durchsucht werden. Unix-Kundige erreichen sowas auch mit einem geschickten grep auf die passenden Dateien, aber hier steht Ihnen diese Funktion direkt zur Verfügung.
Die weiteren Einträge im Menü „Package“ ändern den Status eines Paketes, dies läßt sich aber auch mit einem Mausklick in der Paketliste in der passenden Spalte erreichen.
Das nächste Menü – „View“ – erlaubt Ihnen, auf vielfältige Weise die Anzeige der Paketliste zu verändern. Der erste Eintrag „Details“ entspricht der Anzeige der Paketinformationen im Hauptfenster und wird nur benötigt, falls Sie dieses in den Einstellungen für das Hauptfenster ausgeschaltet haben. Hinter dem Menüpunkt „Columns“ können Sie wählen, welche Spalten im Hauptfenster angezeigt werden sollen.
Am spannendsten sind die letzten beiden Einträge: hier können Sie sehr detailliert beeinflussen, in welcher Reihenfolge die Pakete in der Paketliste angezeigt werden sollen. Mittels „Group“ beeinflussen Sie die Anzeige der gesamten Pakete. Sie können hier zwischen einer alphabetischen Sortierung, nach Sektion, nach Priorität oder nach Status wählen. Die Sortierung nach Sektion wird Ihnen von dselect her bekannt vorkommen. Dabei werden die Pakete nach ihrer Zugehörigkeit, zum Beispiel „admin“ oder „x11“, angezeigt. Eine Sortierung nach Status wird Ihnen im allgemeinen lediglich die installierten und die noch nicht installierten Pakete anzeigen, also zwei Gruppen. Weiterhin lassen sich die Pakete nach Priorität anzeigen, hierbei wird unterschieden in „Extra“, „Important“, „No version available“, „Optional“, „Required“ sowie „Standard“
Der Menüpunkt „Order“ dient der Sortierung innerhalb der eben beschriebenen Gruppen, auch hier können Sie wieder zwischen den oben genannten vier Varianten wählen.
Die Einträge im Menü „Advanced“ sind momentan noch ohne Funktion, hier können Sie später Paketlisten im- und exportieren. Im Menü „Help“ verbergen sich allgemeine Informationen zu gnome-apt (Eintrag „About...“) sowie eine Übersicht über die Bedeutung der verwendeten Symbole:
Sie werden gnome-apt normalerweise zur Installation neuer Pakete auf Ihrem System einsetzen. Wählen Sie hierzu im Menü „Actions“ den Eintrag „Update“, um die Paketinformationen zu aktualisieren. Danach wählen Sie die gewünschten Pakete aus, hier am Beispiel von 2utf gezeigt.
Sie können natürlich noch weitere Pakete auswählen, dies soll lediglich ein einfaches Beispiel sein. Wenn Sie lediglich dieses eine neue Paket installieren möchten, wählen Sie nun aus dem Menü „Action“ den Eintrag „Complete run“ aus. Sie bekommen noch einmal angezeigt, welche Aktionen nun durchgeführt werden, mit einem Mausklick auf „OK“ wird das gewünschte Paket installiert.
Wenn Sie auch die Pakete, die seit der letzten Installation auf dem Server aktualisiert wurden, auf Ihrem System aktualisieren möchten, wählen Sie vor der Installation aus dem Menü „Action“ noch den Eintrag „Mark upgrades“ aus.
Zurück | Zum Anfang | Nach vorne |
dselect | Nach oben | APT Pinning |