Apt

Aus

Wechseln zu: Navigation, Suche

6.7 APT und Verwandte Datei Packages.gz vom deb Server holen(info über Pakete)

Inhaltsverzeichnis

6.7 APT und Verwandte

APT („A Package Tool“) stellt die nächste Generation der Debian GNU/Linux-Paketverwaltung dar.

In diesem Abschnitt wird zunächst auf die Konfiguration und Benutzung von Kommandozeilentools wie apt und dpkg sowie deren Verwandten eingegangen. Später werden dann auch grafische Frontends zur Paketverwaltung beschrieben.

6.7.1 APT konfigurieren

Wenn Sie APT bereits über das Programm dselect

als Installationsmethode benutzt haben, so haben Sie wahrscheinlich bereits APT auf Ihre Bedürfnisse angepasst. Hier noch einige weitergehende Informationen zu APT:

APT steht für „A Package Tool“, ein Programm also, welches den Systemadministrator 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 letzteren 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 und auf vielen Debian-FTP-Servern 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, sowie testing, die nächste zu veröffentlichende Version, entscheiden. Wie schon am Anfang dieses Buches beschrieben, bekommt jede Debian-Version einen Namen. Sie können auch diesen Namen hier einsetzen, also woody für die Version 3.0 oder sarge für die Version 3.1 bzw.

sid für die immer in der Entwicklung befindlichen, aktuellsten Pakete.

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:

file

dient zur Benutzung eines Verzeichnisses als Quelle für die Pakete. Dies kann ein lokales oder ein per NFS gemountetes Verzeichnis sein.

cdrom

benutzt ein lokal installiertes CD-ROM-Laufwerk 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.

http

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, dass die Benutzernamen und Passwörter auf diesem Wege unverschlüsselt übertragen werden.

ftp

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.

copy

Diese Methode ist identisch mit der Methode „file“, mit dem Unterschied, dass 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.

Hier nun einige Beispiele. Denken Sie daran, dass Sie durchaus mehrere dieser Einträge in der Konfigurationsdatei gleichzeitig verwenden können.

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/fr/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.

6.7.2 apt-setup

Mit apt-setup können über eine Benutzeroberfläche die Einträge in der Datei /etc/apt/sources.list ergänzt werden. 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 weiterer 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 Packages-Dateien zu lesen.

Abbildung 6.4. apt-setup

Als einzige Option kann beim Starten der Wert „probe“ übergeben werden. Dies führt dazu, dass eine eingelegte CD-ROM sofort eingelesen wird.

6.7.3 apt-cdrom

Dieses Kommando wird von

apt-setup zur Integration von neuen CD-ROMs verwendet, kann aber auch eigenständig auf der Kommandozeile eingesetzt werden.

Im einfachsten Fall führt das Kommando apt-cdrom add dazu, dass die eingelegte CD durchsucht und mit den entsprechenden Werten in die Datei sources.list aufgenommen wird. Hierzu ist ein entsprechender Eintrag für das CD-ROM-Laufwerk 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.9 for linux i386 compiled on Aug 10 2003 19:58:08
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)


6.7.4 apt-get

apt-get ist die zeitgemäße Benutzerschnittstelle zur Verwaltung von Paketen auf einem Debian-System. Während es mit dpkg möglich ist, jedes beliebige Debian-Paket zu installieren (wenn es zuvor auf die lokale Festplatte kopiert wurde), so ist

apt-get zwingend auf eine Paketliste und damit auch eine sinnvolle sources.list angewiesen. Somit ist immer gewährleistet, dass das System in einem stabilen und fest definierten Zustand verbleibt. Mit apt-get wird dem Administrator ein ebenso elegantes wie auch mächtiges Werkzeug gegeben. Dies haben auch viel andere Distributionshersteller erkannt und haben apt-get in die eigenen Distributionen aufgenommen. apt-get ist somit auch auf RPM-basierten Systemen zuhause. Es ist eben immer gut, wenn man auf der richtigen Seite kämpft ;-).

Dieses Programm ohne grafische Benutzeroberfläche ist recht einfach zu benutzen. Grafische Frontends zu apt sind mit aptitude und gnome-apt verfügbar.

6.7.4.1 Status-Report

Bevor apt-get die gewünschten Aktionen, wie zum Beispiel das Löschen oder Installieren 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. Hier ein Beispiel:


     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

Sollte es notwendig sein, Pakete zu löschen, oder es wurden Pakete zum Entfernen ausgewählt, so werden auch diese gesondert angezeigt.


     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

Diese Liste sollte aufmerksam geprüft werden um sicherzugehen, dass nicht versehentlich Pakete entfernt werden.

Wenn Pakete neu installiert werden, so wird auch darüber informiert:


     The following NEW packages will installed:
       zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base

Dies dient nur zur Information; diese Pakete sind bisher nicht auf Ihrem System installiert.

Bei der Auswahl der Pakete kann es passieren, dass auf Grund von nicht erfüllten Abhängigkeiten einzelne Pakete in der aktuellen Version behalten werden. Da nicht alle benötigten Komponenten installiert werden können, werden diese Pakete 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

Immer wenn ein System mit der Option upgrade

