10.2. Konfiguration von APT anzeigen

Zu diesem Zweck steht Ihnen das Werkzeug apt-config zur Verfügung. Es ist Bestandteil des Debianpakets apt [Debian-Paket-apt]. Das Ziel des von den Entwicklern gewählten Schnittstellendesigns besteht in der leichten Benutzbarkeit des Programms — auch von Shellskripten aus (siehe dazu den Abschnitt AptConf im Debian Wiki [Debian-Wiki-AptConf]).

Die Konfiguration von APT erhalten Sie mit dem Schalter dump. Nachfolgend sehen Sie einen Auszug der Ausgabe. Um diese Informationen zusammenzustellen, kombiniert apt-config die Inhalte der einzelnen Module zur Konfiguration (siehe dazu Abschnitt 10.3, „Konfigurationsdateien von APT im Detail“).

Ausgabe der aktuellen Einstellungen von APT mittels apt-config

$ apt-config dump
APT "";
APT::Architecture "i386";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "true";
APT::Install-Suggests "0";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^firmware-linux.*";
APT::NeverAutoRemove:: "^linux-firmware$";
APT::NeverAutoRemove:: "^linux-image.*";
APT::NeverAutoRemove:: "^kfreebsd-image.*";
...
$

Nützliche Schalter und Optionen von apt-config sind:

dump
Nur der Inhalt des Konfigurationsbereichs wird angezeigt.
shell
Zugriff auf die Konfigurationsinformationen aus einem Shellskript heraus.
-c (Langform --config-file)
Angabe einer Konfigurationsdatei. Diese Datei wird zusätzlich zur üblichen Konfigurationsdatei gelesen.
-h (Langform --help)
Ausgabe der Hilfe zum Programm.
-o (Langform --option)
Angabe einer Option direkt beim Aufruf. Diesen Schalter können Sie mehrfach angeben.
-v (Langform --version)
Ausgabe der Version samt Architektur
--empty
Damit schließen Sie Optionen ein, die einen leeren Wert haben. Das ist die Standardeinstellung. Das Gegenstück dazu ist --no-empty.
--format

Darstellung der Ausgabe steuern. Zulässig sind diese Werte:

  • %f — vollständiger, hierarchischer Name der Option
  • %n — Zeilenumbruch
  • %N — Tabulator
  • %t — individueller Name der Option (Kurzform von %f)
  • %v — Wert der Option

    Die Standardeinstellung ist %f "%v";%n. Die nachfolgende Ausgabe zeigt die Kurzform der Option inklusive deren Wert. Jede Zeile wird mit einem Semikolon abgeschlossen.

    $ apt-config dump --format '%t "%v"; %n'
    APT "";
    Architecture "amd64";
    Build-Essential "";
     "build-essential";
    Install-Recommends "1";
    Install-Suggests "0";
    Sandbox "";
    ...
    $
--no-empty
Damit schließen Sie Optionen aus, die einen leeren Wert haben. Das Gegenstück dazu ist --empty.

Was uns apt-config bislang nicht freiwillig verraten hat, ist, welche Option in welchem Konfigurationsschnipsel gesetzt wurde. Das ist bspw. dann wichtig, wenn Sie herausfinden müssen, welche Optionen sich überschreiben oder auch gegenseitig wieder aufheben. Für Debian 9 Stretch haben wir diese (provisorische) Lösung, um zumindest herauszubekommen, welche Konfigurationsdateien gelesen werden:

Welche Dateien liest apt-config (Lösung für Debian 9 Stretch). 

$ strace -f -e open apt-config dump | grep "open("
...
open("/etc/apt/apt.conf.d/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
open("/etc/apt/apt.conf.d/00CDMountPoint", O_RDONLY) = 4
open("/etc/apt/apt.conf.d/00trustcdrom", O_RDONLY) = 4
open("/etc/apt/apt.conf.d/01autoremove", O_RDONLY) = 4
open("/etc/apt/apt.conf.d/01autoremove-kernels", O_RDONLY) = 4
open("/etc/apt/apt.conf.d/20listchanges", O_RDONLY) = 4
open("/etc/apt/apt.conf.d/20packagekit", O_RDONLY) = 4
open("/etc/apt/apt.conf.d/70debconf", O_RDONLY) = 4
...
open("/var/lib/apt/lists/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
...
$

Da sich in Debian 10 Buster der interne Aufruf von open() zu openat() geändert hat, sieht der Aufruf von apt-config nun wie folgt aus:

Welche Dateien liest apt-config (Lösung für Debian 10 Buster). 

$ strace -f -e openat apt-config dump | grep "openat("
...
$

Nach unseren Tests funktioniert obige Lösung ebenfalls für Debian 11 Bullseye und 12 Bookworm.