ตัวอย่างสถานการณ์:มายาดูแลเวิร์กสเตชัน Debian 12 Bookworm ที่ใช้สำหรับการพัฒนา เธอต้องการแพ็กเกจใหม่ ๆ ใน Debian Testing แต่ไม่สามารถปล่อยให้ APT มีชุดแพ็กเกจที่อัปเกรดไม่เสร็จสมบูรณ์ได้ วิธีที่ปลอดภัยที่สุดคือการอัปเกรดผ่านเวอร์ชันเสถียรที่ได้รับการสนับสนุนในปัจจุบันก่อน จากนั้นจึงเปลี่ยนระบบเสถียรที่สะอาดแล้วไปใช้เวอร์ชัน Testing ในปัจจุบัน ตัวอย่างนี้อธิบายถึงขั้นตอนที่ระมัดระวัง ไม่ใช่รายงานการอัปเกรดจริงหรือการรับประกันว่าทุกเครื่องจะมีแผนแพ็กเกจเดียวกัน
ณ วันที่ 6 ตุลาคม 2026 Debian กำหนดให้ Debian 13 “Trixie” เป็นเวอร์ชัน Stable และ Debian 14 “Forky” เป็นเวอร์ชัน Testing คำแนะนำสำหรับเวอร์ชัน Testing ของ Debian ระบุให้เปลี่ยนไปใช้เวอร์ชัน Testing จากเวอร์ชัน Stable ปัจจุบัน และเตือนว่าการเริ่มต้นจากเวอร์ชัน Stable ที่เก่ากว่าอาจนำไปสู่ข้อผิดพลาดที่ไม่คาดคิด สำหรับการติดตั้ง Bookworm นั่นหมายความว่าให้ปฏิบัติตามคำแนะนำการอัปเกรดจาก Bookworm ไปเป็น Trixie อย่างเป็นทางการก่อนที่จะเปลี่ยน repository ไปเป็น Forky ตรวจสอบหน้าเพจเวอร์ชันอีกครั้งในวันที่คุณทำงาน เนื่องจากชื่อรหัสของเวอร์ชัน Testing จะเปลี่ยนไปเมื่อ Debian เผยแพร่เวอร์ชัน Stable ใหม่
เหตุใดจึงต้องเปลี่ยนแปลงการพึ่งพาในแต่ละขั้นตอน?
APT จะแก้ไขการพึ่งพาโดยใช้ดัชนีแพ็กเกจและชุดรุ่นที่กำหนดไว้ในระบบ หากคุณชี้การติดตั้งเวอร์ชันเก่าไปยัง Testing โดยตรง APT อาจเสนอการเปลี่ยนแปลงในไลบรารีหลัก เคอร์เนล เดสก์ท็อป เฟิร์มแวร์ และแพ็กเกจของบุคคลที่สามในการดำเนินการครั้งเดียว การจำลองสามารถเปิดเผยแผนการที่น่าสงสัยได้ แต่ไม่สามารถทำให้จุดเริ่มต้นที่ไม่ได้รับการสนับสนุนปลอดภัยได้
การทดสอบเป็นกระบวนการที่เปลี่ยนแปลงอยู่ตลอดเวลา แพ็กเกจจะถูกย้ายจากเวอร์ชัน Unstable หลังจากผ่านเกณฑ์การจัดเก็บ แต่ช่องว่างของความสัมพันธ์ระหว่างแพ็กเกจและการถดถอยของโปรแกรมยังคงเกิดขึ้นได้ชั่วคราว นอกจากนี้ Debian ยังไม่ให้การสนับสนุนด้านความปลอดภัยอย่างถาวรสำหรับเวอร์ชัน Testing เหมือนกับเวอร์ชัน Stable วิธีนี้ช่วยลดความขัดแย้งของแพ็กเกจที่หลีกเลี่ยงได้ แต่ไม่สามารถทำให้เวอร์ชัน Testing มีความน่าเชื่อถือเท่ากับเวอร์ชัน Stable หรือป้องกันความเสียหายที่จะเกิดขึ้นในอนาคตได้ทั้งหมด
ตัวอย่างสถานการณ์: เตรียมเครื่องหนอนหนังสือของมายา
1. ตรวจสอบเวอร์ชันเริ่มต้นและความสมบูรณ์ของแพ็กเกจ
มายาตรวจสอบก่อนว่านี่คือระบบปฏิบัติการ Debian จริงหรือไม่ และบันทึกสถานะระบบปัจจุบัน เธออ่านรายละเอียดรุ่นปัจจุบันและไฟล์ในคลังเก็บข้อมูลก่อนที่จะแก้ไขอะไรก็ตาม:
cat /etc/os-release
cat /etc/debian_version
apt-cache policy
dpkg --audit
apt-get check
apt-mark showhold
เธอตรวจสอบ/etc/apt/sources.listทุกไฟล์ใน/etc/apt/sources.list.d/และการตั้งค่า APT ใน/etc/apt/preferencesและ/etc/apt/preferences.d/เป้าหมายคือการระบุที่เก็บของผู้จำหน่าย แพ็กเกจที่สร้างขึ้นในเครื่อง การเผยแพร่ที่กำหนดไว้ และแพ็กเกจที่ถูกระงับ ก่อนที่จะทำให้เกิดความสับสนในระหว่างการอัปเกรด หากdpkg --auditรายงานการกำหนดค่าแพ็กเกจที่ไม่สมบูรณ์ หรือapt-get checkรายงานการพึ่งพาที่เสียหาย Maya จะแก้ไขเงื่อนไขนั้นใน Bookworm ก่อนที่จะทำการเปลี่ยนแปลงการแจกจ่ายทับลงไป
2. เปิดใช้งานการกู้คืนก่อนเปลี่ยนเวอร์ชัน
ก่อนที่จะแตะต้องซอร์สโค้ดของแพ็กเกจ มายาจะสร้างสำเนาสำรองที่ผ่านการทดสอบแล้วของข้อมูลส่วนบุคคลและการตั้งค่าที่สำคัญ รวมถึงฐานข้อมูลแอปพลิเคชันและข้อมูลบริการ (ถ้ามี) การสร้างอิมเมจดิสก์แบบเต็มหรือสแนปช็อต VM ช่วยให้เธอสามารถกู้คืนระบบปฏิบัติการได้ การคัดลอกเฉพาะไดเร็กทอรีโฮมอย่างเดียวไม่เพียงพอ เธอยังตรวจสอบให้แน่ใจว่าเธอสามารถเข้าถึงคอนโซลในเครื่องได้ มีสื่อกู้คืนที่สามารถบูตได้ มีพื้นที่ว่างเพียงพอใน/, /var, และ/bootและมีการเชื่อมต่อเครือข่ายที่ใช้งานได้
หากเครื่องอยู่ห่างไกล เธอจะกำหนดช่วงเวลาหยุดทำงานและใช้คอนโซลแบบ out-of-band หากมี การอัปเกรดแพ็กเกจที่รีสตาร์ทเครือข่ายหรือแทนที่ส่วนประกอบ SSH อาจทำให้การเชื่อมต่อระยะไกลถูกตัดขาด สำหรับเซิร์ฟเวอร์ที่สำคัญ มายาจะทดสอบลำดับทั้งหมดบนเครื่องจำลองก่อน บันทึกการเผยแพร่ของ Debian มีคำแนะนำเกี่ยวกับการเตรียมการและการกู้คืน ควรศึกษาก่อนการอัปเกรดแต่ละครั้ง
3. ดำเนินการอัปเกรด Bookworm เป็น Trixie ให้เสร็จสมบูรณ์ตามที่รองรับ
มายาปฏิบัติตามขั้นตอนการติดตั้งจาก Bookworm ไปยัง Trixie ตามที่ระบุไว้ในเอกสารเผยแพร่ Debian 13 อย่างเป็นทางการ ซึ่งรวมถึงการตรวจสอบไฟล์เก็บถาวรของบุคคลที่สาม การตั้งค่า APT สถานะแพ็กเกจ และพื้นที่ว่างในดิสก์ เธอไม่ได้ข้ามขั้นตอนการอัปเกรดที่ Bookworm รองรับโดยการเขียนซอร์สโค้ดทั้งหมดใหม่เป็น Forky Debian ได้จัดทำเอกสารเกี่ยวกับการอัปเกรดจาก Debian 12 ไปยัง Debian 13 ไว้อย่างชัดเจน โปรดใช้เอกสารเฉพาะรุ่นนั้นสำหรับแพ็กเกจและข้อความแจ้งการกำหนดค่าที่อาจใช้กับระบบของคุณ
เมื่ออัปเกรดเครื่องเสร็จสมบูรณ์แล้ว เธอจะรีบูตเข้าสู่ Trixie และตรวจสอบว่าเครื่องเริ่มต้นทำงานได้ตามปกติ เธอตรวจสอบบริการที่สำคัญ การเข้าถึงเครือข่าย การเชื่อมต่อพื้นที่จัดเก็บข้อมูล การเข้าสู่ระบบกราฟิกหรือเดสก์ท็อป และฮาร์ดแวร์ใดๆ ที่ขึ้นอยู่กับเฟิร์มแวร์ จุดตรวจสอบนี้มีค่ามาก: หากมีสิ่งผิดปกติเกิดขึ้น เธอสามารถวินิจฉัยการเปลี่ยนผ่านเวอร์ชันก่อนที่จะเริ่มการทดสอบได้
เปลี่ยนระบบที่ตรวจสอบแล้วว่าเสถียรเป็นโหมดทดสอบ
4. ลบรายการในคลังข้อมูลที่ปะปนกันหรือล้าสมัยออก
หลังจากที่ระบบทำงานได้อย่างเสถียรบน Trixie แล้ว มายาจะบันทึกสำเนาไฟล์ซอร์สโค้ด APT และไฟล์การตั้งค่าไว้ เธอจะปิดใช้งานที่เก็บซอฟต์แวร์ของบุคคลที่สามและ backport หรือรายการอัปเดตเฉพาะของ Trixie ชั่วคราว การผสมผสานชุดซอฟต์แวร์เวอร์ชันเสถียร ทดสอบ และไม่เสถียรโดยไม่มีนโยบายการกำหนดเวอร์ชันที่ชัดเจน อาจทำให้เกิดไลบรารีที่ไม่ตรงกันและความขัดแย้งในการพึ่งพาซอฟต์แวร์ แพ็กเกจจากผู้จำหน่ายนอก Debian อาจยังไม่มีให้ใช้งานสำหรับ Forky เธอจึงตรวจสอบข้อมูลความเข้ากันได้ของผู้จำหน่ายแต่ละราย แทนที่จะสันนิษฐานว่าที่เก็บซอฟต์แวร์ของ Trixie นั้นเหมาะสม
ในการติดตั้งปัจจุบัน แหล่งที่มาอาจใช้รูปแบบบรรทัดเดียวแบบเก่าหรือ.sourcesรูปแบบ deb822 ก็ได้ แก้ไขรูปแบบที่ใช้งานอยู่แล้ว และตรวจสอบให้แน่ใจว่าไม่มีรายการ Debian ที่ใช้งานอยู่ชี้ไปยังbookwormหรือtrixieเมื่อการอัปเกรดเวอร์ชันทดสอบเริ่มต้นขึ้น
5. กำหนดให้คลังเก็บข้อมูลหลักของ Debian ชี้ไปยัง Forky
สำหรับตัวอย่างที่ระบุวันที่นี้ Forky คือชื่อรหัสการทดสอบปัจจุบัน ไฟล์ต้นฉบับ deb822 /etc/apt/sources.list.d/debian.sourcesสามารถใช้โครงสร้างต่อไปนี้ได้ เก็บส่วนประกอบที่ตรงกับการติดตั้ง ตัวอย่างนี้รวมถึงเฟิร์มแวร์ทั่วไปและพื้นที่ที่ไม่ใช่พื้นที่ว่าง แต่ไม่ได้เปิดใช้งานโดยอัตโนมัติในทุกระบบ
Types: deb
URIs: https://deb.debian.org/debian
Suites: forky
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
อย่าคัดลอกข้อความนี้ทับการตั้งค่าที่มีอยู่โดยไม่ตรวจสอบก่อน รักษาตัวเลือกมิเรอร์และส่วนประกอบที่ระบบต้องการ และลบหรือใส่เครื่องหมายคอมเมนต์ในรายการ Debian ที่ซ้ำกัน หลีกเลี่ยงการใช้นามแฝงสำหรับการย้ายtestingหากตั้งใจที่จะยังคงใช้ Forky ต่อไปหลังจากที่มันกลายเป็นเวอร์ชันเสถียรแล้ว ชื่อรหัสจะติดตาม Forky ตลอดช่วงการเปลี่ยนผ่านเวอร์ชัน ชื่อชุดซอฟต์แวร์testingจะติดตามเวอร์ชันทดสอบในอนาคต
สำหรับการทดสอบ อย่าใช้ URL ความปลอดภัยของเวอร์ชัน Stable โดยไม่ตรวจสอบให้ดีtrixie-securityหรือแทนที่ด้วยforky-securityชุดทดสอบที่คาดเดาเอาเอง คำถามที่พบบ่อยของ Debian ระบุว่า เวอร์ชัน Testing ไม่ได้รับการอัปเดตความปลอดภัยเฉพาะเช่นเดียวกับเวอร์ชัน Stable การแก้ไขอาจต้องย้ายมาจากเวอร์ชัน Unstable และระยะเวลาอาจแตกต่างกันไป ผู้อ่านควรตรวจสอบคำแนะนำและข้อมูลช่องโหว่ของ Debian Testing ในปัจจุบัน และตัดสินใจว่ารูปแบบการสนับสนุนนั้นเป็นที่ยอมรับได้หรือไม่
6. รีเฟรชดัชนีและจำลองการเปลี่ยนแปลงการพึ่งพาอย่างสมบูรณ์
เมื่อแก้ไขซอร์สโค้ดเสร็จแล้ว Maya จะรีเฟรชเมตาเดต้าของแพ็กเกจและขอให้ APT จำลองการอัปเกรดทั้งหมด:
sudo apt update
sudo apt -s full-upgrade
การจำลองนี้เป็นขั้นตอนการตรวจสอบ ไม่ใช่ข้อความแจ้งอนุมัติที่ควรยอมรับโดยอัตโนมัติ มายาอ่านรายการแพ็กเกจที่จะติดตั้ง อัปเกรด เก็บไว้ และลบ เธอจะหยุดหากข้อเสนอนั้นลบแพ็กเกจเดสก์ท็อป เซิร์ฟเวอร์ SSH บูตโหลดเดอร์ ตัวจัดการเครือข่าย ฐานข้อมูล หรือแพ็กเกจอื่น ๆ ที่เธอต้องพึ่งพา หากมันลบแพ็กเกจที่ไม่เกี่ยวข้องจำนวนมาก หรือหาก APT รายงานว่ามีปัญหาเรื่องการพึ่งพาที่ไม่สามารถแก้ไขได้ เธอจะตรวจสอบว่าสาเหตุเกิดจากแหล่งที่มาของบุคคลที่สามที่เปิดใช้งาน การระงับ การตรึง พื้นที่ดิสก์ไม่เพียงพอ หรือการเปลี่ยนสถานะการทดสอบชั่วคราวหรือไม่
แพ็กเกจที่ถูกระงับไว้ไม่ได้หมายความว่าจะเสียหายโดยอัตโนมัติ อาจจำเป็นต้องมีการเปลี่ยนแปลงการพึ่งพาซึ่งupgradeการดำเนินการแบบอนุรักษ์นิยมจะไม่ทำ อย่าบังคับติดตั้งไลบรารีหรือลบเมตาแพ็กเกจเพียงเพื่อให้จำนวนแพ็กเกจเป็นศูนย์ หากแผนการไม่เข้าใจ ให้รอจนกว่าการเปลี่ยนผ่านคลังเก็บข้อมูลจะเสร็จสมบูรณ์ ปรึกษาข้อมูลเกี่ยวกับข้อบกพร่องของแพ็กเกจ Debian หรือข้อมูลการเปลี่ยนผ่านที่เกี่ยวข้อง หรือใช้งานเวอร์ชัน Stable ต่อไป
ดำเนินการอัปเกรดเป็นขั้นตอนที่สามารถตรวจสอบได้
7. เรียกใช้การอัปเกรดแบบอนุรักษ์นิยม จากนั้นตรวจสอบการอัปเกรดแบบเต็มอีกครั้ง
หากการจำลองมีความสมเหตุสมผลและข้อมูลสำรองเป็นปัจจุบัน Maya จะทำการอัปเกรดก่อน ซึ่งจะไม่ลบแพ็กเกจที่ติดตั้งไว้:
sudo apt upgrade --without-new-pkgs
เธออ่านคำถามในไฟล์การกำหนดค่าอย่างละเอียดและจดบันทึกการเปลี่ยนแปลงในเครื่อง จากนั้นเธอก็จำลองการทำงานอีกครั้ง เพราะแผนการติดตั้งแพ็กเกจอาจมีการเปลี่ยนแปลง:
sudo apt -s full-upgrade
เธอจะดำเนินการผ่าตัดจริงก็ต่อเมื่อการถอดและเพิ่มเติมที่เสนอมานั้นสมเหตุสมผลเท่านั้น:
sudo apt full-upgrade
full-upgradeสามารถติดตั้งส่วนประกอบใหม่และลบแพ็กเกจเพื่อทำการเปลี่ยนผ่านสู่เวอร์ชันใหม่ได้ นั่นคือเหตุผลที่การจำลองและการตรวจสอบโดยมนุษย์มีความสำคัญ หากโปรแกรมเสนอการลบที่ไม่สามารถอธิบายได้หรือเกิดข้อผิดพลาดเกี่ยวกับส่วนประกอบ โปรแกรม Maya จะหยุดและบันทึกผลลัพธ์ที่แน่นอน เธอจะไม่ทำการapt --fix-broken installเลือกเวอร์ชันแบบสุ่มหรือบังคับ หรือลบไลบรารีด้วยตนเอง เพราะการกระทำเหล่านั้นอาจทำให้ความไม่สอดคล้องกันเพิ่มมากขึ้น ตรวจสอบข้อผิดพลาดของ APT การกำหนดค่าแหล่งที่มา การระงับ และสถานะของแพ็กเกจก่อน จากนั้นจึงลองใหม่อีกครั้งหลังจากเข้าใจสาเหตุแล้ว
โปรดเปิดเครื่องและเชื่อมต่ออินเทอร์เน็ตไว้ตลอดเวลาในระหว่างการแกะไฟล์และตั้งค่าแพ็กเกจ หลีกเลี่ยงการเปิดโปรแกรมจัดการแพ็กเกจอื่นในเวลาเดียวกัน หากกระบวนการถูกขัดจังหวะ ให้ใช้คำแนะนำในการกู้คืนสำหรับข้อผิดพลาดที่พบ และดำเนินการตั้งค่าแพ็กเกจที่ค้างอยู่ให้เสร็จสมบูรณ์หลังจากตรวจสอบสถานะฐานข้อมูลแพ็กเกจแล้วเท่านั้น
8. รีสตาร์ท ตรวจสอบการพึ่งพา และกู้คืนเฉพาะที่เก็บข้อมูลที่เข้ากันได้เท่านั้น
หลังจาก APT ดำเนินการเสร็จสิ้นโดยไม่มีข้อผิดพลาดที่แก้ไขไม่ได้ Maya จะตรวจสอบสถานะของแพ็กเกจและรีสตาร์ทเมื่อเหมาะสม:
sudo dpkg --audit
sudo apt-get check
sudo apt update
sudo reboot
หลังจากรีบูตเครื่อง เธอยืนยันเวอร์ชันที่ติดตั้งแล้วด้วยคำสั่ง `apt-update` /etc/os-releaseตรวจสอบว่าเคอร์เนลที่คาดหวังทำงานอยู่ด้วยuname -rคำสั่ง `apt-update` systemctl --failedตรวจสอบไฟล์ `apt-update` และทดสอบแอปพลิเคชันและบริการที่จำเป็น เธอสามารถตรวจสอบกิจกรรมแพ็กเกจล่าสุดได้ใน `apt-update` /var/log/apt/history.logและ ` /var/log/dpkg.logapt-update` การเรียกใช้ APT ที่สำเร็จเพียงอย่างเดียวไม่เพียงพอ หากระบบไม่สามารถบูตได้ เครือข่ายใช้งานไม่ได้ หรือบริการที่สำคัญล้มเหลว
หลังจากที่แพ็กเกจ Debian ทำงานได้อย่างเสถียรแล้ว เธอจึงค่อยพิจารณาเปิดใช้งานที่เก็บซอฟต์แวร์จากผู้ผลิตรายอื่นทีละรายการ และเฉพาะเมื่อผู้ผลิตนั้นระบุว่ารองรับ Forky แล้วเท่านั้น จากนั้นเธอก็จะทำการทดสอบapt updateและจำลองการอัปเกรดที่เกิดขึ้นก่อนที่จะยอมรับ เธอจะเก็บรักษาข้อมูลสำรองสำหรับการกู้คืนไว้จนกว่าเครื่องจะทำงานได้อย่างเสถียรภายใต้การใช้งานปกติ
จะตัดสินได้อย่างไรว่าการย้ายข้อมูลเสร็จสมบูรณ์แล้ว
มายาถือว่าการย้ายระบบเสร็จสมบูรณ์เมื่อเครื่องบูตเข้าสู่โค้ดเนมการทดสอบที่คาดไว้ ทำงานได้dpkg --auditอย่างราบรื่นapt-get checkรายงานว่าไม่มีการพึ่งพาซอฟต์แวร์ที่เสียหาย การอัปเดต APT จากที่เก็บข้อมูลที่ต้องการโดยไม่มีข้อผิดพลาดด้านลายเซ็นหรือรุ่น และเวิร์กโหลดที่สำคัญของเธอผ่านการตรวจสอบของตัวเอง นอกจากนี้ เธอยังบันทึกวันที่ การเปลี่ยนแปลงซอร์สโค้ด การลบแพ็กเกจ และการตัดสินใจในการกำหนดค่าด้วยตนเองใดๆ เพื่อให้สามารถตรวจสอบข้อผิดพลาดในภายหลังได้
หากเป้าหมายคือการใช้งานแอปพลิเคชันเวอร์ชันใหม่กว่า การใช้ Debian Stable และใช้ backport อย่างเป็นทางการ แพ็กเกจที่ได้รับการสนับสนุนจากผู้จำหน่าย คอนเทนเนอร์ หรือสภาพแวดล้อมการทดสอบแบบแยกส่วน อาจก่อให้เกิดผลกระทบน้อยกว่า แต่หากคอมพิวเตอร์เครื่องนั้นมีความสำคัญต่อธุรกิจ เชื่อมต่อกับอินเทอร์เน็ต หรือไม่สามารถกู้คืนได้อย่างรวดเร็ว โดยทั่วไปแล้ว Debian Stable จะเป็นตัวเลือกที่เหมาะสมกว่า การทดสอบนั้นเหมาะสำหรับผู้ใช้ที่พร้อมที่จะติดตามการอัปเดต อ่านแผนแพ็กเกจ และแก้ไขปัญหาการเก็บถาวรชั่วคราวหรือปัญหาเกี่ยวกับความสัมพันธ์ของแพ็กเกจ
เอกสารอ้างอิงอย่างเป็นทางการ