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
shell
-c
(Langform --config-file
)
-h
(Langform --help
)
-o
(Langform --option
)
-v
(Langform --version
)
--empty
--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
--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.