ฉันมีสคริปต์แบบอัตโนมัติสำหรับติดตั้งเซิร์ฟเวอร์ ที่จุดเริ่มต้นของสคริปต์มี a sudo apt-get dist-upgrade -- ใช่
.
การอัปเกรด dist มีหน้าจอป้อนข้อมูลผู้ใช้ที่น่ารังเกียจที่ส่วนท้ายซึ่งขอให้เริ่มบริการใหม่:
เป็นไปได้หรือไม่ที่จะยอมรับการเริ่มบริการใหม่โดยอัตโนมัติหรือปิดใช้งานหน้าจอนี้ มันทำลายสคริปต์ทั้งหมดของฉัน นอกจากนี้ฉันเกรงว่าอาจทำให้เซิร์ฟเวอร์ของฉันค้างในบางจุดเมื่ออัปเดต...
ผลลัพธ์เดียวกันกับ apt-get upgrade
แก้ไข:
ฉันพยายามไม่สำเร็จ:
#!/bin/bash
sudo apt-get อัปเดต
sudo apt-get ลบ apt-listchanges --assume-yes --force-yes &&
#การใช้การส่งออกมีความสำคัญเนื่องจากคำสั่งบางคำสั่งในสคริปต์จะเริ่มทำงานในเชลล์ย่อย
ส่งออก DEBIAN_FRONTEND=ไม่โต้ตอบ &&
ส่งออก APT_LISTCHANGES_FRONTEND=ไม่มี &&
#lib6c เป็นปัญหาสำหรับฉันเนื่องจากไม่สนใจตัวแปรสภาพแวดล้อม DEBIAN_FRONTEND และเรียกใช้พรอมต์อยู่ดี สิ่งนี้ควรแก้ไข
echo 'ไลบรารี libc6/รีสตาร์ทโดยไม่ต้องถามบูลีนจริง' | debconf-set-selections &&
echo "ส่งเสียงหวีดเจสซี่" &&
ค้นหา /etc/apt -name "*.list" | xargs sed -i '/^deb/s/wheezy/jessie/g' &&
echo "กำลังดำเนินการลบอัตโนมัติ" &&
sudo apt-get -fuy --force-yes ลบอัตโนมัติ &&
echo "กำลังดำเนินการอย่างสะอาด" &&
sudo apt-get --force-yes สะอาด &&
echo "กำลังดำเนินการอัปเดต" &&
sudo apt-get update &&
echo "กำลังดำเนินการอัปเกรด" &&
sudo apt-get --force-yes -o Dpkg::Options::="--force-confold" --force-yes -o Dpkg::Options::="--force-confdef" -fuyq อัพเกรด &&
echo "กำลังดำเนินการ dist-upgrade" &&
sudo apt-get --force-yes -o Dpkg::Options::="--force-confold" --force-yes -o Dpkg::Options::="--force-confdef" -fuyq dist- อัปเกรด