Apt & Co.

Aus LinuxUser 07/2006

Apt & Co.

Fortschrittlich packen

Mit dem cleveren Advanced Package Tool erledigen Sie das Paketmanagement im Handumdrehen – und das nicht nur auf Debian und dessen Derivaten.

Back to the roots: Viele Linux-Distributionen liefern zwar die meisten Programme auf Installations-CD/DVDs aus. In letzter Zeit nimmt allerdings die Anzahl der Pakete, die es lediglich zum Download im Internet gibt, wieder deutlich zu. Anhänger von Debian und Debian-basierten Systeme haben sich längst an diesen Zustand gewöhnt – gibt es doch mit Apt ein Paketverwaltungssystem, das Programme aus dem Netz herunterlädt, installiert und Abhängigkeiten zu anderen Paketen automatisch auflöst.

Weiterhin bietet Apt Funktionen, mit denen man gezielt nach Software suchen, einzelne Pakete oder das ganze System aktualisieren kann. Aber auch Anwender von Suse Linux müssen sich nicht mit YaST zufrieden geben: Zwar löst das Distributions-eigene Tool ebenfalls Abhängigkeiten automatisch auf und greift auf einige externe Quellen zu, die größere Auswahl gibt es allerdings mit Apt.

Der Artikel zeigt, wie Sie Apt unter Debian GNU/Linux und Suse Linux 10.0 (32-Bit-Version) einrichten, gibt Tipps und Tricks zum Einsatz auf der Kommandozeile und stellt grafische Frontends vor. Eine schnelle Internet-Verbindung bzw. eine Flatrate ist Voraussetzung, damit die hier gezeigten Schritte Spaß machen. Wer noch mit einem Modem surft, muss (gerade für größere Downloads) viel Zeit und Geduld mitbringen.

Ein Apt für alle Fälle

Apt bezieht die Software aus verschiedenen Paketquellen, so genannten Repositories. Die Einrichtung mehrerer Quellen ist möglich: Apt arbeitet die Liste von oben nach unten ab, schaut im Zweifelsfall nach der Versionsnummer und und spielt die jeweils neueste Programmversion ein.

Benutzer Debian-basierter Distributionen machen schon während der Installation des Systems mit Apt Bekanntschaft. Bei der Konfiguration des Grundsystems richtet der Debian-Installer Apt und verschiedene Paketquellen ein (Abbildung 1). Bereits an dieser Stelle können Sie nicht nur auf CDs/DVDs, sondern auch auf Pakete aus dem Netz (via HTTP oder FTP) zugreifen, sofern eine Internet-Verbindung besteht.

Abbildung 1: Debians Herzstück – der Installer konfiguriert Apt schon bei der Einrichtung des Basissystems.

Abbildung 1: Debians Herzstück – der Installer konfiguriert Apt schon bei der Einrichtung des Basissystems.

Anwender von Suse Linux 10.0 finden Apt [1] auf den offiziellen Distributionsmedien und spielen die Pakete apt und apt-libs über YaSTs Software-Modul ein. Eine minimale Zusammenstellung von Online-Repositories wandert automatisch mit auf die Platte. Der nächste Abschnitt zeigt, wie Sie Apt fit für den Einsatz in der Praxis machen.

Gut eingerichtet

Sämtliche Konfigurationsdateien landen sowohl unter Debian GNU/Linux als auch bei Suse Linux im Verzeichnis /etc/apt. Dreh- und Angelpunkt ist die Datei /etc/apt/sources.list, die definiert, aus welchen Quellen Apt die Pakete beziehen soll. Sie bearbeiten die Datei als Systemadministrator mit einem Text-Editor Ihrer Wahl. Auskommentierte Einträge erkennen Sie am Rautezeichen vor den Zeilen. Die grundsätzliche Struktur der Einträge sieht so aus:

Typ URI Distribution Komponente1? Komponente2 …

