Gibt es apt-get dist-upgrade
in Debian eine Möglichkeit, die nicht nur alle gestellten Fragen automatisch mit "Ja" beantwortet, sondern auch angemessene Standardeinstellungen als Antworten auf Fragen verwendet, die so komplex sind, dass verschiedene interaktive Dialogfelder angezeigt werden müssen? Ich denke hier an das Keymap-Zeug, das beim Upgrade angezeigt wird libc6
, und an die Auswahl der Kernel-Images.
Das Ziel ist es, aus der Ferne eine ziemlich große dist-upgrade
Maschine zu initiieren - auch für eine Maschine, die stark hinter der Zeit zurückliegt - und sie überhaupt nicht babysitten zu müssen, es sei denn, etwas ist einfach schrecklich, katastrophal falsch.
Das ist doch möglich?
Danke im Voraus!
Antworten:
Wenn Sie festlegen
DEBIAN_FRONTEND=noninteractive
(um zu verhindern, dass Debconf-Eingabeaufforderungen angezeigt werden) undforce-confold
undforce-confdef
zu Ihrer/etc/dpkg/dpkg.cfg
Datei hinzufügen , sollten Sie über eine vollständig nicht interaktive Paketinstallation verfügen. Jedes Paket , das Ihnen noch aufgefordert , Informationen hat einen veröffentlichungskritischen Fehler (und ich sage das als sowohl ein Automatisierungs Junkie und als Debian - Entwickler).quelle
apt-listchanges
wurde eröffnet vonless
.Florian Lohoff hat einen Weg gepostet , um das, was womble vorschlägt, in einem einzigen Befehl zu vereinen:
Natürlich können Sie auch verwenden
-o Dpkg::Options::="--force-confnew --force-confdef"
(suchen Sie in der Manpage von dpkg nach confnew). Ich bin mir nicht sicher, in welchen Fällen dies einen Unterschied machen würde. Ich persönlich benötige das nicht interaktive Upgrade, um Vanille-Images auf den neuesten Stand zu bringen. In diesem Fall ist es wahrscheinlich--force-confdef
sinnvoll, immer die neue Konfigurationsdatei (ohne ) auszuwählen.quelle
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Obwohl die Antwort von womble oben im Allgemeinen gut ist, hat es bei mir nicht funktioniert und ich musste einige zusätzliche Nachforschungen anstellen, um 100% unbeaufsichtigt zu bleiben. Ich dachte, ich werde das Ergebnis auf prägnante Weise teilen, um es den zukünftigen Besuchern einfacher zu machen.
Das Folgende ist ein Skript, das gemäß den Upgrade-Empfehlungen von Debian 8 Release Notes (meistens) ausgeführt wird, zusammen mit Flags und Umgebungsvariablen, die es unbeaufsichtigt machen. (Die
echo
s dienen nur zum Debuggen und können entfernt werden. Ich empfehle jedoch, sie beizubehalten. Wenn das Skript hängen bleibt, wissen Sie, wo.)quelle
> = Apt 1.1
Wenn Sie mit Apt 1.1 oder höher,
--force-yes
ist veraltet , so dass Sie die Optionen , beginnend mit verwenden , haben--allow
stattdessen zum Beispiel--allow-downgrades
,--allow-remove-essential
,--allow-change-held-packages
.Der Befehl lautet also:
Hinweis: Verwenden Sie
--force-confold
diese--force-confnew
Option , um alte und neue Konfigurationen beizubehalten.Quelle: CFE-2360: Machen Sie die Version des apt_get-Paketmoduls bekannt .
Verbunden:
quelle
Von der
apt-get(8)
Manpage:Als Referenz
-y
funktioniert die Optionyum(8)
ebenfalls.quelle