Configurazione automatica di grub dopo l'aggiornamento del kernel


14

Oggi ho lavorato sulla distribuzione automatica di un server Ubuntu. Mi sono bloccato sull'aggiornamento automatico del server usando il apt-get upgradetentativo di aggiornare a un nuovo kernel. Il registro è simile al seguente:

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
(...)

Quindi viene presentata una domanda:

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>                                  │    
    │                                                                      │    
    └──────────────────────────────────────────────────────────────────────┘    

Il risultato desiderato sarebbe selezionare la prima opzione e continuare:

Replacing config file /run/grub/menu.lst with new version
Updating /boot/grub/menu.lst ... done

Dopo aver eseguito l'aggiornamento manualmente, ho usato debconf-get-selectionsper controllare la risposta corretta alla domanda ( vedi altre impostazioni ). Sembra che update_grub_changeprompt_threewaysia la domanda a cui rispondere. Tuttavia, l'impostazione di questo utilizzo debconf-set-selectionsmi ha posto la stessa domanda:

debconf-set-selections <<< "grub grub/update_grub_changeprompt_threeway select install_new"
apt-get -y dist-upgrade

Come può essere automatizzata questa domanda?


Anche provato --force-yese yes | ..., ma inutilmente
bouke

Anche provato -qq, ma anche non andare ...
Bouke

Risposte:


15

Sono stato in grado di aggirare questo usando export DEBIAN_FRONTEND=noninteractive, prima di correre apt-get upgrade -y.


3

Su Ubuntu 16.04, questa sequenza dovrebbe evitare la finestra di dialogo interattiva:

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

Nota che la -qbandiera è importante.

(Riferimento: questa domanda sugli sviluppatori)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.