/etc/apt/apt.conf

Aus Foxwiki

Beschreibung

Die Konfigurationsdatei /etc/apt/apt.conf stellt die zentrale Stelle für alle Einstellungen von Programmen dar, die auf APT aufsetzen.

  • Von allen Programmen wird zum einen die gemeinsame Konfigurationsdatei, zum anderen auch ein Kommandozeilen-Interpreter (apt-config) genutzt, um die Konfigurationsdatei auszuwerten.
  • Dies garantiert für alle Programme eine einheitliche Arbeitsumgebung.
  • Beim Start eines auf APT basierenden Programmes wird zunächst die Umgebungsvariable APT_CONFIG ausgewertet. Über diese Umgebungsvariable lässt sich eine alternative Konfigurationsdatei angeben.

Die Konfigurationsdatei ist in einer Baumstruktur organisiert und trennt verschiedene Optionen in funktionale Gruppen.

  • Werte für Optionen werden durch zwei Doppelpunkte eingeleitet, beispielsweise so: APT::Get::Assume-Yes.
  • Optionen übernehmen keine Werte von übergeordneten Gruppen.

Die Syntax der Konfigurationsdatei ist an die von Programmen wie bind und dhcp angelehnt.

  • Zeilen, die mit den Zeichen // beginnen, werden als Kommentare behandelt und ignoriert.
  • Alle weiteren Zeilen entsprechen dem Aufbau von APT::Get::Assume-Yes "true";.
  • Wichtig ist hierbei das abschließende Semikolon am Ende jeder Zeile, die Werte selbst können, müssen aber nicht von Anführungszeichen umschlossen werden.
  • Ein neuer Bereich wird durch geschweifte Klammern umschlossen.
# APT {Get {
Assume-Yes "true";Fix-Broken "true"; };};

Leerzeilen können innerhalb eines Bereiches genutzt werden, um die Datei besser lesbar zu halten.

  • Einfache Einträge können erzeugt werden, indem innerhalb eines Bereiches ein Kommando abgelegt wird und der Eintrag mit einem Semikolon beendet wird.
Beispiel
# DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};

Hier ein einfaches Beispiel für eine APT-Konfigurationsdatei (/etc/apt/apt.conf):

# // $Id: apt.conf,v 1.43 1999/12/06 02:19:38 jgg Exp $
/* This file is a sample configuration file with a few harmless sample
   options.
*/

APT
{
  // Options for apt-get
  Get
  {
     Download-Only "false";
  };

};

// Options for the downloading routines
Acquire
{
  Retries "0";
};

// Things that effect the APT dselect method
DSelect
{
  Clean "auto";   // always|auto|prompt|never
};

DPkg
{
  // Probably don't want to use force-downgrade..
  Options {"--force-overwrite";}
}

Innerhalb der Konfigurationsdatei sind zwei spezielle Einträge erlaubt, #include und #clear. #include liest die angegebene Datei an der entsprechenden Stelle ein, solange der Dateiname nicht mit einem Slash (/) endet. #clear löscht eine Liste von Namen.

Allen APT-Programmen kann die Option -o übergeben werden, um eine Konfigurationsoption auf der Kommandozeile zu übergeben.

  • Die Syntax hierfür ist der volle Name der Option, beispielsweise APT::Get::Assume-Yes, gefolgt von einem Gleichheitszeichen und dem gewünschten Wert für diese Option.
  • Listen können Werte hinzugefügt werden, indem abschließend zwei Doppelpunkte (::) angegeben werden.

Im Folgenden werden die verschiedenen Gruppen in der Konfigurationsdatei beschrieben.

APT

Diese Gruppe enthält generelle Parameter zu allen APT-Programmen.

Architecture Die System Architektur. Über diesen Wert wird ermittelt, welche Paketlisten und Debian Pakete passend zur Hardware-Architektur geholt werden.
  • Voreingestellt ist immer die Architektur für die APT auf dem System übersetzt wurden.
Ignore-Hold Setzt den „Hold“-Status global für alle Pakete außer Kraft.
Clean-Installed Voreingestellt ist hier der Wert „on“.
Immediate-Configure Mit dieser Option lässt sich das unmittelbare Konfigurieren von Paketen abschalten.
  • APT ruft nach einer Anzahl von Paketen, die zur Installation vorgemerkt sind, die Konfiguration dieser Pakete auf.
  • Dies ist sinnvoll, da Pakete aufeinander basieren und es erforderlich ist, dass ein bestimmtes Paket vor einem anderen bereits installiert und konfiguriert ist.
  • Das Abschalten dieser Option kann die Installation von vielen Paketen auf einem langsamen System beschleunigen, führt aber unter Umständen zu Problemen bei der Installation.
Force-LoopBreak Diese Option erlaubt APT, ein essenzielles Paket kurzfristig zu entfernen, um eine Endlosschleife in einem Konflikt oder einer Abhängigkeit (Pre-Depend) auflösen zu können.
  • Solch eine Endlosschleife darf eigentlich nicht existieren und ist ein schwerwiegender Fehler.
  • Diese Option wirkt nicht bei den essenziellen Paketen tar, gzip, libc, dpkg, bash oder allen anderen Paketen, von denen diese Pakete abhängen.
  • Diese Option darf nur eingesetzt werden, wenn Sie genau verstanden haben, was dies für Konsequenzen haben kann.
Cache-Limit APT nutzt einen festgelegten Speicherbereich, um Informationen über die verfügbaren Pakete zu speichern.
  • Mit dieser Option kann der Wert verändert werden.
Get Dieser Abschnitt kontrolliert das Verhalten von apt-get.
Cache Dieser Abschnitt kontrolliert das Verhalten von apt-cache.
CDROM Dieser Abschnitt kontrolliert das Verhalten von apt-cdrom.

Acquire

In dieser Gruppe sind Optionen für das Herunterladen von Paketen und die Behandlung von URIs enthalten.

Queue-Mode Dieser Eintrag betrifft die Behandlung von ausgehenden Verbindungen bei der Übertragung von Paketen.
  • Der Wert „host“ bedeutet, dass zu jedem System, von dem Pakete geholt werden, eine Verbindung aufgebaut wird.
  • Der Wert „access“ bewirkt, dass je URI-Typ eine Verbindung aufgebaut wird.
Retries Anzahl der Versuche bei einem fehlgeschlagenen Download.
Source-Symlinks Nutzt symbolische Links für Quellcode-Archive, anstatt eine Kopie der Datei anzulegen.
  • Voreinstellung ist „True“.
Http HTTP-Adressen können mit diesem Eintrag über einen Proxy-Server erreicht werden.
  • Die Angabe http::Proxy stellt der Standard-Proxy für alle Anfragen dar.
  • Die Adresse des Proxy-Servers ist wie üblich als http://[[user][:pass]@]host[:port]/ anzugeben.
  • Alternativ kann für einzelne Server ein gesonderter Proxy in der Form http::Proxy::<host> gesetzt werden.
  • Soll für einen einzelnen Server kein Proxy verwendet werden, so ist das Schlüsselwort DIRECT zu benutzen.
  • Die Umgebungsvariable http_proxy überschreibt alle diese Angaben.
  • Es sind drei Werte im Zusammenhang mit diesem Eintrag erlaubt. No-Cache teilt dem Proxy mit, dass in keinem Fall Daten aus dem Cache benutzt werden sollen. Max-Age wird für Index-Dateien verwendet und gibt die Zeit in Sekunden an, die das maximale Alter der Index-Dateien bezeichnet.
  • Die Index-Dateien auf Debian Servern werden täglich aktualisiert, der vorgegebene Wert entspricht ebenso einem Tag. No-Store führt dazu, dass die Anfrage niemals im Cache gespeichert wird.
  • Mit der Option timeout lässt sich die Zeit für Verbindungs- und Daten-Timeouts einstellen.
Ftp FTP-Adressen können mit diesem Eintrag über einen Proxy-Server erreicht werden.
  • Die Angabe ftp::Proxy stellt der Standard-Proxy für alle Anfragen dar.
  • Die Adresse des Proxy-Servers ist wie üblich als ftp://[[user][:pass]@]host[:port]/ anzugeben.
  • Um einen FTP-Proxy zu nutzen, muss in der Konfigurationsdatei der Wert ftp::ProxyLogin mit einem Skript belegt sein.
  • Dieser Eintrag beschreibt die Kommandos, die an den FTP-Server beim Login-Vorgang gesendet werden.
ProxyLogin
 {
     "USER $(PROXY_USER)";
     "PASS $(PROXY_PASS)";
     "USER $(SITE_USER)@$(SITE):$(SITE_PORT)";
     "PASS $(SITE_PASS)";
 };

Die Umgebungsvariable ftp_proxy überschreibt alle diese Angaben.

Mit der Option timeout lässt sich die Zeit für Verbindungs- und Daten-Timeouts einstellen.

cdrom Der Wert für einen Eintrag, der eine CD (ein CD-ROM- oder DVD-Laufwerk) betrifft, bezieht sich auf das Verzeichnis im Dateisystem, an dem der Inhalt eingebunden wird.
  • Die Syntax für solch einen Eintrag lautet:

