Heute habe ich an der automatischen Bereitstellung eines Ubuntu-Servers gearbeitet. Ich blieb bei der automatischen Aktualisierung des Servers apt-get upgrade
hängen, als ich versuchte, auf einen neuen Kernel zu aktualisieren. Das Protokoll sieht folgendermaßen aus:
Setting up linux-image-3.2.0-24-generic (3.2.0-24.39) ...
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
(...)
Dann wird eine Frage gestellt:
Package configuration
┌─────────────────────────────────┤ ├─────────────────────────────────┐
│ A new version of /boot/grub/menu.lst is available, but the version │
│ installed currently has been locally modified. │
│ │
│ What would you like to do about menu.lst? │
│ │
│ install the package maintainer's version │
│ keep the local version currently installed │
│ show the differences between the versions │
│ show a side-by-side difference between the versions │
│ show a 3-way difference between available versions │
│ do a 3-way merge between available versions (experimental) │
│ start a new shell to examine the situation │
│ │
│ │
│ <Ok> │
│ │
└──────────────────────────────────────────────────────────────────────┘
Das gewünschte Ergebnis wäre, die erste Option auszuwählen und fortzufahren:
Replacing config file /run/grub/menu.lst with new version
Updating /boot/grub/menu.lst ... done
Nach dem Ausführen des Upgrades von Hand habe ich debconf-get-selections
die richtige Antwort auf die Frage überprüft ( siehe andere Einstellungen ). Wie update_grub_changeprompt_threeway
es scheint, ist die Frage, die beantwortet werden sollte. Das Setzen dieser Option debconf-set-selections
stellte mich jedoch vor die gleiche Frage:
debconf-set-selections <<< "grub grub/update_grub_changeprompt_threeway select install_new"
apt-get -y dist-upgrade
Wie kann diese Frage automatisiert werden?
--force-yes
undyes | ...
, aber ohne Erfolg-qq
, aber auch nicht gehen ...Antworten:
Ich konnte damit umgehen
export DEBIAN_FRONTEND=noninteractive
, bevor ich rannteapt-get upgrade -y
.quelle
Unter Ubuntu 16.04 sollte diese Sequenz den interaktiven Dialog vermeiden:
Beachten Sie, dass die
-q
Flagge wichtig ist.(Hinweis: Diese Frage auf Devops)
quelle