aktualisiert wird, kann es passieren, dass einzelne Pakete nicht aktualisiert werden können, weil diese auf Paketen basieren, die noch nicht in der benötigten Version verfügbar sind, oder aber es bestehen Konflikte mit bereits installierten Paketen. In diesem Fall werden die Pakete im aktuellen Zustand gehalten. Sie können apt-get install benutzen, um diese Pakete trotzdem zu aktualisieren.


     The following held packages will be changed:
       cvs

Wenn Sie ein auf „hold“ gesetztes Paket aktualisieren, bekommen Sie die Meldung, dass dieses Paket verändert (changed) wird. Außer bei apt-get install

kann diese Meldung auch bei apt-get dist-upgrade auftreten.

Abschließend findet sich 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.

Die erste Zeile ist eine knappe Zusammenfassung in Zahlen zu den bereits vorher ausgegebenen Informationen. In der zweiten Zeile finden Sie die nicht installierten Pakete, die bereits entpackt, aber nicht konfiguriert wurden („N packages not fully installed or removed“). In der dritten Zeile finden Sie die Informationen über den benötigten Platz und die zu übertragenden Daten. Hierbei steht die erste Zahl für die tatsächlich noch zu übertragenden Daten und die zweite für den Gesamtwert. Wenn bereits Pakete bei einer vorherigen Installation (möglicherweise auch nur teilweise) übertragen wurden, aber nicht installiert werden konnten, so werden diese gespeichert und nicht noch einmal übertragen.

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.

6.7.4.2 Status-Anzeige

Während des Herunterladens 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

Unmittelbar während des Downloads wird auch der Fortschritt angezeigt, inklusive der voraussichtlich noch benötigten Zeit für die Übertragung:


