การกำหนดค่าด้วงแบบอัตโนมัติหลังจากการอัพเกรดเคอร์เนล


16

วันนี้ฉันทำงานเกี่ยวกับการปรับใช้เซิร์ฟเวอร์ 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

คำถามนี้เป็นไปโดยอัตโนมัติได้อย่างไร


ลอง--force-yesแล้วและyes | ...แต่จะไม่มีประโยชน์
bouke

นอกจากนี้ยังพยายาม-qqแต่ยังไม่ไป ...
bouke

คำตอบ:


15

ผมสามารถที่จะได้รับรอบนี้โดยใช้ก่อนที่จะทำงานexport DEBIAN_FRONTEND=noninteractiveapt-get upgrade -y


3

บน Ubuntu 16.04 ลำดับนี้ควรหลีกเลี่ยงกล่องโต้ตอบแบบโต้ตอบ:

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

โปรดทราบว่าการ-qตั้งค่าสถานะมีความสำคัญ

(อ้างอิง: คำถามนี้ใน devops)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.