Nach dem Archiv-Typ (z. B. deb oder rpm) steht unter URI das Basisverzeichnis der Distribution (z. B. ftp://ftp.de.debian.org/debian/ oder ftp://ftp.gwdg.de/pub/linux/suse/apt/). Es folgt das gewünschte Release: In diesem Bereich stehen unter Debian GNU/Linux entweder die Codenamen, wie sarge, etch oder sid, oder Statusbezeichnungen wie stable, testing oder unstable. Für Suse Linux finden Sie hier beispielsweise Einträge wie SuSE/10.0-i386.

Als Letztes geben Sie den Bereich der Distribution an, z. B. main, non-free oder contrib (für Debian) respektive base, extra, security usw. für Suse Linux. Eine kurze Übersicht der einzelnen Bereiche bieten die Tabellen “Repositories für Debian” und “Wichtige Repositories für Suse Linux”.

Repositories für Debian

Repository Erklärung
main Das Hauptarchiv mit der offiziellen Debian-Distribution; alle hier angebotenen Pakete folgen den Debian Free Software Guidelines [2].
contrib Diese Pakete stehen zwar selbst unter einer freien Lizenz, benötigen aber Software aus einer anderen Abteilung.
non-free Pakete, die unter keiner freien Lizenz stehen, deren Verwendung oder Weiterverbreitung also eingeschränkt ist.

Wichtige Repositories für Suse Linux

Repository Erklärung
base Freie Pakete, die sich normalerweise auch auf offiziellen Suse-Medien befinden.
extra Nicht-freie Pakete, die lediglich bei der Kaufversion (nicht OSS) dabei sind.
security Sicherheitsaktualisierungen.
update Fehlerbereinigungen.
java Das Java Runtime Environment.
kde Offizielle KDE-Updates von Suse.
gnome Offizielle Gnome-Updates von Suse.
usr-local-bin Inoffizielle Gnome-Updates und sehr viele Gnome-Programme, die nicht Teil von Suse Linux sind.
mozilla Neue Versionen von Mozilla Firefox und Thunderbird.
openoffice.org Die neuesten Versionen von OpenOffice.
packman-i686 Zahlreiche Multimedia-Pakete von Packman.
suser-guru Weitere Multimedia-Pakete.
jacklab Audioprogramme.
rpmkeys Digitale Schlüssel der Paketbauer zur Überprüfung der Herkunft der Pakete.

Der Debian-Weg

Typische Einträge einer /etc/apt/sources.list unter Debian GNU/Linux sehen in etwa so aus, wie in Listing 1 zu sehen.

Listing 1

deb http://security.debian.org/ stable/updates main contrib non-free
deb ftp://ftp.de.debian.org/debian/ stable main non-free contrib
# Debian-Backports:
deb http://www.backports.org/debian/ sarge-backports main

Anwender von Debian GNU/Linux haben darüber hinaus die Möglichkeit, neue Repositories mit dem praktischen Tool apt-setup vollautomatisch zur /etc/sources.list hinzuzufügen: Starten Sie das Programm als Systemverwalter aus einer Konsole heraus. Wählen Sie zunächst aus, ob Sie eine CD/DVD, einen HTTP- oder FTP-Server bzw. einen lokalen Mirror hinzufügen möchten. Entscheiden sich dann für einen Server in Ihrer Nähe, wenn Sie ein Online-Repository einrichten (Abbildung 2).

Abbildung 2: Unter Debian GNU/Linux nimmt Ihnen "apt-setup" das Bearbeiten der Paketquellenliste ab.

Abbildung 2: Unter Debian GNU/Linux nimmt Ihnen “apt-setup” das Bearbeiten der Paketquellenliste ab.

Apt und das Chamäleon

Eine minimale Konfiguration für die Paketquellen unter Suse Linux zeigt Abbildung 3. Im Netz finden Sie darüber hinaus viele weitere Beispieldateien; eine gute Anlaufstelle mit vielen nützen Hinweisen zur Einrichtung der Datei /etc/apt/sources.list ist auch das Support-Forum unter [3].

Abbildung 3: Eine minimale Beispielskonfiguration für die Apt-Paketquellen unter Suse Linux 10.0.

Abbildung 3: Eine minimale Beispielskonfiguration für die Apt-Paketquellen unter Suse Linux 10.0.

Während es für Debian GNU/Linux in der aktuellen Stable-Version (“Sarge”) noch keine integrierte GPG-Schlüsselverwaltung in Apt gibt (dieses Feature kommt erst mit dem nächsten Release, Codename “Etch”), bietet Apt unter Suse bereits die automatische Prüfung der Pakete mittels digitaler Schlüssel. Dieses Feature ist standardmäßig aktiviert; wer es dennoch ausschalten möchte, passt die Datei etc/apt/apt.conf.d/gpg-checker.conf und ändert den Eintrag GPG::Check true in GPG::Check false; ab.

Wer das Feature benutzen möchte, aktualisiert zunächst die Paketlisten. Dazu tippen Sie als Administrator auf der Shell den Befehl apt-get update und installieren anschließend die Schlüssel mit dem Kommando:

apt-get --no-checksig install rp?
mkey*

Wie Sie sehen, können Sie mit der Option --no-checksig die Prüfung der digitalen Schlüssel temporär umgehen – in diesem Fall sinnvoll, da Sie die Keys ja noch nicht kennen. Grundsätzlich ist es aber eine gute Idee, diese Prüfung dauerhaft eingeschaltet zu lassen und somit die Richtigkeit der Pakete sicherzustellen. Im Support-Forum unter [4] finden Sie Tipps, wie Sie häufig gebrauchte Schlüssel (darunter auch solche, die nicht als RPM-Paket vorliegen) auf die eigene Platte bringen, so dass das Deaktivieren der Prüfung wirklich nur im Einzelfall nötig sein sollte.

Apt im Einsatz – Kommandozeile

Apt bringt einige praktische Programme für die Kommandozeile mit, darunter die Tools apt-cache (zum Abfragen der lokalen Paketdatenbank) und apt-get, das unter anderem die Datenbank aktualisiert, Pakete installiert und löscht. Beide Programme bringen weitere Optionen mit, welche die folgenden Absätze kurz vorstellen. Bevor es ins Eingemachte geht, jedoch ein Hinweis: Unter Suse Linux ist es dank des Skripts /usr/bin/apt möglich, viele apt-cache– und apt-get-Befehle durch das Kommando apt zu ersetzen – das spart Tipparbeit. Der Einfachheit halber zeigen die folgenden Listings allerdings die Langform, die auch unter Debian GNU/Linux zum Einsatz kommt.

Zwei wichtige Apt-Befehle für die Kommandozeile haben Sie im vorigen Abschnitt schon kennengelernt: Mit apt-get update bringen Sie die Informationen über Pakete auf den neuesten Stand, laden also Beschreibungen der verfügbaren Software für die in der Datei sources.list angegebenen Repositories herunter. Diesen Befehl führen Sie immer aus, wenn Sie die Liste der Paketquellen verändert haben und bevor Sie neue Pakete installieren.

Um ein oder mehrere Pakete einzuspielen, rufen Sie apt-get zusammen mit dem Argument install und den Namen der Pakete auf. Da Apt automatisch Abhängigkeiten zu anderen Paketen auflöst, wandert oft ein ganzer Schwung Software auf die Platte. Ebenso passiert es manchmal, dass Konflikte mit anderen Paketen auftreten und Apt vorschlägt, diese zu löschen. In beiden Fällen zeigt das Programm vorher an, welche Aktionen auszuführen sind, und bittet um Bestätigung. Ein Beispiel dazu sehen Sie in Listing 2. Über [Y] gefolgt von [Eingabe] fahren Sie mit der Arbeit fort; drücken Sie hingegen [N], bricht Apt die Arbeit ab.

Listing 2

# apt-get install abiword
Reading Package Lists… Done
Building Dependency Tree… Done
The following extra packages will be installed:
  abiword-common libenchant1
Suggested packages:
  abiword-plugins abiword-plugins-gnome abiword-doc
Recommended packages:
  abiword-help
The following NEW packages will be installed:
  abiword abiword-common libenchant1
0 upgraded, 3 newly installed, 0 to remove and 10 not upgraded.
Need to get 2406kB/4072kB of archives.
After unpacking 14.0MB of additional disk space will be used.
Do you want to continue? [Y/n]

Mit dem Aufruf apt-get upgrade aktualisieren Sie in einem Rutsch alle installierten Pakete. Apt schließt dabei solche Komponenten vom Upgrade aus, die nicht aktualisiert werden können, ohne dass andere Pakete gelöscht oder zusätzlich eingespielt werden. Einen “Testlauf” für das Upgrade starten Sie mit dem Parameter -s – so verschaffen Sie sich einen Überblick darüber, was Apt aktualisieren möchte (Abbildung 4).

Abbildung 4: Bevor es Ernst wird, lassen Sie sich anzeigen, was Apt aktualisieren möchte.

Abbildung 4: Bevor es Ernst wird, lassen Sie sich anzeigen, was Apt aktualisieren möchte.

Bereits heruntergeladene Pakete speichert Apt im Verzeichnis /var/cache/apt/archives/. Diesen Festplatten-Cache räumen Sie mit dem Befehl apt-get clean auf.

Um einzelne oder mehrere Pakete zu deinstallieren, rufen Sie apt-get remove Paket(e) auf. Auf diese Weise bleiben sämtliche Konfigurationsdateien der entsprechenden Pakete erhalten – wollen Sie die Software später erneut einspielen, sind Ihre Einstellungen noch vorhanden. Soll die Konfiguration ebenfalls verschwinden, setzen Sie als zusätzliche Option --purge ein:

apt-get --purge remove Paket(e)

Bei der Suche nach Paketen und weiteren Informationen zeigt sich apt-cache search hilfreich. Wie Sie beispielsweise vorgehen, um eine Auflistung der Pakete zusammen mit deren Kurzbeschreibung nach dem Begriff “mozilla” zu durchforsten, sehen Sie in Listing 3.

Listing 3

# apt-cache search mozilla
MozillaFirefox-debuginfo - Debug information for package MozillaFirefox
MozillaSunbird-debuginfo - Debug information for package MozillaSunbird
MozillaThunderbird-debuginfo - Debug information for package MozillaThunderbird
(…)

Wer lediglich die Treffer sehen möchte, deren Paketname den Suchbegriff enthält, grenzt die Trefferanzahl durch die Option --names-only ein. Genauere Informationen zu einzelnen Paketen erhalten Sie, wenn Sie apt-cache show zusammen mit einem Paketnamen angeben.

Gerade wer viele Repositories in der sources.list definiert, wird sich über ein paar Informationen zu verfügbaren Versionen eines Pakets freuen. Setzen Sie dazu wiederum apt-cache zusammen mit dem Argument policy und dem entsprechenden Paket ein. Ein Beispiel dazu finden Sie in Listing 4.

Listing 4

# apt-cache policy MozillaFirefox
MozillaFirefox:
  Installed: 1.0.6-16
  Candidate: 1.0.8-0.2
  Version Table:
     1.0.8-0.2 0
        500 ftp://ftp.gwdg.de SuSE/10.0-i386/security pkglist
        500 ftp://ftp.gwdg.de SuSE/10.0-i386/update pkglist
     1.0.7-0.1 0
        500 ftp://ftp.gwdg.de SuSE/10.0-i386/security pkglist
        500 ftp://ftp.gwdg.de SuSE/10.0-i386/update pkglist
  * 1.0.6-16 0
        500 ftp://ftp.gwdg.de SuSE/10.0-i386/base pkglist
        100 RPM Database

Weitere Parameter und Beispiele zur Verwendung der einzelnen Apt-Tools zeigen die Handbuchseiten (man apt-get und man apt-cache); eine Kurzübersicht über die verfügbaren Optionen erhalten Sie auf der Shell mit dem Befehl apt-get -h.

Unter Debian GNU/Linux sehen Sie an dieser Stelle einen Hinweis auf ein eingebautes Easter Egg:

This Apt has Super Cow Powers.

Wer neugierig geworden ist, tippt auf der Shell einfach einmal apt-get moo.

Grafische Apt-Frontends

Wer sich auf der Shell nicht recht wohlfühlt, muss deswegen nicht auf den Komfort von Apt verzichten. Unter Debian GNU/Linux und auch unter Suse Linux leistet die Gnome-Anwendung Synaptic gute Dienste. Spielen Sie das Programm z. B. über das Kommando

# apt-get install synaptic

ein. Sie starten den grafischen Paketverwalter anschließend aus einer Konsole oder einem Schnellstartfenster ([Alt]+[F2]) heraus. Abhängig davon, ob Sie KDE oder Gnome verwenden, starten Sie das Programm über kdesu synaptic oder gksu synaptic und geben ins folgende Dialogfenster das Kennwort des Administrators ein. Da Synaptic beim Start für jede Quelle eine Liste aller veränderten Pakete herunterlädt, dauert der erste Aufruf relativ lang.

Links sehen Sie die Paketgruppen; klicken Sie auf eine solche Kategorie, zeigt Synaptic im rechten Fensterbereich eine Liste der verfügbaren Pakete an. Markieren Sie ein Paket mit der linken Maustaste, um eine ausführliche Beschreibung einzublenden. Noch mehr zu den Paketen zeigen Sie unter Eigenschaften an. Installierte Pakete kennzeichnet Synaptic mit einer grünen Checkbox, Installationskandidaten mit einer weißen. Gibt es von einem Paket eine neuere Version, zeigt Synaptic in dem grünen Viereck einen gelben Stern an.

Um ein Paket zu installieren, aktualisieren oder zu löschen, klicken Sie in die Checkbox und wählen die entsprechende Aktion aus dem Kontextmenü aus. Synaptic löst Abhängigkeiten automatisch auf und bietet bei Konflikten einen Lösungsvorschlag. Die Statuszeile am unteren Fensterrand zeigt Informationen zur Platzbelegung an. Nachdem Sie Ihre Wahl getroffen haben, klicken Sie auf Anwenden. Synaptic blendet noch einmal eine Zusammenfassung der geplanten Änderungen ein; nach einer Bestätigung kann es losgehen (Abbildung 5).

Abbildung 5: Synaptic ist ein grafisches Frontend, über das Sie komfortabel mit Apt arbeiten.

Abbildung 5: Synaptic ist ein grafisches Frontend, über das Sie komfortabel mit Apt arbeiten.

Eine Suchfunktion fehlt ebenfalls nicht, und über Einstellungen | Paketlisten konfigurieren Sie bequem die Repositories. Wenn Sie Änderungen an den Paketquellen vorgenommen haben, vergessen Sie nicht, die Datenbank mit einem Klick auf Neu laden zu aktualisieren.

Alles neu macht das Apt?

Ob grafisch oder auf der Kommandozeile – wer eine schnelle Internet-Verbindung ohne Zeit- noch Volumenbeschränkung hat, findet in Apt einen praktischen Helfer. Wenn Sie bisher auf RPM-basierten Systemen ausschließlich mit den distributionseigenen Werkzeugen gearbeitet haben, eröffnet Apt ungeahnte Möglichkeiten und bietet Zugriff auf zahlreiche Pakete im Netz. Weitere Ein- und Ausblicke zum Thema finden Sie in den Apt-Howtows für Debian [5] und Suse Linux [6].

Infos

[1] Apt für Suse Linux: http://linux01.gwdg.de/apt4rpm/

[2] Debian Free Software Guidelines: http://www.debian.org/social_contract#guidelines

[3] Beispielhafte sources.list für Suse Linux: http://www.linux-club.de/viewtopic.php?t=44774

[4] Support-Forum des Linux-Club: http://www.linux-club.de/ftopic58782.html#337417

[5] Debian-Apt-Howto: http://www.debian.org/doc/manuals/apt-howto/

[6] Howto für Apt unter Suse Linux: http://www.linux-club.de/viewtopic.php?t=48830

LinuxUser 07/2006 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben