เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | เนื้อหา | ถัดไป>

8.4.3. เช็คซัม Conffiles‌


นอกเหนือจากสคริปต์ผู้ดูแลและข้อมูลการควบคุมที่กล่าวถึงในส่วนก่อนหน้านี้แล้ว ควบคุม.tar.gz ไฟล์เก็บถาวรของแพ็คเกจ Debian อาจมีไฟล์ที่น่าสนใจอื่นๆ:


# ar p /var/cache/apt/archives/bash_4.4-2_amd64.deb control.tar.gz | tar -tzf -


./

./conffiles

./ควบคุม

./md5sums

./postinst

./postrm

./ประธาน

./เปรม

./

./conffiles

./ควบคุม

./md5sums

./postinst

./postrm

./ประธาน

./เปรม


ครั้งแรก—md5sum—ประกอบด้วยเช็คซัม MD5 สำหรับไฟล์ทั้งหมดของแพ็คเกจ ข้อได้เปรียบหลักของมันคือช่วยให้ dpkg -- ตรวจสอบ เพื่อตรวจสอบว่าไฟล์เหล่านี้ได้รับการแก้ไขตั้งแต่ติดตั้งหรือไม่ โปรดทราบว่าเมื่อไม่มีไฟล์นี้ dpkg จะสร้างไดนามิกในขณะติดตั้ง (และจัดเก็บไว้ในฐานข้อมูล dpkg เช่นเดียวกับไฟล์ควบคุมอื่นๆ)

conffiles แสดงรายการไฟล์แพ็คเกจที่ต้องจัดการเป็นไฟล์คอนฟิกูเรชัน ผู้ดูแลระบบสามารถแก้ไขไฟล์การกำหนดค่าได้ และ dpkg จะพยายามรักษาการเปลี่ยนแปลงเหล่านั้นไว้ในระหว่างการอัพเดตแพ็คเกจ

ผลก็คือ ในสถานการณ์เช่นนี้ dpkg ทำงานอย่างชาญฉลาดที่สุด: หากไฟล์การกำหนดค่ามาตรฐานไม่ได้เปลี่ยนแปลงระหว่างสองเวอร์ชัน ไฟล์นั้นจะไม่ทำอะไรเลย อย่างไรก็ตาม หากไฟล์มีการเปลี่ยนแปลง จะพยายามอัปเดตไฟล์นี้ เป็นไปได้สองกรณี: ผู้ดูแลระบบไม่ได้แตะต้องไฟล์การกำหนดค่านี้ ซึ่งในกรณีนี้ dpkg ติดตั้งเวอร์ชันใหม่โดยอัตโนมัติ หรือไฟล์ถูกแก้ไขซึ่งในกรณีนี้ dpkg ถามผู้ดูแลระบบว่าต้องการใช้เวอร์ชันใด (เวอร์ชันเก่าที่มีการดัดแปลง หรือเวอร์ชันใหม่ที่มาพร้อมกับแพ็คเกจ) เพื่อช่วยในการตัดสินใจครั้งนี้ dpkg ข้อเสนอที่จะแสดง a diff ที่แสดงให้เห็นความแตกต่างระหว่างสองเวอร์ชัน หากคุณเลือกที่จะเก็บเวอร์ชันเก่าไว้ เวอร์ชันใหม่จะถูกเก็บไว้ในตำแหน่งเดียวกันในไฟล์ที่มีไฟล์ .dpkg-dist คำต่อท้าย หากคุณเลือกเวอร์ชันใหม่ เวอร์ชันเก่าจะยังคงอยู่ในไฟล์ที่มีเครื่องหมาย .dpkg-เก่า คำต่อท้าย การดำเนินการอื่นที่มีอยู่ประกอบด้วยการขัดจังหวะชั่วขณะ dpkg เพื่อแก้ไขไฟล์และพยายามคืนสถานะการแก้ไขที่เกี่ยวข้อง (ระบุก่อนหน้านี้ด้วย diff).

dpkg จัดการการอัปเดตไฟล์การกำหนดค่า แต่ขณะทำเช่นนั้น มักจะขัดจังหวะการทำงานเพื่อขอข้อมูลจากผู้ดูแลระบบ อาจใช้เวลานานและไม่สะดวก โชคดีที่คุณสามารถสั่งให้ dpkg ตอบสนองต่อข้อความแจ้งเหล่านี้โดยอัตโนมัติ ตัวเลือก --force-confold จะคงเวอร์ชันเก่าของไฟล์ไว้ ในขณะที่ --force-confnew จะใช้เวอร์ชันใหม่ ตัวเลือกเหล่านี้ได้รับการเคารพแม้ว่าผู้ดูแลระบบจะไม่ได้เปลี่ยนแปลงไฟล์ซึ่งแทบไม่มีผลตามที่ต้องการเท่านั้น การเพิ่มตัวเลือก --force-confdef จะบอก dpkg ให้ตัดสินใจด้วยตัวเองเมื่อเป็นไปได้ (กล่าวคือ เมื่อไม่ได้แตะไฟล์การกำหนดค่าดั้งเดิม) และใช้เฉพาะ --force- confnew หรือ --force-confold สำหรับกรณีอื่นๆ

ตัวเลือกเหล่านี้ใช้กับ dpkgแต่ส่วนใหญ่ผู้ดูแลระบบจะทำงานโดยตรงกับ ความถนัด or ฉลาด โปรแกรม ดังนั้นจึงจำเป็นต้องรู้ไวยากรณ์ที่ใช้เพื่อระบุตัวเลือกที่จะส่งผ่านไปยัง dpkg คำสั่ง (อินเทอร์เฟซบรรทัดคำสั่งจะคล้ายกันมาก)


# apt -o DPkg::options::=”--force-confdef” -o DPkg::options::=”--force-confold” เต็ม-

อัพเกรด

# apt -o DPkg::options::=”--force-confdef” -o DPkg::options::=”--force-confold” เต็ม-

อัพเกรด

ตัวเลือกเหล่านี้สามารถจัดเก็บได้โดยตรงใน ฉลาดการกำหนดค่า ในการทำเช่นนั้น เพียงเขียนบรรทัดต่อไปนี้ใน /etc/apt/apt.conf.d/local ไฟล์:


DPkg::options { ”--force-confdef”; ”--บังคับ-กระชับ”; }

DPkg::options { ”--force-confdef”; ”--บังคับ-กระชับ”; }


การรวมตัวเลือกนี้ไว้ในไฟล์กำหนดค่าหมายความว่าจะใช้ในส่วนต่อประสานกราฟิกเช่น ความถนัด.

ในทางกลับกัน คุณยังสามารถบังคับ dpkg เพื่อถามคำถามเกี่ยวกับไฟล์การกำหนดค่า NS --บังคับ-confask ตัวเลือกแนะนำ dpkg เพื่อแสดงคำถามเกี่ยวกับไฟล์การกำหนดค่า แม้ในกรณีที่ปกติไม่จำเป็น ดังนั้น เมื่อติดตั้งแพ็คเกจใหม่ด้วยตัวเลือกนี้ dpkg จะถามคำถามอีกครั้งสำหรับไฟล์การกำหนดค่าทั้งหมดที่แก้ไขโดยผู้ดูแลระบบ สะดวกมาก โดยเฉพาะการติดตั้งไฟล์คอนฟิกูเรชันเดิมใหม่ หากไฟล์นั้นถูกลบไปแล้วและไม่มีสำเนาอื่นใด: การติดตั้งใหม่ตามปกติจะไม่ทำงาน เนื่องจาก dpkg ถือว่าการลบออกเป็นรูปแบบหนึ่งของการแก้ไขที่ถูกต้อง ดังนั้นจึงไม่ได้ติดตั้งไฟล์การกำหนดค่าที่ต้องการ


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: