内核升级后无人值守的 grub 配置

bou*_*uke 17 upgrade grub2 debconf

今天一直在做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
(...)
Run Code Online (Sandbox Code Playgroud)

然后提出一个问题:

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>                                  ?    
    ?                                                                      ?    
    ????????????????????????????????????????????????????????????????????????    
Run Code Online (Sandbox Code Playgroud)

期望的结果是选择第一个选项并继续:

Replacing config file /run/grub/menu.lst with new version
Updating /boot/grub/menu.lst ... done
Run Code Online (Sandbox Code Playgroud)

手动运行升级后,我曾经debconf-get-selections检查问题的正确答案(请参阅其他设置)。似乎update_grub_changeprompt_threeway是应该回答的问题。但是,设置它 usingdebconf-set-selections向我提出了同样的问题:

debconf-set-selections <<< "grub grub/update_grub_changeprompt_threeway select install_new"
apt-get -y dist-upgrade
Run Code Online (Sandbox Code Playgroud)

这个问题如何自动化?

小智 16

export DEBIAN_FRONTEND=noninteractive在运行之前,我能够通过使用,来解决这个问题apt-get upgrade -y