เก็บไฟล์กำหนดค่าเวอร์ชันปัจจุบันโดยอัตโนมัติเมื่อติดตั้ง apt-get


14

ฉันต้องติดตั้งแพคเกจโดยอัตโนมัติด้วยไฟล์ปรับแต่งที่มีอยู่แล้วบนเซิร์ฟเวอร์

ฉันกำลังมองหาสิ่งที่ชอบ:

apt-get install --yes --force-yes --keep-current-confs mysql-server

อาจเป็นคำถามที่โง่ แต่ฉันไม่สามารถหาตัวเลือกดังกล่าว

คำตอบ:


29

พบคำตอบในบล็อกของ Raphael Hertzog :

apt-get install -o Dpkg::Options::="--force-confold" --force-yes -y mysql-server

มันเป็นบทบาทของ dpkg ในการกำหนดค่าดังนั้นเพื่อเลือกไฟล์ conf ที่จะเก็บไว้


13

ในระบบอูบุนตูปัจจุบันคุณต้องมีอีกมาก:

export DEBIAN_FRONTEND=noninteractive ; apt-get dist-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes

คำถามที่โง่เง่า: ทำไมคุณถึงระบุตัวเลือกที่ไม่เหมือนกันสองตัวเลือกในเวลาเดียวกัน? confdef vs confold ? หากใช้งานได้จริง ๆ นี่เป็นเพียงเรื่องของลำดับการประเมินหรือไม่ ไม่ว่าฉันพยายามมัน ...
tink

1
"--force-confold: ห้ามแก้ไขไฟล์การกำหนดค่าปัจจุบันเวอร์ชันใหม่จะถูกติดตั้งด้วยคำต่อท้าย. dpkg-dist ด้วยตัวเลือกนี้เพียงอย่างเดียวแม้ไฟล์การกำหนดค่าที่คุณไม่ได้แก้ไขจะไม่ถูกแตะต้องคุณจำเป็นต้องรวมมัน ด้วย --force-confdef เพื่อให้ dpkg เขียนทับไฟล์คอนฟิกูเรชันที่คุณไม่ได้แก้ไข "
Craig Francis

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