6.9. 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.9.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 Option
--force-confdef --force-confold
). 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 (manchmal von
ucf behandelt).
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.9.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.
The other relevant configuration element is the interface used by the frontend. If you choose noninteractive
out of the choices, all user interaction is disabled. If a package tries to display an informative note, it will be sent to the administrator by email.
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.9.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.
Die gebräuchlichste Vorgehensweise ist, den leeren Inhalt von /dev/null
mit Befehl </dev/null
auf die Standardeingabe umzuleiten oder mit einem endlosen Strom von Zeilenvorschüben zu füttern. Keine dieser Methoden ist zu 100 % sicher, aber üblicherweise sorgen sie dafür, dass die Standardantworten gewählt werden, da die meisten Skripte eine ausbleibende Antwort als das Anerkennen der Standardantwort interpretieren.
6.9.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.5. Automatisches Aktualisierungs-Skript
export DEBIAN_FRONTEND=noninteractive
yes '' | apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade