Aujourd'hui, je travaille sur le déploiement automatique d'un serveur Ubuntu. Je suis resté bloqué sur la mise à jour automatique du serveur en apt-get upgrade
essayant de passer à un nouveau noyau. Le journal ressemble à ceci:
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
(...)
Ensuite, une question est présentée:
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> │
│ │
└──────────────────────────────────────────────────────────────────────┘
Le résultat souhaité serait de sélectionner la première option et de continuer:
Replacing config file /run/grub/menu.lst with new version
Updating /boot/grub/menu.lst ... done
Après avoir exécuté la mise à niveau à la main, j'avais l'habitude debconf-get-selections
d'inspecter la bonne réponse à la question ( voir les autres paramètres ). Il semble que update_grub_changeprompt_threeway
c'est la question à laquelle il faut répondre. Cependant, la définition de cette utilisation debconf-set-selections
m'a posé la même question:
debconf-set-selections <<< "grub grub/update_grub_changeprompt_threeway select install_new"
apt-get -y dist-upgrade
Comment automatiser cette question?
--force-yes
etyes | ...
, mais en vain-qq
, mais pas non plus ...Réponses:
J'ai pu contourner cela en utilisant
export DEBIAN_FRONTEND=noninteractive
, avant de courirapt-get upgrade -y
.la source
Sur Ubuntu 16.04, cette séquence devrait éviter la boîte de dialogue interactive:
Notez que le
-q
drapeau est important.(Référence: cette question sur les devops)
la source