"/cdrom/"::Mount "foo";

Wichtig ist bei einem solchen Eintrag der vorangestellte Slash (/).

  • Das Kommando umount kann ebenso durch den Eintrag UMount mit einer solchen Syntax genutzt werden.

Verzeichnisse

Dir::State Dieser Abschnitt betrifft Verzeichnisse mit lokalen Status-Informationen. lists bezeichnet das Verzeichnis, in dem die heruntergeladenen Paketlisten abgelegt werden. status ist der Dateiname der dpkg-Status-Datei. preferences ist der Name der APT-Konfigurationsdatei. Dir::State bezeichnet das Verzeichnis, welches allen anderen Objekten in diesem Abschnitt vorangestellt wird, wenn diese nicht mit / oder ./ beginnen.
Dir::Cache In diesem Abschnitt werden Verzeichisse festgelegt, die mit heruntergeladenen Dateien zu tun haben.
  • Die Angaben pkgcache und srcpkgcache enthalten das Verzeichnis für Binär- und Quellcode-Pakete.
  • Die Verwendung des Cache kann deaktiviert werden, in dem die Verzeichnisnamen nicht angegeben werden.
  • Das voreingestellte Verzeichnis für alle Caches wird in Dir::Cache festgelegt.
Dir::Etc Enthält den Pfad zu den Konfigurationsdateien, sourcelist bezeichnet dabei die Datei sources.list, main ist die voreingestellte Konfigurationsdatei.
Dir::Parts Dieser Abschnitt liest alle Konfigurationsteile in alphabetischer Reihenfolge aus dem angegebenen Verzeichnis.
  • Danach wird die zentrale Konfigurationsdatei eingelesen.
Dir::Bin In diesem Verzeichnis werden binäre Programme gesucht. Dir::Bin::Methods enthält den Pfad zu den zusätzlichen Methoden.
  • Die Angaben zu gzip, dpkg, apt-get, dpkg-source, dpkg-buildpackage und apt-cache zeigen auf die jeweiligen Programme im Verzeichnisbaum.

APT innerhalb von dselect

Wird APT als Zugriffsmethode von dselect verwendet, so können die folgenden Parameter zur Konfiguration verwendet werden

Clean Modus, um den Paketcache zu verwalten
options Der Inhalt dieser Variablen wird an apt-get als Kommandozeilenoption weitergereicht, wenn eine Installation durchgeführt wird
Updateoptions Der Inhalt dieser Variablen wird an apt-get als Kommandozeilenoption weitergereicht, wenn ein Update durchgeführt wird
PromptAfterUpdate Wird die Funktion Update im Programm dselect verwendet, so wird immer nachgefragt, um eine Aktion fortzusetzen, wenn diese Variable auf True gesetzt ist

Aufruf von DPKG über APT

Im Abschnitt DPkg der Konfigurationsdatei können verschiedene Parameter eingestellt werden, die sich mit dem Aufruf von dpkg aus APT-basierenden Programmen beschäftigen.

options Eine Liste von Optionen, die dem Aufruf von dpkg übergeben werden
Pre-Invoke, Post-Invoke Eine Liste von Shell-Kommandos, die vor bzw
  • nach dem Aufruf von dpkg ausgeführt werden
  • Die Kommandos werden mittels /bin/sh ausgeführt, sollte eines der Kommandos mit einem Fehler beendet werden, so bricht auf APT an dieser Stelle die weitere Ausführung ab
Pre-Install-Pkgs Dies ist eine Liste von Kommandos, welche vor dem Aufruf von dpkg ausgeführt werden
  • Die Kommandos werden mittels /bin/sh ausgeführt, sollte eines der Kommandos mit einem Fehler beendet werden, so bricht auf APT an dieser Stelle die weitere Ausführung ab
  • APT übergibt die Namen aller zu installierenden Debian Paketdateien (.deb) an die Kommandos
Run-Directory APT wechselt in das hier angegebene Verzeichnis vor dem Aufruf von dpkg
  • Voreingestellt ist hier das Verzeichnis /
Build-options Diese Optionen werden dem Programm dpkg-buildpackage übergeben
  • Voreingestellt ist, dass Pakete nicht digital signiert werden und alle Binär-Pakete erzeugt werden
/etc/apt/apt.conf.d/
00CDMountPoint
00default-release
00trustcdrom
01autoremove
01autoremove-kernels
02autoremove-postgresql
20apt-show-versions
20listchanges
25coolwsd
50unattended-upgrades
70debconf
90rkhunter
99hetzner
99needrestart
99synaptic