11% [5 frozen/non-free `Waiting for file' 0/32.1k 0%] 2203b/s 1m52s

In den mit Get: beginnenden Zeilen steht die benutzte Methode (hier ftp) und der benutzte Server. Den Servernamen können Sie in einem lokalen Netz auch verkürzt angeben, wie hier mit linux

gezeigt. Weiterhin wird der Bereich (frozen und stable) angezeigt sowie die Verzeichnisse (main, contrib usw.) und die Dateinamen mit der Dateigröße.

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) ...

Hier wird, in der Zeile „Get:“, der Paketname der zu installierenden Software angezeigt und danach das Paket entpackt und installiert.

6.7.4.3 Optionen und Kommandos

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:

check

Bei jedem Start von apt (mit der Ausnahme, wenn Sie die Option update benutzen) wird eine Reihe von Prüfungen durchgeführt, um sicherzustellen, dass 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

Als erstes werden die Paketdateien anhand der Informationen in /etc/apt/sources.list eingelesen. Wenn Sie diesen Vorgang noch einmal wiederholen, werden Sie feststellen, dass der zweite Test deutlich schneller beendet ist, die Informationen werden von apt zwischengespeichert. Für Paketdateien, die nicht gefunden werden, wird ggf. eine Warnung ausgegeben; diese Pakete werden dann ignoriert.

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 konfigurierten 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)


In diesem Beispiel gibt es eine ganze Reihe Probleme: Einige Pakete sind gar nicht installiert, bei anderen Paketen sind falsche Versionen installiert. Für jedes einzelne Paket, bei dem ein Problem festgestellt wurde, wird eine Zeile ausgegeben, mit den Informationen, um welches Paket es sich handelt und welches Problem festgestellt wurde.

Es gibt zwei Möglichkeiten, wie es zu solchen Problemen kommen kann: Bei einem „Upgrade“ kann es passieren, dass ein benötigtes Paket fehlt, oder aber während der Installation eines Paketes ist ein Problem aufgetreten. Wenn letzteres der Fall 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 Verwendung zu gewährleisten.

Trotzdem kann es passieren, dass 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.

update

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, dass 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.

upgrade

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 muss vorab ausgeführt werden, so dass sichergestellt ist, dass die Paketinformationen auf dem neuesten Stand sind.

dist-upgrade

ist eigentlich eine Ergänzung oder Erweiterung zu upgrade. Es wird hierbei dafür Sorge getragen, dass 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.

dselect-upgrade

Mit dieser Option werden auch die Paketinformationen „recommends“ und „suggests“ ausgewertet. dies ist sonst nur mittels dselect möglich. Diese Vorschläge für weitere Pakete sind zur Funktion des gewünschten Paketes nicht zwingend erforderlich, können aber durchaus sinnvoll sein.

install

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, dass das Minuszeichen unmittelbar 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 ab 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.

Eine weitere Möglichkeit ist es, falls verschiedene Versionen eines Paketes verfügbar sind, direkt die gewünschte Versionsnummer anzugeben. Zunächst sollte man mittels apt-cache prüfen, welche Versionen eines Paketes verfügbar sind. Mittels apt-get install vim=6.0.093-2 kann dann ganz gezielt die gewünschte Version installiert werden.

--reinstall

Diese Option installiert das gewünschte Paket komplett neu, auch wenn es bereits installiert ist.

remove

Diese Funktion ist analog zu „install“, nur mit dem Unterschied, dass die Pakete standardmäßig entfernt werden, statt sie zu installieren. Analog zu dem eben Beschriebenen können Sie hier ein Pluszeichen (+) verwenden, um Pakete zu installieren.

check

dient lediglich zur Diagnose. Es wird überprüft, ob sich irgendwelche Unstimmigkeiten in den Paketen finden.

--purge remove

Löscht das gewünschte Paket und alle weiteren Pakete, die direkt von diesem Paket abhängig sind. Weiterhin werden alle zu den Paketen gehörenden Konfigurationsdateien gelöscht.

clean

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.

source

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 ein 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 das Binärpaket auch direkt mit dem Kommando dpkg-buildpackage -rfakeroot -us -uc erzeugt werden.

build-dep

Die meisten Softwarepakete benötigen bei der Übersetzung aus den Quellpaketen weitere 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, dass alle zur Übersetzung eines Paketes benötigten Dateien auf dem System vorhanden sind.

moo

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.

-h

Zeigt die Hilfe zu apt-get an.

-m

Ignoriere eventuell fehlende Pakete.

-d

Holt die gewünschten Pakete vom Server, ohne diese zu installieren.

-f

Behebt die defekten Abhängigkeiten zwischen den Paketen. apt-get -f install versucht, diese automatisch zu reparieren.

-s

Simulation, führt keine Aktionen aus.

-u

Zeigt auch die zu aktualisierenden Pakete an.

-y

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, dass 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

Nachdem das System nun über den aktuellen Stand der Pakete informiert ist, können Sie weitere Pakete mittels apt installieren, hier gezeigt am Beispiel von sane:


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]

Beachten Sie hierbei, dass automatisch die benötigten Pakete libgimp1 und

libsane ausgewählt wurden. Insgesamt werden also drei Pakete installiert. Weiter unten erhalten Sie noch Informationen über den später benötigten Festplattenplatz der Pakete sowie über die Größe der Pakete, die ja eventuell via FTP erst übertragen werden müssen. Wenn Sie mit den Angaben so einverstanden sind, bestätigen Sie dies mit der Eingabetaste, oder drücken Sie die Taste n und danach die Eingabetaste, um den Vorgang abzubrechen.

Wenn mehrere Pakete gleichzeitig installiert werden sollen, so können diese einfach hintereinander auf der Kommandozeile angegeben werden.

Download aller installierten Pakete

Manchmal kann es wünschenswert sein alle bereits installierten Pakete eines Systems erneut auf den Rechner zu kopieren, beispielsweise um eine Sicherungskopie zu haben oder um ein System zu duplizieren. Natürlich können die Pakete auch auf eine CD-ROM/DVD gebrannt oder in einen Mirror eingefügt werden. Vorteilhaft bei dieser Methode ist es, dass ein in sich konsistentes System entsteht in dem alle Abhängigkeiten erfüllt sind.

Ein Download der gewünschten Pakete kann mit folgenden Kommendos erzeugt werden:


# COLUMNS=200 dpkg -l | grep '^ii' | awk '{ print $2 }' > /tmp/pkgliste
# cat /tmp/pkgliste | xargs apt-get --download-only --reinstall -y install



Die erste Zeile listet via dpkg alle Pakete auf und filtert mittels grep nur die installierten heraus. Danach wird die zweite Spalte in die Datei /tmp/pkgliste geschrieben.

Die zweite Zeile gibt via cat die Liste der Dateien aus. Mittels xargs wird jede Zeile an das Kommando apt-get

weitergegeben. Die Kombination der apt-get Optionen --reinstall und --download-only sowie -y führt dazu das auch bereits installierte Pakete aus dem Netz geholt werden, aber keine Installation durchgeführt wird.

Die Debian Pakete sind nach dem Download im Verzeichnis /var/cache/apt/archives/ zu finden und können mittels apt-move in eine Verzeichnisstruktur wie auf einem Debian Mirror verschoben werden. apt-move ist auch in der Lage die entsprechenden

Packages.gz Dateien zu erzeugen.

6.7.5 apt - Offline nutzen

Normalerweise wird apt mit einem direkten Zugriff zu einem Archiv benutzt, sei es dass 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, dass 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 herunterzuladen. Hierzu 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.

6.7.5.1 apt, auf beiden Rechnern

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

6.7.5.2 Die Konfigurationsdatei apt-conf

In der Konfigurationsdatei teilen Sie apt mit, dass die Debian-Pakete auf dem Medium zu speichern sind und dass 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/";
      };

Auf Ihrem Zielrechner mounten Sie zuerst das Medium und kopieren die Datei /var/lib/dpkg/status dorthin. Erzeugen Sie dann die Verzeichnisse, die oben in der Struktur gezeigt sind (archives/partial/ und lists/partial/).

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

Sie können auch alle anderen apt-Optionen oder auch gnome-apt benutzen.

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

Bitte beachten Sie, dass hierbei wieder die lokale status-Datei benutzt wird!

6.7.5.3 Kopieren der Dateien mit wget

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

Drücken Sie „n“ nach dem ersten Kommando und prüfen Sie, dass die Auswahl korrekt ist. Die benötigten Pakete wurden nun zur späteren Installation markiert. In der zweiten Zeile wird mit apt-get und den entsprechenden Optionen eine Liste der zu installierenden Pakete erzeugt und in die Datei uris geschrieben. Das letzte Kommando ergänzt die Liste der Pakete um die nötigen Aufrufe des Kommandos wget.

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


Hierbei ist es unerheblich, ob das Transportmedium sich noch in dem Rechner befindet, auf dem die Pakete installiert werden sollen (was keinen Sinn machen würde, Sie könnten sich den Umweg über wget dann sparen), oder ob Sie das Medium in einem Rechner mit einer besseren Netzanbindung anmelden und dort das Skript ausführen. Die Pakete werden lediglich auf das Medium übertragen und nicht installiert.

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

6.7.6 apt-rdepends

Hiermit können die „reverse-dependencies“ eines Paketes ermittelt werden. Ähnliche Informationen kann auch apt-cache liefern. Ohne weitere Angaben wird ein komplettes Listing aller Abhängigkeiten erzeugt, hier nur ein kleines Beispiel:


fr@inari:~$ apt-rdepends bash
bash
  Depends: base-files (>= 2.1.12)
base-files
  Depends: awk
  Depends: base-passwd (>= 2.0.3.4)
awk
base-passwd
  Depends: libc6 (>= 2.3.1-1)
libc6


6.7.7 apt-cache

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 muss mindestens eines der folgenden Kommandos angegeben werden.

add

fügt die angegebene Package-Datei dem Package-Cache hinzu.

gencaches

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.

showpkg

Diese Option zeigt Informationen über die weiterhin auf der Kommandozeile angegebenen Pakete. Es werden die verfügbaren Versionen der Pakete sowie die gesamten 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.

stats

Es wird eine Statistik über den aktuellen Cache ausgegeben. Es sind keine weiteren Argumente notwendig. Folgende Informationen werden ausgegeben:


fr@sushi:~$ apt-cache stats
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 Programm 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, dass 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.

dump

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.

dumpavail

Zeigt eine Liste der verfügbaren Pakete.

unmet

Zeigt eine Zusammenfassung aller nicht erfüllten Abhängigkeiten.

show

Hat einen ähnlichen Effekt wie das Kommando dpkg --print-avail und zeigt die Paketinformationen für die angegebenen Pakete.

search

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.

depends

Zeigt alle Abhängigkeiten eines Paketes an. Weiterhin werden alle anderen Pakete angezeigt, die die geforderten Abhängigkeiten erfüllen können.


fr@surimi@sushi:~$ apt-cache depends bash
bash
  Depends: base-files
  PreDepends: libc6
  PreDepends: libncurses5
  Suggests: grep-dctrl
  Conflicts: 
  Replaces: bash-doc
  Replaces: 


policy

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


pkgnames

Zeigt eine Liste aller Paketnamen. Optional kann eine Zeichenkette angegeben werden, die als Suchpräfix verwendet wird.

dotty

Dieser Option kann eine Liste von Paketnamen mitgegeben werden. Die Ausgabe erfolgt in einem Format welches vom Programm dot 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.

Hier zwei kleine Beispiele wie diese Option sinnvoll eingesetzt werden kann:


 apt-cache dotty vim | dot -Tps packgraph.ps

 apt-cache dotty $(dpkg --get-selections | grep -v deinstall \
          | awk 'print $1') | dot -Tps packgraph.ps


Beide Beispiele erzeugen eine Postscriptdatei packgraph.ps. Diese kann beispielsweise mit dem Programm gv angezeigt werden.

6.7.8 apt-cacher

apt-cacher unterscheidet sich deutlich vom zuvor beschriebenen apt-cache. Die Problematik in einem Netzwerk verschiedene Debian Systeme mit Paketen zu versorgen und dabei nicht für jedes System alle Pakete erneut aus dem Netz zu holen ist sicher jedem Administrator vertraut. apt-cacher bietet für dieses Problem eine elegante Lösung und lässt sich besonders effektiv in einem Netzwerk mit langsamer Anbindung an das Internet einsetzen.

apt-cacher wurde ursprünglich von Nick Andrew entwickelt um zwei Debian Systeme hinter einer Modem Anbindung mit Paketen zu versorgen. Die Entwicklung ist mittlerweile jedoch weiter fortgeschritten und hat apt-cacher zu einem leistungsfähige Caching-System für Debian Pakete gemacht. apt-cacher läßt sich auch auf anderen Linux Distributionen, wie beispielsweise RedHat oder SuSE, im Zusammenspiel mit APT einsetzen und ist auch via „Fink“ unter MacOS

lauffähig.

6.7.8.1 Prinzip

Im Gegensatz zu anderen Caching Programmen läuft apt-cacher nicht als eingenständiger Server, sondern als CGI-Skript innerhalb des Apache Webservers auf einem System im Netzwerk. Dies bietet den Vorteil das apt-cacher klein gehalten werden kann und beispielsweise auf die vom Apache bereitgestellten Protokolle (http) zurückgreifen kann. Ebenfalls können die Zugriffsbeschränkungen von Apache benutzt werden um nur bestimmten Systemen im Netz Zugriff zu gewähren.

apt-cacher wird auf einem System im Netz installiert, dieses dient als lokaler Cache. Alle anderen Systeme im Netz müssen in der Konfiguration so angepasst werden das sie im folgenden ausschlieslich den apt-cacher Server verwenden.

apt-cacher bearbeitet Anfragen der anderen Systeme und holt bei Bedarf das gewünschte Debian Paket aus dem Netz. Dieses wird lokal auf dem Server gespeichert und steht so weiteren Systemen sofort zur Verfügung. Das ganze verhält sich für die anderen Systeme im Netz völlig transparent, alle gewohnten Werkzeuge zur Paketverwaltung können weiterhin verwendet werden.

6.7.8.2 Installation

Die eigentliche Installation von apt-cacher erfolgt ausschliesslich auf dem Server. An den anderen Systemen die apt-cacher nutzen sollen sind nur Anpassungen notwendig.

6.7.8.2.1 Server

Um einen apt-cacher-Server zu betreiben sind keine besonderen Anforderungen an die Hardware zu erfüllen. Lediglich der Festplattenplatz sollte, je nach Nutzung, ausreichend bemessen werden. Werden die Adressen im Netzwerk via DHCP vergeben, so ist darauf zu achten das der Name/die IP-Adresse des Servers immer beibehalten werden.

Das Kommando


	 apt-get install apt-cacher
       
       

installiert die notwendige Software auf dem Server. Ebenso wird, falls noch nicht geschehen, der Apache Webserver und einige weitere Pakete installiert. Abschliessend ist noch der Webserver mittels


         /etc/init.d/apache restart
       
       

von der Änderung zu unterrichten.

Um die Installation zu testen kann mit einem Webbrowser die Adresse http://localhost/apt-cacher aufgerufen werden. Läuft der Browser nicht direkt auf dem Server, so ist natürlich „localhost“ durch den Rechnernamen/die IP-Nummer zu ersetzen. Ist die Installation geglückt so wird eine Informationsseite von apt-cacher ausgegeben.

6.7.8.2.2 Client

Auf der Client Seite muss keinerlei Software installiert werden, lediglich eine Anpassung der Konfigurationsdatei für APT ist notwendig. Dabei können die bisherigen Einträge übernommen werden, müssen jedoch jeweils um die Angabe des Cache Servers ergänzt werden.


	deb http://cacheserver/apt-cacher/ftp.de.debian.org/debian stable main contrib non-free
     
     

Wichtig ist nur das diese Einträge auf allen Clients im Netz einhetlich sind.

6.7.8.3 Konfiguration

Nun steht bereits ein funktionsfähiger Cache im Netz zur Verfügung. Es können jedoch noch einige Anpassungen an der Konfiguration gemacht werden.

Die Konfigurationsdatei findet sich unter /etc/apt-cacher/apt-cacher.conf

'

admin_email

E-Mail Adresse welche in Reports angezeigt wird und an die bei Problemen Mails versendet werden.

generate_reports

Diese Option kann auf den Wert „1“ gesetzt werden um tägliche Nuzungsreports zu erstellen.

cache_dir

Ein Verzeichnis in dem die Pakete und Paketlisten auf dem Server gespeichert werden.

logfile

In diesem Logfile wird die Nutzung des Servers dokumentiert. Diese Datei wird ebenfalls zur Erstellung von Reports genutzt.

errorfile

Logdatei für Fehlermeldungen.

expire_hours

Anzahl von Stunden nach der Paketlisten gelöscht werden. Dies beeinflusst nicht das löschen von Paketen, diese werden entfernt wenn sie nicht mehr in den Paketlisten aufgeführt werden.

http_proxy

Adresse und Port eines weiteren, externen, Proxy Servers.

use_proxy

Aktiviert die Nutzung des Proxys.

debug

Schaltet den Debug-Modus ein oder aus.

6.7.8.4 Reports

Ist die entsprechende Option aktiviert, so generiert apt-cacher einen täglichen Report. Dieser kann über die URL http://localhost/apt-cacher/report abgerufen werden.

6.7.9 apt-proxy

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 als für das gesamte 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 dass diese Pakete bei der Installation auf den einzelnen Clients nochmals aus dem Internet geholt werden.

apt-proxy kann als Cache effizienter mit Debian-Paketen umgehen als beispielsweise Squid. Dies liegt zum einen daran, dass 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 dass 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 allen Clients, die den APT-Proxy benutzen sollen, ist die Konfiguration so anzupassen, dass 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, dass „SERVER“ durch den entsprechenden Rechnernamen (bzw. die 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.

6.7.10 apt-move

apt-move ist ein Shell-Skript, mit dem eine Anzahl von lokal vorliegenden Debian-Paketen in eine Verzeichnisstruktur verschoben werden kann, die wiederum 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, dass 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 Versionen der Dateien Packages.gz und Sources.gz Dateien erzeugt werden.

apt-move kennt eine ganze Reihe von Kommandos und Optionen:


$Id: apt-move,v 1.96 2003/07/27 04:18:04 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, den 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.

6.7.11 apt-ftparchive

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


6.7.12 apt-show-source

Dieses Programm vergleicht die apt-Listen mit Source-Dateien sowie das dpkg-Status-File und zeigt auf, von welchen Paketen neuere Versionen als die bereits installierten 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@surimi:~$  apt-show-source -p bash
Sorry, no newer source package available for bash


In diesem Beispiel ist keine aktuellere Version dieses Paketes als Source Paket verfügbar. Zeigt jedoch die „deb-src“ Zeile auf eine ältere Release, so kann durchaus der Fall eintreten, dass das Source Paket auf einem älteren Stand ist.


fr@surimi:~$  apt-show-source -p bash

Inst. Package (Version)                | Newest Source Package (Version)
------------------------------------------------------------------------
bash (2.05a-12)                        | bash (2.05a-11)


6.7.13 apt-show-versions

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=  Use  as the dpkg status file 
                                  instead of /var/lib/dpkg/status
 -ld|list-dir=   Use  as path to apt's 
                                  list files instead of /var/state/apt/lists/ 
				  or /var/lib/apt/lists/
 -p|--package=     Print versions for .
 -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


6.7.14 auto-apt

auto-apt dient zur Installation von Programmen „bei Bedarf“. Dies kann beispielsweise bei der Softwareentwicklung oder auch schon beim einfachen Übersetzen eines neuen Kernels 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.

6.7.15 apt-listchanges

In den meisten Debian-Paketen sind sogenannte „changelog“-Dateien enthalten. In diesen dokumentiert der Betreuer eines Paketes die Änderungen zu vorhergehenden Versionen. 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@surimi:~# apt-get install  libmng1

...

Reading changelogs... Done
libmng (1.0.3-4) unstable; urgency=low

  * Build with renamed version of lcms.

 -- Luis Arocha   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-Mail-Adresse 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.

6.7.16 apt-listbugs

Dieses Programm zeigt kritische Fehler eines Paketes vor der Installation an. Somit hat der Administrator die Möglichkeit zu entscheiden ob ein Problem so schwerwiegend ist, dass von der Installation eines Paketes besser Abstand genommen wird.

Während der Installation oder dem Upgrade eines Paketes mit APT wird apt-listbugs automatisch aufgerufen und sucht im Debian Bug Tracking System nach Fehlermeldungen zu dem zu installierenden Paket. Sind Fehlermeldungen vorhanden, so werden diese angezeigt und die Installation des Paketes kann abgebrochen werden falls schwere Probleme zu befürchten sind.

Wird eine stabile Version von Debian verwendet, so ist es sehr unwahrscheinlich das bei einem Upgrade eines Paketes schwerwiegende Fehler auftreten. Auf den Einsatz von apt-listbugs kann in solchen Fällen meist verzichtet werden.

Wenn mit einer Entwicklungs-Version von Debian experimentiert wird, beispielsweise um die neuesten Programmversionen einzusetzen, kann es durchaus sinnvoll sein apt-listbugs einzusetzen.

6.7.17 apt-config

Mittels apt-config lässt 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.

6.7.18 apt-spy

apt-spy dient zur automatischen Erzeugung einer sources.list für apt. Hierzu wird aus dem Netz die Datei

ftp://ftp.us.debian.org/debian/README.mirrors geholt und auf Einträge für Debian-Mirror-Server hin untersucht. Alle diese Server werden hinsichtlich Antwortzeit und Bandbreite getestet. Die drei am besten zu erreichenden Server, dies müssen nicht zwingend die geographisch am nächsten gelegenen Server sein, werden dann in die Datei /etc/apt/sources.list aufgenommen.

6.7.19 aptitude

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.

Abbildung 6.5. aptitude

Bei aptitude decken sich die meisten Tastaturbelegungen mit dselect.

PFEIL-UNTEN

Bewegt den Auswahlbalken zum nächsten Eintrag.

PFEIL-OBEN

Bewegt den Auswahlbalken zum vorherigen Eintrag.

RETURN

Klappt ein Verzeichnis auf/zu.

^

Springt zum Verzeichnis, zu dem das Paket gehört.

+

Markiert ein Paket zur Installation.

-

Markiert ein Paket zum Löschen.

i

Zeigt die Beschreibung des Paketes an.

d

Zeigt die Abhängigkeiten des Paketes an.

v

Zeigt die verfügbaren Versionen des Paketes an.

u

Aktualisiert die Liste der verfügbaren Pakete.

g

Startet die Installation der ausgewählten Pakete.

Die Bedeutung der verschiedenen Hintergrundfarben innerhalb des Programms:

schwarz

Normalzustand“ eines Paketes. Beim nächsten Installationsdurchlauf wird dieses Paket nicht verändert. Fett geschriebene Pakete sind bereits installiert.

rot

Paket ist in einem unbrauchbaren Zustand oder kann nicht installiert werden.

blau

Paket wird mit einer neueren Programmversion aktualisiert.

weiß

Dieses Paket könnte aktualisiert werden, es wurde aber auf dem aktuellen Stand fixiert (hold).

grün

Paket wird installiert.

magenta

Paket wird gelöscht.

=== 6.7.20 gnome-apt ===

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.

Abbildung 6.6. GNOME Apt - Hauptfenster

Datei:Gapt-main.png
GNOME Apt - Hauptfenster

Sehen wir uns zunächst die Menüs der Reihe nach an.

6.7.20.1 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.

6.7.20.1.1 Sources

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.

Abbildung 6.7. GNOME Apt - Installationsquellen

Datei:Gapt-source.png
GNOME Apt - Installationsquellen

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:

Abbildung 6.8. GNOME Apt - Installationsquellen Distribution auswählen

Datei:Gapt-source-n1.png
GNOME Apt - Installationsquellen Distribution auswählen

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.

Abbildung 6.9. GNOME Apt - Installationsquellen URI angeben

Datei:Gapt-source-n2.png
GNOME Apt - Installationsquellen URI angeben

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.

Abbildung 6.10. GNOME Apt - Installationsquellen Bereiche auswählen

Datei:Gapt-source-n3.png
GNOME Apt - Installationsquellen Bereiche auswä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, dass Sie daraufhin nicht mehr auf gnome-apt verzichten wollen...

6.7.20.2 Actions

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 dass 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.

6.7.20.3 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.

Abbildung 6.11. GNOME Apt - Suche nach Paketen

Datei:Gapt-search.png
GNOME Apt - Suche nach Paketen

Beachten Sie, dass 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.

6.7.20.4 View

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 Sortierung nach Alphabet, 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.

6.7.20.5 Advanced

Die Einträge im Menü „Advanced“ sind momentan noch ohne Funktion. Hier können Sie später Paketlisten im- und exportieren.

6.7.20.6 Help

Im Menü „Help“ verbergen sich allgemeine Informationen zu gnome-apt (Eintrag „About...“) sowie eine Übersicht über die Bedeutung der verwendeten Symbole:

Abbildung 6.12. GNOME Apt - Verwendete Symbole

Datei:Gapt-icons.png
GNOME Apt - Verwendete 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 gnome-apt gezeigt.

Abbildung 6.13. GNOME Apt - Paketauswahl

Datei:Gapt-main.png
GNOME Apt - Paketauswahl

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.

Abbildung 6.14. GNOME Apt - Paket-Installation

Datei:Gapt-run.png
GNOME Apt - Paket-Installation

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.

Abbildung 6.15. GNOME Apt - Paket-Installation beendet

Datei:Gapt-inst.png
GNOME Apt - Paket-Installation beendet

6.7.21 Synaptic

Synaptic ist ein weiteres grafisches Werkzeug zur Installation von Debian Paketen. Entwickelt wurde Synaptic zunächst von der Firma Conectiva, mittlerweile wird die Entwicklung vom Debian Team vorgenommen und Synaptic ist in die Distribution integriert.

Synaptic sollte zunächst auf dem System mittels apt-get install synaptic installiert werden. Dies sollte für die nächste Zeit der letzte Aufruf von apt-get gewesen sein... Synaptic benötigt, wie auch schon apt-get Superuser Rechte um Pakete installieren zu können.

Alternativ zum Aufruf aus der Kommandozeile, kann Synaptic auch aus dem GNOME Menü heraus gestartet werden. Da der Login unter GNOME auf einem Debian System nicht so ohne weiteres als Administrator („root“) erfolgen kann, muss der Menüeintrag so konfiguriert sein das Synaptic via gksu gestartet wird (gksu benötigt im Gegensatz zu gnomesu keine GNOME Bibliotheken). Das Debian Paket von Synaptik ist bereits entsprechend vorbereitet.

Synaptic benötigt nach dem Aufruf einige Zeit (abhängig ist die Dauer unter anderem von der verwendeten Hardware und der Anzahl der verfügbaren Pakete) zum Start. Mit APT vertraute Benutzer werden sich in Synpatic schnell zurechtfinden, für fast jede APT Aktion gibt es eine entsprechende Funktion in Synaptic. Im Unterschied zu APT ist Synaptic allerdings in der Lage die gewünschten Aktionen zu queuen und erst auszuführen wenn der Administrator mit dem gewünschten Gesamtergebnis zufrieden ist. APT dagegen würde jede Aktion unmitelbar sofort ausführen.

Zunächst zeigt Synaptic in der Übersicht alle Paketgruppen an. Mit einem Mausklick können die einzelnen Gruppen aufgeklappt werden und es können einzelne Pakete ausgewählt werden, beispielsweise um das gewünschte Paket neu zu installieren. Im hier gezeigten Beispiel wird das Paket bash aktualisiert. Das Fenster von Synaptiv teilt sich in verschiedene Bereiche: Unter der Menüleiste, über die sich alle verfügbaren Aktionen aufrufen lassen, befindet sich eine Iconleiste mit den am häufigsten verwendeten Aktionen.

Direkt darunter lassen sich Filter definieren und Suchbegriffe eingeben. Im zweiten Drittel des Fensters findet sich die Übersicht der Paketgruppen, welche wie beschrieben die einzelnen Pakete beherbergen.

Im unteren, linken Bereich befinden sich verschiedene Reiter über die weitere Informationen zu einzelnen Paketen abgerufen werden können. Ist noch kein Paket ausgewählt so lassen sich diese Reiter nicht aktivieren und erscheinen grau. Neben den allgemeinen Informationen wie Paketversion und mögliche aktuellere Versionen sowie im zweiten Reiter die detailierte Paketbeschreibung sind dies noch die Abhängigkeiten dieses Paketes sowie, im letzten Reiter, alle Dateien die in diesem Paket enthalten sind.

Rechts davon können Aktionen wie „Install“, „Keep“, „Remove“ oder auch „Hold“ auf jedes Paket angewendet werden. Auch können Pakete hier neu konfiguriert werden „Reconfigure“.

6.7.21.1 Aktualisieren der Paketliste

Um eine schnellen Zugriff auf die Paketinformationen zu haben, verwaltet das Debian Paketmanagement eine interne Liste auf dem System. Diese Liste muss von Zeit zu Zeit mit einer Quelle für Debian Pakete, dies wird in den meisten Fällen ein Debian FTP Server sein, abgeglichen werden.

Um die Paketliste zu aktualisieren dient die Schaltfläche „Update List“.

6.7.21.2 Verändern der Ansicht

Die Paketübersicht kann in verschiedenen Formen angezeigt werden. Diese können über das Menü „View“ ausgewählt werden. Die beiden ersten Menüpunkt „Expand All“ und „Collapse All“ dienen dazu die „Äste“ der Baumförmigen Paketübersicht aus- und einzuklappen. Die Menüeinträge „Section Tree“ (Baumansicht mit Sektionen der Pakete), „Alphabetic Tree“ (nach Alphabet sortierte Übersicht) und „Status Tree“ (nach Paketstatus sortierte Liste) dienen dazu die Paketliste nach verschiedenen Kriterien anzuzeigen und erlauben so, je nach Anwendugsfall, eine schnelle Auswahl der Pakete.

6.7.21.3 Suchen von Paketen

Synaptic kann Pakete auf unterschiedliche Weisen suchen, alle basieren aber auf der Paketübersicht in der Mitte des Fensters. Jede Suche muss man sich als Filter über diese Paketübersicht vorstellen. Ein erster grober Filter kann über die Auswahl im Pull-Down-Menü „Show“ angewendet werden. Hier können beispielsweise alle Pakete („All Packages“), installierte Pakete („Installed“) oder zu aktualisierende („Upgradable“) Pakete ausgewählt werden.

Unabhängig von der getroffenen Auswahl, erscheint die Paketübersicht immer im gleichen Format, der Filter beeinflusst dabei lediglich welche Pakete angezeigt werden.

Wirklich interessant, und somit auch erwähnenswert, ist das Eingabefeld für die Suche nach Paketnamen. Dieses Feld verhält sich etwas ungewöhnlich, weil es sofort, nach jedem eigegebenen Zeichen, die Suche beginnt. Es ist nicht notwendig die Return-Taste zu betätigen. Eine solche Suchfunktion benötigt leider etwas Prozessorleistung, so das von der Benutzung auf seh schwachbrüstigen Systemen abgeraten wird.

6.7.21.4 Installieren und löschen von Paketen

Um Pakete zu installieren oder von dem System zu löschen, ist es ausreichend das gewünschte Paket auszuwählen und die Schaltfläche „Install“ bzw. „Remove“ anzuwählen. Synaptic merkt sich diese Auswahl und wird die gewünschten Pakete für die vorgesehene Aktion vormerken.

Die Aktion (installieren oder löschen) wird erst nach anklicken der Schaltfläche „Proceed“ ausgeführt. Synaptic wird dann die notwendigen Abhängigkeiten zwischen den Paketen auflösen und ggf. weitere Pakete installieren oder auch löschen. Sollten dabei Probleme auftauchen so wird der Administrator um eine Bestätigung gebeten.

Einige der zu installierenden Pakete müssen unter Umständen zunächst konfiguriert werden, auch diese Fragen leitet Synaptic an den Administrator weiter.

6.7.21.5 Aktualisieren von Paketen

Um alle bereits installierten Pakete, von denen in einer bekannten Quelle neuere Versionen vorliegen, zu aktualisieren, können die beiden Schaltflächen „Upgrade All“ und „Dist Upgrade“ benutzt werden. „Upgrade All“ aktualisiert alle Paketen von denen eine neuere Version vorliegt, die aber keine zusätzlichen Pakete benötigen. Mitunter wurden aber Pakete vom Maintainer in kleinere Pakete aufgeteilt. Dies ist insbesondere beim Wechsel von einer Debian Version (woody) zur nächsten (sarge) möglich. Um auch diese Pakete zu aktualisieren kann der Button „Dist Upgrade“ gewählt werden.

In jedem Fall ist aber vorher mittels „Update List“ die Liste der verfügbaren Debian Pakete zu aktualisieren.

6.7.21.6 Verwalten von Software Quellen

Debian benutzt die Informationen in der Datei /etc/apt/sources.list um verschiedene Quellen mit Debian Paketen zu verwalten. Über Änderungen in dieser Datei können sowohl die Server von denen die Pakete bezogen werden sollen, als auch die gewünschten Releases („stable“, „unstable“, „testing“) und die Bereiche („main“, „contrib“, „non-free“) verwaltet werden.

Normalerweise werden Anpassungen an dieser Datei vom Administrator mittels eines Texteditors vorgenommen. Synaptic benutzt hierzu ein handliches Werkzeug, welches über das Menü „Setting“/„Repository“ zu erreichen ist.

Jeder Eintrag in der Datei kann über die entsprechenden Felder geändert werden, so werden Syntax Fehler vermieden. Weiterhin können einzelne Einträge in der Datei deaktiviert werden. Über die Schaltfläche „Vendors“ können Hersteller von Paketen definiert werden. Diese Angaben landen in der Datei /etc/apt/vendors.list und werden über einen (bisher optionalen Eintrag) in der Datei /etc/apt/sources.list referenziert.

Wichtig ist es insbesondere neben einem Kürzel und dem Namen des Herstellers den Kryptografischen Fingerprint anzugeben. Diese Funktion wird noch nicht ausgiebig genutzt, wird es aber zukünftig erlauben die Authentizität von Paketen zu überprüfen.

6.7.21.7 Ausführen der Änderungen

BIsher wurden alle Aktionen lediglich vorgemerkt, aber nicht ausgeführt. Um die gewünschten Pakete zu (de-) installieren ist es notwendig auf die Schaltfläche „Proceed!“ zu klicken. Synaptic wird dann alle Aktionen ausführen.

Persönliche Werkzeuge
MediaWiki Appliance - Powered by TurnKey Linux