6.8. Automatische Aktualisierungen
Da Falcot Corp über viele Rechner aber nur über wenig IT-Personal verfügt, versuchen die Administratoren alles so weit wie möglich zu automatisieren. Die für diese Prozesse verantwortlichen Programme müssen deshalb ohne Benutzereingriffe ablaufen.
6.8.1. dpkg
konfigurieren
Wie bereits erwähnt (siehe Seitenleiste
WEITERE SCHRITTE Die Fragen zur Konfigurationsdatei vermeiden), kann
dpkg
angewiesen werden, keine Bestätigung vor dem Ersetzen einer Konfigurationsdatei einzuholen (mittels der
--force-confdef --force-confold
Option). Indes können Interaktionen drei andere Ursachen haben: Einige kommen von APT selbst, andere handhabt
debconf
und wieder andere kommen von der Befehlszeile ausgelöst durch Paket-Konfigurationsskripte.
Im Falle von APT ist es einfach: die -y
Option (oder --assume-yes
) weist APT an, "yes" als Antwort auf alle Rückfragen anzunehmen.
6.8.3. debconf
konfigurieren
Für debconf
Bedarf es mehr Details. Das Programm war von Beginn an ausgelegt, die Relevanz und die Menge der Rückfragen an den Anwender sowie die Art, wie sie ihm präsentiert werden, zu kontrollieren. Aus diesem Grund fordert seine Konfiguration minimale Priorität für Rückfragen, nur Fragen oberhalb der minimalen Priorität werden eingeblendet. Für Rückfragen, die übersprungen werden, nimmt debconf
die (vom Paketbetreuer festgelegte) Standardantwort an.
Das andere relevante Konfigurationselement ist die von der Benutzeroberfläche genutzte Schnittstelle. Wenn Sie noninteractive
auswählen, wird jede Benutzerinteraktion unterbunden. Versucht ein Paket, eine Information einzublenden, wird diese per E-Mail an den Administrator gesendet.
Um debconf
umzukonfigurieren, nutzen Sie das Werkzeug dpkg-reconfigure
aus dem Paket debconf; das passende Kommando ist dpkg-reconfigure debconf
. Beachten Sie, dass Werte aus der Konfigurationsdatei bei Bedarf mit Umgebungsvariablen temporär übersteuert werden können (beispielsweise steuert DEBIAN_FRONTEND
die Schnittstelle, wie auf der debconf(7) Handbuchseite beschrieben).
6.8.4. Interaktiver Umgang mit der Kommandozeile
Die letzte Interaktionsquelle, die am schwersten los zu werdende, sind die von dpkg
ausgeführten Konfigurationsskripte. Unglücklicherweise gibt es dafür keine Standardlösung.
The common approach is to suppress the standard input by redirecting the empty content of /dev/null
into it with command </dev/null
, or to feed it with an endless stream of newlines. None of these methods is 100 % reliable, but they generally lead to the default answers being used, since most scripts consider a lack of reply as an acceptance of the default value.
6.8.5. Die Wunderkombination
Indem die vorangegangenen Elemente miteinander kombiniert werden, ist es möglich, ein kleines aber ziemlich zuverlässiges Skript zu entwerfen, das automatische Aktualisierungen durchführt.
Beispiel 6.4. Automatisches Aktualisierungs-Skript
export DEBIAN_FRONTEND=noninteractive
yes '' | apt-get -y -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" dist-upgrade