Nienadzorowana konfiguracja gruba po aktualizacji jądra

16

Dzisiaj pracowałem nad automatycznym wdrożeniem serwera Ubuntu. Utknąłem na automatycznej aktualizacji serwera za pomocą apt-get upgradepróby aktualizacji do nowego jądra. Dziennik wygląda następująco:

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

Następnie pojawia się pytanie:

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

Pożądanym rezultatem byłoby wybranie pierwszej opcji i kontynuowanie:

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

Po ręcznym uruchomieniu aktualizacji debconf-get-selectionssprawdziłem poprawną odpowiedź na pytanie ( zobacz inne ustawienia ). Wygląda na update_grub_changeprompt_threewayto, że na pytanie należy odpowiedzieć. Jednak ustawienie tego za pomocą debconf-set-selectionszadawało mi to samo pytanie:

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

Jak można zautomatyzować to pytanie?

Bouke
źródło
Próbowałem też --force-yesa yes | ..., ale bezskutecznie
Bouke
Próbowałem także -qq, ale też nie idź ...
Bouke

Odpowiedzi:

15

Byłem w stanie obejść ten problem, używając export DEBIAN_FRONTEND=noninteractiveprzed uruchomieniem apt-get upgrade -y.

Joel Rebello
źródło
3

W systemie Ubuntu 16.04 ta sekwencja powinna unikać interaktywnego okna dialogowego:

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

Pamiętaj, że -qflaga jest ważna.

(Odniesienie: To pytanie dotyczące devops)

Philipp Claßen
źródło