// Datei: ./anhang/anhang.paketkommando/rpm-yum-dpkg.adoc
// Baustelle: Rohtext

[[kommandos-zur-paketverwaltung-im-vergleich]]
== Kommandos zur Paketverwaltung im Vergleich ==

=== Zusammenfassung ===

// Stichworte für den Index
(((APT)))
(((Aptitude)))
(((dpkg)))
(((Dandified YUM (DNF))))
(((DNF)))
(((Effing Package Management (FPM)))
(((FPM)))
(((RPM)))
(((Yellowdog Updater Modified (YUM))))
(((Werkzeuge zur Paketverwaltung,Hierarchie)))
(((Werkzeuge zur Paketverwaltung,Vergleich mit DNF)))
(((Werkzeuge zur Paketverwaltung,Vergleich mit RPM)))
(((Werkzeuge zur Paketverwaltung,Vergleich mit YUM)))
Hier stellen wir Ihnen die jeweiligen Kommandos zur Paketverwaltung
gegenüber, soweit dieser Schritt möglich ist. Im Rampenlicht stehen RPM,
Yellowdog Updater Modified (YUM), seine Nachfolger Effing Package
Management (FPM) und Dandified YUM (DNF), Debian's `dpkg`, APT sowie
`aptitude`. Wir betrachten dabei bspw. die Installation und die
Entfernung von Paketen, das Auflisten der installierten und verfügbaren
Pakete sowie das Anzeigen von Paketabhängigkeiten.

Diese Zusammenstellung basiert auf umfangreichen Tests und Recherchen,
bspw. mit Fedora 23, CentOS 6 und 7 sowie Ubuntu 15.10 _Wily Werewolf_,
Debian 8 _Jessie_, Debian 9 _Stretch_ und Debian 10 _Buster_. Die
Verfügbarkeit der genannten Werkzeuge und deren einzelne Schalter
variiert recht stark <<RPM-Salve>> <<RPM-Gite>> <<RPM-Canepa>>
<<YUM-Salve>> <<dpkg-Kumar>> <<apt-Salve>> <<DNF-Dokumentation>>.

=== Paket installieren ===

// Stichworte für den Index
(((apt, install)))
(((apt, --no-download install)))
(((apt-get, install)))
(((apt-get, --no-download install)))
(((aptitude, install)))
(((dnf, group install)))
(((dnf, install)))
(((Paket, installieren)))
(((rpm, -i)))
(((rpm, -ihv)))
(((yum, install)))
(((yum, localinstall)))
Mit den nachfolgenden Aufrufen installieren Sie ein Softwarepaket über
die Kommandozeile. Unter ``Pakete installieren'' in
<<pakete-installieren>> gehen wir detaillierter auf `dpkg`, APT und
`aptitude` ein. Unter ``Installation zwischengespeicherter Pakete aus
dem Paketcache'' in
<<installation-zwischengespeicherter-pakete-aus-dem-paketcache>>
erfahren Sie mehr darüber, wie Sie Pakete installieren, die bereits im
Paketcache vorliegen.

.Installation eines Pakets
[frame="topbot",options="header",cols="2,4,4",id="tab.paketinstallation"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| APT        | `apt install` 'Paketname' | Paket wird dem Paketrepository entnommen
|            | `apt --no-download install` 'Paketname' | Paket wird dem Paketcache entnommen und nicht vom Paketmirror bezogen
| `apt-get`  | `apt-get install` 'Paketname' | Paket wird dem Paketrepository entnommen
|            | `apt-get --no-download install` 'Paketname' | Paket wird dem Paketcache entnommen und nicht vom Paketmirror bezogen
| `aptitude` | `aptitude install` 'Paketname' | Paket wird dem Paketrepository entnommen
| `DNF`      | `dnf install` 'Paketname' | Paket wird dem Paketrepository entnommen
|            | `dnf install` 'Paketdatei' | Paketdatei liegt also lokale Datei vor
|            | `dnf group install` 'Paketgruppe' | alle Pakete aus der Paketgruppe installieren
| `dpkg`     | `dpkg -i` 'Paketname' | Paket liegt lokal als Datei vor
| `RPM`      | `rpm -i` 'Paketname' | Paket liegt lokal als Datei vor
|            | `rpm -i --nodeps` 'Paketname' | Paket liegt lokal als Datei vor, Installation ohne Berücksichtigung der Paketabhängigkeiten
|            | `rpm -ihv` 'Paketname' | Paket liegt lokal als Datei vor, Installation mit Kommentaren
| `YUM`      | `yum localinstall` 'Paketname' | Paket liegt lokal als Datei vor
|            | `yum install` 'Paketname' | Paket wird dem Paketrepository entnommen
|====

=== Paket aktualisieren ===

// Stichworte für den Index

(((apt, install)))
(((apt, safe-upgrade)))
(((apt-get, install)))
(((apt-get, upgrade)))
(((aptitude, safe-upgrade)))
(((dnf, update)))
(((dnf, upgrade)))
(((Paket, aktualisieren)))
(((rpm, -U)))
(((rpm, --upgrade)))
(((yum, update)))
Mit den nachfolgenden Aufrufen aktualisieren Sie ein Softwarepaket über
die Kommandozeile. Unter ``Pakete aktualisieren'' in
<<pakete-aktualisieren>> gehen wir detaillierter auf die Vorgehensweise
und die begrifflichen Unterschiede bei `dpkg`, APT, `apt` und `aptitude`
ein.

.Aktualisieren eines Pakets
[frame="topbot",options="header",cols="2,4,4",id="tab.paketaktualisierung"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt`      | `apt safe-upgrade` 'Paketname' | aktualisierte Version des Pakets einspielen
|            | `apt install` 'Paketname' | aktualisierte Version des Pakets einspielen, sofern das Paket bereits in einer früheren Version installiert ist
| `apt-get`  | `apt-get install` 'Paketname' | aktualisierte Version des Pakets einspielen, sofern das Paket bereits in einer früheren Version installiert ist
|            | `apt-get upgrade` 'Paketname' | aktualisierte Version des Pakets einspielen
| `aptitude` | `aptitude safe-upgrade` 'Paketname' | aktualisierte Version des Pakets einspielen
| `DNF`      | `dnf update` | alle installierten Pakete aktualisieren (veraltet)
|            | `dnf update` 'Paketname' | nur 'Paketname' aktualisieren (veraltet)
|            | `dnf upgrade` | alle installierten Pakete aktualisieren
|            | `dnf upgrade` 'Paketname' | nur 'Paketname' aktualisieren
| `RPM`      | `rpm -U` 'Paketname' | Paket liegt lokal als Datei vor
|            | `rpm --upgrade` 'Paketname' | Paket liegt lokal als Datei vor
| `YUM`      | `yum update` | die gesamte Veröffentlichung aktualisieren
|            | `yum update` 'Paketname' | nur 'Paketname' aktualisieren
|====

=== Paket löschen / entfernen ===

// Stichworte für den Index
(((apt, remove)))
(((apt-get, purge)))
(((apt-get, --purge remove)))
(((apt-get, remove)))
(((aptitude, purge)))
(((aptitude, remove)))
(((dnf, erase)))
(((dnf, group remove)))
(((dnf, remove)))
(((dpkg, -P)))
(((dpkg, --purge)))
(((dpkg, -r)))
(((dpkg, --remove)))
(((Paket, deinstallieren)))
(((Paket, entfernen)))
(((Paket, Konfigurationsdateien löschen)))
(((Paket, löschen)))
(((rpm, -e)))
(((rpm, -e --nodeps)))
(((rpm, --erase)))
(((yum, erase)))
(((yum, remove)))
Mit den nachfolgenden Aufrufen entfernen Sie ein Softwarepaket über
die Kommandozeile. Unter ``Pakete deinstallieren'' in
<<pakete-deinstallieren>> gehen wir detaillierter auf `dpkg`, APT und
`aptitude` ein.

.Entfernen eines Pakets
[frame="topbot",options="header",cols="2,4,4",id="tab.paketentfernung"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt`      | `apt remove` 'Paketname' | entfernt das Paket, die Konfigurationsdateien des Pakets bleiben erhalten
| `apt-get`  | `apt-get remove` 'Paketname' | entfernt das Paket, die Konfigurationsdateien des Pakets bleiben erhalten
|            | `apt-get purge` 'Paketname' | entfernt das Paket inklusive der Konfigurationsdateien des Pakets
|            | `apt-get --purge remove` 'Paketname' | entfernt das Paket inklusive der Konfigurationsdateien des Pakets
| `aptitude` | `aptitude remove` 'Paketname' | entfernt das Paket, die Konfigurationsdateien des Pakets bleiben erhalten
|            | `aptitude purge` 'Paketname' | entfernt das Paket inklusive der Konfigurationsdateien des Pakets
| `DNF`      | `dnf erase` 'Paketname' | Paket wird deinstalliert (veraltet)
|            | `dnf group remove` 'Paketgruppe' | alle Pakete aus der Paketgruppe werden deinstalliert
|            | `dnf remove` 'Paketname' | Paket wird deinstalliert
| `dpkg`     | `dpkg -r` 'Paketname' | entfernt nur das Paket
|            | `dpkg --remove` 'Paketname' | entfernt nur das Paket
|            | `dpkg -P` 'Paketname' | entfernt das Paket und die Konfigurationsdateien des Pakets
|            | `dpkg --purge` 'Paketname' | entfernt das Paket und die Konfigurationsdateien des Pakets
| `RPM`      | `rpm -e` 'Paketname' | entfernt das angegebene Paket
|            | `rpm --erase` 'Paketname' | entfernt das angegebene Paket
|            | `rpm -e --nodeps` 'Paketname' | Entfernung des Pakets ohne Berücksichtigung der Paketabhängigkeiten
| `YUM`      | `yum remove` 'Paketname' | entfernt das angegebene Paket samt seiner Abhängigkeiten
|            | `yum erase` 'Paketname' | entfernt nur das angegebene Paket
|====

=== Alle installierten Pakete auflisten ===

// Stichworte für den Index
(((apt, list --installed)))
(((apt-cache, search)))
(((aptitude, search ~i)))
(((aptitude, search ?installed)))
(((aptitude, versions)))
(((dnf, list installed)))
(((dpkg, -l)))
(((dpkg, --list)))
(((Paket, installiertes anzeigen)))
(((Paket, Status anzeigen)))
(((Paket, Zustand anzeigen)))
(((Paketstatus)))
(((Paketzustand)))
(((rpm, -qa)))
(((rpm, -qa --last)))
(((yum, list)))
(((yum, list all)))
(((yum, list available)))
(((yum, list installed)))
(((yum, list updates)))
Mit den nachfolgenden Aufrufen listen Sie die vorhandenen Softwarepakete
über die Kommandozeile auf. Für `dpkg`, APT und `aptitude` besprechen
wir das detaillierter unter ``Liste der installierten Pakete anzeigen
und deuten'' in <<liste-der-installierten-pakete-anzeigen-und-deuten>>
sowie unter ``Aktualisierbare Pakete anzeigen'' in
<<aktualisierbare-pakete-anzeigen>>.

.Softwarepakete auflisten
[frame="topbot",options="header",cols="2,4,4",id="tab.paketeauflisten"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt`      | `apt list --installed` | alle installierten Pakete auflisten
| `apt-cache`| `apt-cache search` 'Paketname' |
| `aptitude` | `aptitude search '~i'`| alle installierten Pakete auflisten
|            | `aptitude versions` 'Paketname'| alle verfügbaren Pakete
für 'Paketname' auflisten, auch die (noch) nicht installierten Varianten
| `DNF`      | `dnf list installed` | alle installierten Pakete anzeigen
| `dpkg`     | `dpkg -l` | alle installierten Pakete auflisten
|            | `dpkg --list` | alle installierten Pakete auflisten
| `RPM`      | `rpm -qa` | alle installierten Pakete auflisten
|            | `rpm -qa --last` | alle zuletzt installierten Pakete auflisten, auch die (noch) nicht installierten Pakete
| `YUM`      | `yum list` 'Paketname' | anzeigen, welche Versionen des Pakets installiert sind
|            | `yum list all` | alle installierten Pakete auflisten
|            | `yum list available` | alle verfügbaren Pakete auflisten
|            | `yum list installed` | alle installierten Pakete auflisten
|            | `yum list updates` | alle aktualisierbaren Pakete auflisten
|====

=== Einzelpaket auflisten ===

// Stichworte für den Index
(((apt, list)))
(((apt, show)))
(((aptitude, show)))
(((dnf, info)))
(((dnf, list)))
(((dnf, list installed)))
(((dpkg, -l)))
(((dpkg, --list)))
(((dpkg, -s)))
(((dpkg, --status)))
(((Paket, Status anzeigen)))
(((Paket, Zustand anzeigen)))
(((Paketstatus)))
(((Paketzustand)))
(((rpm, -q)))
(((rpm, --query)))
(((rpm, -qa)))
(((rpm, -qp)))
(((yum, list)))
Mit den nachfolgenden Aufrufen listen Sie die Informationen bzw. den
Installationsstatus zu einem einzelnen Softwarepaket auf. Unter ``Liste
der installierten Pakete anzeigen und deuten'' in
<<liste-der-installierten-pakete-anzeigen-und-deuten>> besprechen wir
das zu `dpkg` und `aptitude` genauer.

.Einzelnes Softwarepaket auflisten
[frame="topbot",options="header",cols="2,4,4",id="tab.paketinfo"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt`      | `apt list` 'Paketname' | Informationen und den Installationsstatus zu Paketname anzeigen
|            | `apt show` 'Paketname' | Detaillierte Informationen und den Installationsstatus zu Paketname anzeigen
| `aptitude` | `aptitude show` 'Paketname'|
| `DNF`      | `dnf info` 'Paketname' | Informationen zu Paketname anzeigen
|            | `dnf list installed` | alle installierten Pakete anzeigen
|            | `dnf list installed` 'Paketname' | Installationsstatus zu Paketname anzeigen
| `dpkg`     | `dpkg -l` 'Paketname' | Ausgabe des Installationsstatus
|            | `dpkg --list` 'Paketname' | Ausgabe des Installationsstatus
|            | `dpkg -s` 'Paketname' | Ausgabe der Paketinformationen
|            | `dpkg --status` 'Paketname' | Ausgabe der Paketinformationen
| `RPM`      | `rpm -q` 'Paketname' | Ausgabe des Installationsstatus für 'Paketname'
|            | `rpm --query` 'Paketname' | Ausgabe des Installationsstatus für 'Paketname'
|            | `rpm -qp` 'Paketname' | analog zu `-q`
| `YUM`      | `yum list` 'Paketname' | anzeigen, welche Versionen des Pakets installiert sind
|====

=== Abhängigkeiten anzeigen ===

// Stichworte für den Index
(((apt-cache, depends)))
(((apt-cache, rdepends)))
(((apt-rdepends)))
(((apt-rdepends, -r)))
// (((aptitude, search ~D)))
// (((aptitude, search ~R)))
(((dpkg, -f)))
(((dpkg, --field)))
(((dpkg-deb, -f)))
(((dpkg-deb, --field)))
(((grep-status, -F)))
(((grep-status, -P)))
(((grep-status, -s)))
(((Paket, Abhängigkeiten anzeigen)))
(((Paket, Rückwärtsabhängigkeiten auflisten)))
(((Paketabhängigkeiten, auflisten)))
(((Paketabhängigkeiten, Rückwärtsabhängigkeiten auflisten)))
(((rpm, -qpR)))
(((rpm, -qR)))
(((rpm, --requires)))
(((yum, deplist)))
(((yum, info)))
Mit den nachfolgenden Aufrufen zeigen Sie die Abhängigkeiten zu anderen
Paketen an. Für `dpkg` und APT gehen wir dazu genauer in
``Paketabhängigkeiten anzeigen'' in <<paketabhaengigkeiten-anzeigen>>
ein.

.Paketabhängigkeiten anzeigen
[frame="topbot",options="header",cols="2,4,4",id="tab.paketabhaengigkeiten"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `dpkg`     | `dpkg -f` 'Paketdatei' `Depends` | das Paket muß dazu lokal als Datei vorliegen
| `dpkg-deb` | `dpkg-deb -f` 'Paketdatei' `Depends` | das Paket muß dazu lokal als Datei vorliegen
| APT        | `apt-cache depends` 'Paketname' | umgekehrte Abhängigkeiten anzeigen
|            | `apt-cache rdepends` 'Paketname' | Abhängigkeiten anzeigen
| `apt-rdepends` | `apt-rdepends -r` 'Paketname' | Abhängigkeiten anzeigen
|            | `apt-rdepends` 'Paketname' | umgekehrte Abhängigkeiten anzeigen
| `aptitude` | `aptitude search '~R'` 'Paketname' | Abhängigkeiten anzeigen
|            | `aptitude search '~D'` 'Paketname' | umgekehrte Abhängigkeiten anzeigen
| `grep-status` | `grep-status -F Package -s Depends` 'Paketname' | Abhängigkeiten anzeigen
|            | `grep-status -P -s Depends` 'Paketname' | Abhängigkeiten anzeigen
| `RPM`      | `rpm -qR` 'Paketname' | das Paket muß lokal auf dem
System installiert sein
|            | `rpm --query --requires` 'Paketname' | das Paket muß
lokal auf dem System installiert sein
|            | `rpm -qpR` 'Paketdatei' | das Paket muß dazu lokal als Datei vorliegen
| `YUM`      | `yum deplist` 'Paketname' |
|            | `yum info` 'Paketname' |
|====

=== Alle Dateien eines installierten Pakets anzeigen ===

// Stichworte für den Index
(((apt-file, list)))
(((apt-file, show)))
(((dpkg, -L)))
(((dpkg, --listfiles)))
(((dpkg-query, -L)))
(((dpkg-query, --listfiles)))
(((Paket, Inhalte anzeigen)))
(((rpm, -ql)))
Mit den nachfolgenden Aufrufen zeigen Sie an, welche Dateien und
Verzeichnisse zu dem installierten Paket gehören. Für Debianpakete
widmen wir uns dem Thema in ``Paketinhalte anzeigen'' in
<<paketinhalte-anzeigen-apt-file>>.

.Paketinhalte anzeigen
[frame="topbot",options="header",cols="2,4,4",id="tab.paketinhalte"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt-file` | `apt-file list` 'Paketname' |
|            | `apt-file show` 'Paketname' |
| `dpkg`     | `dpkg -L` 'Paketname' |
|            | `dpkg --listfiles` 'Paketname' |
| `dpkg-query` | `dpkg-query -L` 'Paketname' |
|            | `dpkg-query --listfiles` 'Paketname' |
| `RPM`      | `rpm -ql` 'Paketname' |
| `YUM`      | `repoquery -l` 'Paketname' | aus Paket `yum-utils`
|            | `repoquery --list` 'Paketname' |
|====

=== Paket identifizieren, aus dem eine Datei stammt ===

// Stichworte für den Index
(((apt-file, find)))
(((apt-file, search)))
(((dnf, provides)))
(((dpkg, -S)))
(((dpkg, --search)))
(((dpkg-query, -S)))
(((dpkg-query, --search)))
(((Paket, zu Datei finden)))
(((rpm, -qf)))
(((yum, provides)))
Um herauszufinden, aus welchem Paket eine Datei stammt, bieten sowohl
`rpm` als auch `dpkg` entsprechende Schalter an. Für Debianpakete gibt
es `apt-file`, welches wir genauer in ``Paket zu Datei finden'' in
<<paket-zu-datei-finden>> besprechen.

.Paket zu Datei finden
[frame="topbot",options="header",cols="2,4,4",id="tab.paket-zu-datei-finden"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt-file` | `apt-file find` 'Dateiname' | Suche in allen verfügbaren Paketen
|            | `apt-file search` 'Dateiname' | Suche in allen verfügbaren Paketen
| `DNF`      | `dnf provides` 'Dateiname'| 'Dateiname' umfaßt hier den vollständigen Namen inklusive Pfad
| `dpkg`     | `dpkg -S` 'Dateiname' | Suche nach dem Dateiname in den installierten Paketen
|            | `dpkg --search` 'Dateiname' | Suche nach dem Dateiname in den installierten Paketen
| `dpkg-query` | `dpkg-query -S` 'Dateiname' | Suche nach dem Dateiname in den installierten Paketen
|            | `dpkg-query --search` 'Dateiname' | Suche nach dem Dateiname in den installierten Paketen
| `RPM`      | `rpm -qf` 'Dateiname' | 'Dateiname' umfaßt hier den vollständigen Namen inklusive Pfad
| `YUM`      | `yum provides` 'Dateiname'| 'Dateiname' umfaßt hier den vollständigen Namen inklusive Pfad
|====

=== Paketstatus anzeigen ===

// Stichworte für den Index
(((apt-cache, show)))
(((aptitude, show)))
(((dpkg, -I)))
(((dpkg, --info)))
(((dpkg, -s)))
(((dpkg, --status)))
(((dpkg-deb, -I)))
(((dpkg-deb, --info)))
(((dpkg-query, -s)))
(((dpkg-query, --status)))
(((Paket, Status anzeigen)))
(((Paketstatus anzeigen)))
(((rpm, -qi)))
(((rpm, -qip)))
(((yum, info)))
Diese Information zeigen Ihnen `dpkg` und `apt-cache` an. Ausführlicher
beschäftigt sich damit der Abschnitt ``Paketstatus erfragen'' in
<<paketstatus-erfragen>>.

.Paketstatus erfragen
[frame="topbot",options="header",cols="2,4,4",id="tab.paketstatus-erfragen"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt-cache`| `apt-cache show` 'Paketname' | Suche in allen verfügbaren Paketen
| `aptitude` | `aptitude show` 'Paketname' | Suche in allen verfügbaren Paketen
| `dpkg`     | `dpkg -s` 'Paketname' | 'Paketname' muß lokal installiert sein
|            | `dpkg --status` 'Paketname' | 'Paketname' muß lokal installiert sein
|            | `dpkg -i` 'Dateiname' | 'Dateiname' bezeichnet eine lokale Datei
|            | `dpkg --info` 'Dateiname' | 'Dateiname' bezeichnet eine lokale Datei
| `dpkg-query` | `dpkg-query -s` 'Paketname' | 'Paketname' muß lokal installiert sein
|            | `dpkg-query --status` 'Paketname' | 'Paketname' muß lokal installiert sein
| `RPM`      | `rpm -qi` 'Paketname' | 'Paketname' muß lokal installiert sein
|            | `rpm -qip` 'Dateiname' | 'Dateiname' muß lokal vorliegen
| `YUM`      | `yum info` 'Paketname' | 'Paketname' muß lokal installiert sein
|====

=== Aktualisierbare Pakete anzeigen ===

// Stichworte für den Index
(((apt, list --upgradable)))
(((apt-get, upgrade -u)))
(((apt-get, upgrade --show-upgraded)))
(((apt-get, upgrade --simulate)))
(((aptitude, search ~U)))
(((aptitude, search ?upgradable)))
(((dnf, list upgrades)))
(((Paket, aktualisierbare Pakete anzeigen)))
(((Pakete aktualisieren, aktualisierbare Pakete anzeigen)))
(((Pakete aktualisieren, Simulation)))
(((yum, check-update)))
(((yum, list updates)))
Viele Pakete werden regelmäßig aktualisiert. Welches Kommando Ihnen die
Pakete anzeigt, die in einer neuen Version bereitstehen, zeigt Ihnen die
nachfolgende Tabelle. In Abschnitt ``Aktualisierbare Pakete anzeigen``
<<aktualisierbare-pakete-anzeigen>> erfahren Sie dazu mehr Details.

.Aktualisierbare Pakete anzeigen
[frame="topbot",options="header",cols="2,4,4",id="tab.aktualisierbarepakete"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt`      | `apt list --upgradable` | alle Pakete auflisten, für die eine neue Version bereitsteht
|            | `apt list --upgradable` 'Paketname' | anzeigen, ob für das Paket eine neue Version bereitsteht
| `apt-get`  | `apt-get upgrade -u` | alle Pakete auflisten, für die eine neue Version bereitsteht
|            | `apt-get upgrade --show-upgraded` | analog zu `-u` (Langform)
|            | `apt-get upgrade -u -s ` | Simulation, analog zu `-u`
|            | `apt-get upgrade --show-upgraded --simulate` | Simulation, analog zu `-u -s` (Langform)
| `aptitude` | `aptitude search '~U'` | alle aktualisierbaren Pakete anzeigen
|            | `aptitude search ?upgradable` | alle aktualisierbaren Pakete anzeigen
| DNF        | `dnf list upgrades` | alle aktualisierbaren Pakete anzeigen
| `RPM`      | |
| `YUM`      | `yum check-updates`| Auflistung der Aktualisierungen für die bereits installierten Pakete
|            | `yum list updates`| alle aktualisierbaren Pakete anzeigen
|====

=== Verfügbare Pakete anzeigen ===

// Stichworte für den Index
(((Paket, bekannte Pakete auflisten)))
(((Paket, verfügbare Pakete anzeigen)))
(((apt, list)))
(((apt-cache, pkgnames)))
(((dnf, group list)))
(((dnf, list available)))
(((dnf, repository-list)))
(((yum, list available)))
Welche Pakete verfügbar sind, erfahren Sie mit den nachfolgend genannten
Aufrufen. In Abschnitt ``Bekannte Paketnamen auflisten``
<<bekannte-paketnamen-auflisten>> stellen wir Ihnen das genauer vor.

.Verfügbare Pakete anzeigen
[frame="topbot",options="header",cols="2,4,4",id="tab.verfuegbarepakete"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `apt`      | `apt list` | alle verfügbaren (bekannten) Pakete samt Status auflisten
| `apt-cache`| `apt-cache pkgnames` | alle verfügbaren (bekannten) Pakete auflisten
| DNF        | `dnf group list` | alle Paketgruppen auflisten
|            | `dnf list available` | alle verfügbaren Pakete anzeigen
|            | `dnf repository-list repo list` | alle Pakete aus dem Repository 'repo' anzeigen
| `RPM`      | |
| `YUM`      | `yum list available`| alle verfügbaren Pakete anzeigen
|====

=== Paketsignatur überprüfen ===

// Stichworte für den Index
(((debsums)))
(((dpkg, -V)))
(((dpkg, --verify)))
(((dpkg-sig, --verify)))
(((gpg, --verifiy)))
(((Paket, auf Veränderungen prüfen)))
(((Paket, auf Vertrauenswürdigkeit prüfen)))
(((Paket, Signatur überprüfen)))
(((Paket, verifizieren)))
(((Paketsignatur, überprüfen)))
(((rpm, -K)))
(((rpm, --checksig)))
Mit den nachfolgenden Aufrufen überprüfen Sie die Signatur eines Pakets. Sie 
stellen damit sicher, dass das Paket unverändert vom Paketmirror zu Ihnen 
übertragen wurde und auf dem Transportweg keine inhaltlichen Veränderungen 
stattgefunden haben. Für Debianpakete widmen wir uns dem Thema in 
``Paket verifizieren'' in <<bezogenes-paket-verifizieren>> und
``Paket auf Veränderungen prüfen'' in <<paket-auf-veraenderungen-pruefen>>.

.Paketsignatur überprüfen
[frame="topbot",options="header",cols="2,4,4",id="tab.paketsignatur"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `debsums`  | `debsums` 'Paketname'| alle Dateien des angegebenen Paketes überprüfen
|            | `debsums` | alle Dateien überprüfen (außer Konfigurationsdateien)
| `dpkg`     | `dpkg -V` 'Paketname'| alle Dateien des angegebenen Paketes überprüfen
|            | `dpkg --verify` 'Paketname' | alle Dateien des angegebenen Paketes überprüfen
| `dpkg-sig` | `dpkg-sig --verify` 'Paketname' | GnuPG-Signatur des Pakets prüfen
| `gpg`      | `gpg --verify` 'Paketname' | GnuPG-Signatur des Pakets prüfen
| DNF        | |
| `RPM`      | `rpm -K` 'Paketname' |
|            | `rpm --checksig` 'Paketname' |
| `YUM`      | |
|====

=== Paket auf Veränderungen prüfen ===

// Stichworte für den Index
(((Paket, auf Veränderungen prüfen)))
(((dpkg, --verify)))
(((dpkg, -V)))
(((rpm, -qV)))
(((rpm, -Va)))
(((rpm, -Vp)))
Um festzustellen, ob die vorliegenden Dateien noch identisch mit den
Dateien aus dem installierten Paket sind, helfen Ihnen diese Kommandos:

.Paket auf Veränderungen prüfen
[frame="topbot",options="header",cols="2,4,4",id="tab.paketveraenderungen"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| `dpkg`     | `dpkg -V` | prüft alle installierten Pakete
|            | `dpkg --verify` 'Paketname' | prüft nur das angegebene Paket
| `RPM`      | `rpm -Va` | prüft alle installierten Pakete
|            | `rpm -qV` 'Paketname' | prüft nur das angegebene Paket
|            | `rpm -Vp` 'Paketname' | prüft nur das angegebene Paket
| `YUM`      | |
|====

// Stichworte für den Index
(((Debianpaket, debsums)))
(((Debianpaket, dlocate)))
(((debsums)))
(((dlocate, -md5check)))
(((dlocate, -md5sum)))
(((dpkg, --verify)))
(((dpkg, -V)))
APT und `aptitude` stellen keine eigenen Schalter zur Verfügung, `dpkg`
erst ab der Version 1.17 (verfügbar ab Debian 8 'Jessie'). Für
vorhergehende Veröffentlichungen weichen Sie auf die Werkzeuge `debsums`
und `dlocate` aus. Darauf gehen wir im Abschnitt ``Paket auf
Veränderungen prüfen'' in <<paket-auf-veraenderungen-pruefen>> genauer
ein.

=== Transaktionshistorie anzeigen ===

// Stichworte für den Index
(((Paket, Transaktionshistorie anzeigen)))
(((dnf, history)))
(((dnf, history list)))
`dpkg`, `apt` und `aptitude` besitzen keine expliziten Schalter dafür.
Im Abschnitt ``Liste der zuletzt installierten Pakete anzeigen'' in
<<liste-der-zuletzt-installierten-pakete-anzeigen>> zeigen wir Ihnen,
wie Sie das über die Logdateien lösen. DNF erlaubt es hingegen , die
Transaktionshistorie darzustellen. Dabei helfen Ihnen diese Kommandos:

.Transaktionshistorie anzeigen 
[frame="topbot",options="header",cols="2,4,4",id="tab.transaktionshistorie"]
|====
| Werkzeug   | Aufruf | Anmerkungen
| DNF      | `dnf history`| die gesamte Historie aller Transaktionen anzeigen
|          | `dnf history list`| die gesamte Historie aller Transaktionen anzeigen
|====

// Datei (Ende): ./anhang/anhang.paketkommando/rpm-yum-dpkg.adoc
