// Datei: ./praxis/apt-und-aptitude-auf-die-eigenen-beduerfnisse-anpassen/konfigurationsdateien-von-apt.adoc

// Baustelle: Rohtext
// Axel: Rohtext

[[konfigurationsdateien-von-apt]]
=== Konfigurationsdateien von APT im Detail ===

[[konfigurationsdateien-von-apt-apt.conf]]
==== `/etc/apt/apt.conf(.d)` verstehen ====

// Stichworte für den Index
(((/etc/apt/apt.conf)))
(((/etc/apt/apt.conf.d/)))
(((Debianpaket, adequate)))
(((Debianpaket, whatmaps)))

In der Datei `/etc/apt/apt.conf` bzw. in den Dateien im Verzeichnis
`/etc/apt/apt.conf.d/` stellen Sie viele Aspekte von APT und anderen
APT-Frontends ein. Alle diese Einstellungen überschreiben Sie bei Bedarf 
explizit auch auf der Kommandozeile (siehe <<konfigurationsoptionen-von-apt>>).
Darunter fallen u.a.:

* wie oft APT selbstständig Paketlisten und Pakete herunterladen soll
  (alle Einstellungen, die mit `APT::Periodic::` beginnen),

* ob empfohlene ('Recommends') oder vorgeschlagene Pakete ('Suggests')
per Default installiert werden sollen,

* welche Pakete nie automatisch entfernt werden sollen,

* ob Paketlisten lokal entpackt oder komprimiert gespeichert werden
  sollen,

* welche Kompressionsalgorithmen beim Herunterladen von Paketlisten
  bevorzugt werden sollen,

* wohin APT Paketlisten und Pakete herunterladen soll. (Sollte man
  nicht systemweit ändern, kann aber beim Bearbeiten einer
  Chroot-Umgebung von außen durchaus als Einstellung auf der
  Kommandozeile nützlich sein.)

* An- und Abschalten von Fortschrittsbalken (verfügbar ab APT 1.0),

* wo Changelogs heruntergeladen werden können,

* welche Übersetzungen der Paketlisten heruntergeladen werden sollen,

* welche Parameter APT an `dpkg-deb` übergibt,

* Hooks, z.B. vor und nach dem Auspacken von Paketen (siehe <<apt-hooks>>)

* Konfigurationen für beliebige Tools im APT-Ökosystem, die ebenfalls
  diese Konfigurationsdateien verwenden, z.B. `aptitude`, `adequate`
  <<Debian-Paket-adequate>>, `whatmaps` <<Debian-Paket-whatmaps>>, etc.

Um das Vorgehen besser zu verstehen, werfen Sie am besten einen Blick in
das Verzeichnis `/etc/apt/apt.conf.d/`. Das nachfolgende Listing zeigt
den typischen Inhalt auf einem Debian 9 'Stretch'. Ob und welche Dateien 
tatsächlich vorhanden sind, hängt von den Werkzeugen ab, die Sie auf ihrem 
System installiert haben.

.Beispielhafter Inhalt von `/etc/apt/apt.conf.d/`
----
$ ls /etc/apt/apt.conf.d/
00CDMountPoint  01autoremove          20listchanges  70debconf
00trustcdrom    01autoremove-kernels  20packagekit
$
----

Die Datei `01autoremove-kernels` beinhaltet bspw. Anweisungen, was mit älteren 
und inzwischen aktualisierten Kernelpaketen auf ihrem System passieren soll.
Üblicherweise bleiben diese bei einer Aktualisierung des Pakets erhalten und
werden von APT niemals automatisch entfernt. Der nachfolgende Ausschnitt 
demonstriert Ihnen das:

.Inhalt der Datei `/etc/apt/apt.conf.d/01autoremove-kernels` (Ausschnitt)
----
// DO NOT EDIT! File autogenerated by /etc/kernel/postinst.d/apt-auto-removal
APT::NeverAutoRemove
{
   "^linux-image-3\.16\.0-4-amd64$";
   "^linux-image-4\.9\.0-11-amd64$";
   "^linux-headers-3\.16\.0-4-amd64$";
   "^linux-headers-4\.9\.0-11-amd64$";
   "^linux-image-extra-3\.16\.0-4-amd64$";
   "^linux-image-extra-4\.9\.0-11-amd64$";
   "^linux-signed-image-3\.16\.0-4-amd64$";
   "^linux-signed-image-4\.9\.0-11-amd64$";
   "^kfreebsd-image-3\.16\.0-4-amd64$";
   "^kfreebsd-image-4\.9\.0-11-amd64$";
   "^kfreebsd-headers-3\.16\.0-4-amd64$";
   "^kfreebsd-headers-4\.9\.0-11-amd64$";
   "^gnumach-image-3\.16\.0-4-amd64$";
   "^gnumach-image-4\.9\.0-11-amd64$";
   "^.*-modules-3\.16\.0-4-amd64$";
   "^.*-modules-4\.9\.0-11-amd64$";
   "^.*-kernel-3\.16\.0-4-amd64$";
   "^.*-kernel-4\.9\.0-11-amd64$";
   "^linux-backports-modules-.*-3\.16\.0-4-amd64$";
   "^linux-backports-modules-.*-4\.9\.0-11-amd64$";
   "^linux-tools-3\.16\.0-4-amd64$";
   "^linux-tools-4\.9\.0-11-amd64$";
};
...
----

[[konfigurationsdateien-von-apt-preferences]]
==== `preferences` bzw. `preferences.d` ====

* ToDo

==== cron.daily/apt ====

* Begriff und Nutzen


// Datei (Ende): ./praxis/apt-und-aptitude-auf-die-eigenen-beduerfnisse-anpassen/konfigurationsdateien-von-apt.adoc
