Paketmanagement

Kann Paketmanagement Spaß machen?

Werkzeuge und Aufgaben

werkzeugebenen.png

Obere Ebene

APT, Aptitude, Synaptic, etc.:

  • Paketlisten und Pakete herunterladen
  • Abhängigkeiten auflösen
  • Versionen auswählen

Untere Ebene

Dpkg:

  • Pakete installieren, entfernen und aktualisieren
  • Abhängigkeiten überprüfen
  • Konfigurationsdateien managen

APT vs. Aptitude

APT

  • Nur Kommandozeile: apt-get, apt-cache, apt-key, apt-mark
  • Bibliotheken: libapt-pkg, libapt-inst
  • Standard Download-Methoden (http, ftp, cdrom, file)
  • Alternative Abhängigkeitsauflösung per Plugins

Aptitude

  • Kommandozeile und Textoberfläche (GUI-Oberflächen wieder aufgegeben)
  • Nutzt APTs Bibliotheken
  • Nutzt APTs Download-Methoden
  • Eigene, interaktive Abhängigkeitsauflösung
  • Möglichkeit des Vormerkens von Aktionen

APT-Konfiguration

Unterkommandos von apt-get und aptitude (1)

Aktion apt-get … / apt-cache … ¹ aptitude …

Paketlisten aktualisieren

… update

… update

Pakete konservativ akt.

… upgrade

… safe-upgrade

Alle Pakete aktualisieren

… dist-upgrade

… full-upgrade

Paket installieren

… install Paket

… install Paket

Paket nochmals inst.

… install --reinstall Paket

… reinstall Paket

Paket entfernen

… remove Paket

… remove Paket

Paket samt Konfig. entf.

… purge Paket

… purge Paket

Ungenutzte Pakete entf.

… autoremove

(automatisch)

Paket beibehalten

dpkg-hold Paket

… hold Paket

Unterkommandos von apt-get und aptitude (2)

Aktion apt-get … / apt-cache … ¹ aptitude …

Paketcache leeren (komplett)

… clean

… clean

Pakete ohne verfügbare Quellen löschen

… autoclean

… autoclean

Paketinformationen anzeigen

…¹ show

… show Paket

Warum ist ein Paket installiert?

-

… why Paket

Warum ist ein Paket nicht inst.?

-

… why-not Paket

Abhängigkeitsfehler zeigen

… check

… search ~b

Paket suchen

…¹ search Muster

… search Muster

Verfügbare Paketversionen zeigen

…¹ policy Paket

… versions Paket

Vormerken mit Aptitude

Aptitude Curses TUI

Aptitude Suchmuster

Langform Kurzform Findet Pakete …

?not(muster)

!muster

auf die das Suchmuster nicht zutrifft.

?and(muster1, muster2)

muster1 muster2

auf die beide Suchmuster zutreffen.

?automatic

~M

die als automatisch installiert markiert sind.

?broken

~b

mit nicht erfüllten Abhängigkeiten

?conflicts(muster)

~C muster

die mit Paketen, auf die das Suchmuster zutrifft, kollidieren.

?config-files

~c

die entfernt wurden, aber deren Konfigdateien noch installiert sind.

?description(text)

~d muster

deren Beschreibung den Suchtext enthält.

?essential

~E

die in der Paketliste als essentiell markiert sind.

?garbage

~g

die automatisch entfernt würden.

?installed

~i

die installierte sind.

?maintainer(text)

~m text

deren Betreuername oder -E-Mail-Adresse den Suchtext enthält.

?name(text)

~n text, text

deren Namen den Suchtext enthält.

?obsolete

~o

die installiert sind, aber nicht heruntergeladen werden können.

?or(muster1, muster2)

muster1 | muster2

auf die eines der beiden Suchmuster zutrifft.

?provides(muster)

~P muster

die ein virtuelles Paket bereitstellen, auf das das Suchmuster zutrifft.

?priority(priorität)

~p priorität

mit der angegebenen Priorität.

?section(sektion)

~s sektion

deren Sektion den Suchtext enthält.

?source-package(text)

nicht vorh.

deren Quellpaketnamen den Suchtext enthält.

?tag(markierung)

~G markierung

die mit der genannten Debtags-Markierung versehen sind.

?upgradable

~U

die aktualisiert werden können (unter Beachtung von Pinning)

?version(text)

~V text

deren Version den Suchtext enthält (Suchtexte mit Sonderbedeutung: CURRENT, CANDIDATE und TARGET).

?virtual

~v

virtuelle Pakete.

Wo kann ich das anwenden?

Wo geht es weiter — Links und Referenzen