Configuration de grub sans assistance après la mise à niveau du noyau

16

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 upgradeessayant 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-selectionsd'inspecter la bonne réponse à la question ( voir les autres paramètres ). Il semble que update_grub_changeprompt_threewayc'est la question à laquelle il faut répondre. Cependant, la définition de cette utilisation debconf-set-selectionsm'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?

bouke
la source
Également essayé --force-yeset yes | ..., mais en vain
bouke
A également essayé -qq, mais pas non plus ...
bouke

Réponses:

15

J'ai pu contourner cela en utilisant export DEBIAN_FRONTEND=noninteractive, avant de courir apt-get upgrade -y.

Joel Rebello
la source
3

Sur Ubuntu 16.04, cette séquence devrait éviter la boîte de dialogue interactive:

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get upgrade -yq

Notez que le -qdrapeau est important.

(Référence: cette question sur les devops)

Philipp Claßen
la source