Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีอัปเกรด Debian (Major Version Upgrade)

Debian คงที่ประมาณ 2 ปี: เวอร์ชันแพ็กเกจ/ฟีเจอร์ไม่เปลี่ยน แค่ backport security fixes นานๆครั้งมี exception (เช่น driver รองรับฮาร์ดแวร์ใหม่) แต่หายาก ความคงทำนี้ทำให้ "Rock solid" — น้อยบั๊ก, สิ่งไม่คาดคิด, อัปเดตไม่แตก

แต่ทุก ~2 ปี จะมี major release ใหม่ พร้อมฟีเจอร์/การปรับปรุงใหญ่ๆ กระบวนการอัปเกรดก็ "rock solid" เช่นกัน: บนระบบสะอาด อัปเกรด major version รู้สึกเหมือนอัปเดตแพ็กเกจเล็กน้อย

ก่อนอัปเกรด: ทำความสะอาด sources.list

หลายคนเจอ conflict เพราะเพิ่ม repo ภายนอก/ติดตั้ง .deb นอก repo → แพ็กเกจเมเนเจอร์ "ป่วยในความเงียบ" ลบ repo ภายนอกทั้งหมดออกจาก sources.list ก่อนอัปเกรด

sudo nano /etc/apt/sources.list

ควรเหลือแค่ 3 บรรทัด (template):

deb https://deb.debian.org/debian  main
deb https://deb.debian.org/debian -updates main
deb https://deb.debian.org/debian-security /updates main

สำคัญ: รักษา codename ปัจจุบัน (เช่น buster, bullseye, bookworm) หาก sources.list เดิมมี main contrib non-free ให้เพิ่ม contrib non-free ท้ายทุกบรรทัด

เซฟ (Ctrl+X, Y, Enter) → sudo apt update → sudo apt upgrade → sudo apt autoremove

เตรียม sources.list สำหรับอัปเกรด

อัปเกรดทีละ major version เท่านั้น (7→8, 8→9, 9→10... ไม่ข้าม)

แก้ sources.list อีกครั้ง: เปลี่ยน codename เก่า → codename ใหม่ (ดูที่หน้า releases ของ Debian)

ตัวอย่าง 9 (stretch) → 10 (buster):

deb https://deb.debian.org/debian buster main contrib non-free
deb https://deb.debian.org/debian buster-updates main contrib non-free
deb https://deb.debian.org/debian-security buster/updates main contrib non-free

เซฟ → sudo apt update

อัปเกรด Debian

  1. Logout จาก GUI (อัปเกรดจะ restart graphical stack ทำให้เทอร์มินัลหาย)
  2. เข้า text console: Alt+Ctrl+F2 (หรือ F3) ล็อกอิน
  3. Safe upgrade (ไม่ลบแพ็กเกจ):
    sudo apt upgrade
    ดูว่ามี conflict บังคับลบแพ็กเกจสำคัญไหม (บนระบบสะอาดไม่ควรเกิด)
  4. จะถามเก็บ config เดิมหรือใช้ config ใหม่ของ maintainer → แนะนำเลือกใหม่ (Y) เว้นแต่คุณแก้ config เอง
  5. Full upgrade (ลบแพ็กเกจเก่าที่ชนกัน):
    sudo apt full-upgrade
  6. ทำความสะอาด: sudo apt autoremove
  7. รีบูต: sudo systemctl reboot

สรุป

ปกติทำงานได้สมูธ หากเคยเพิ่ม repo ภายนอก/ติดตั้ง .deb เอง อาจเจอ conflict → ต้องแก้เอง (ลบแพ็กเกจชนกันก่อน) อ่านรายละเอียดเพิ่ม: ค้น "Debian upgrade"