Автоматическая конфигурация grub после обновления ядра

10

Сегодня я работаю над автоматическим развертыванием сервера ubuntu. Я застрял в автоматическом обновлении сервера, используя apt-get upgrade , пытающегося перейти на новое ядро. Журнал выглядит следующим образом:

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

Тогда возникает вопрос:

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

Желательным результатом будет выбор первого варианта и продолжение:

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

После запуска обновления вручную я использовал debconf-get-selections для проверки правильного ответа на вопрос ( см. другие настройки ). Кажется, что update_grub_changeprompt_threeway - это вопрос, на который нужно ответить. Однако установка этого параметра с помощью debconf-set-selections предоставила мне тот же вопрос:

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

Как можно автоматизировать этот вопрос?

    
задан bouke 13.09.2012 в 13:08
источник

2 ответа

13

Мне удалось обойти это, используя export DEBIAN_FRONTEND=noninteractive , перед запуском apt-get upgrade -y .

    
ответ дан Joel Rebello 18.09.2012 в 20:22
источник
1

В Ubuntu 16.04 эта последовательность должна избегать интерактивного диалога:

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

Обратите внимание, что флаг -q важен.

(Ссылка: Этот вопрос в devops)

    
ответ дан Philipp Claßen 11.05.2017 в 08:48