ลูกผสม Debian Release
www.tanabutr.co.th/photobook
รู้สาเหตุแล้วว่าทำไมเมื่อวาน apt-get แล้วระบบเจ๊งไป. ความจริงคือระบบนั้นเป็น image ของ Debian ที่มาจากไซด์ของ coLinux แล้วผมเอามาใช้. เจ้า image นี้มันเก่าครับ. กะจะให้มันเป็น stable แต่สามารถเลือกลงแพ็กเกจจาก testing มาได้เมื่อต้องการ. อ่านจาก google หลายๆที่ก็ไม่มีเหตุผลแน่ชัด, แต่เห็นมีคนบอกว่าอาจเกิดจากแพ็กเกจเก่าเกินไป.
ก็เลยลองใหม่. คราวนี้ทำให้ถูกต้องกว่าเดิมคือระบบเริ่มแรกเป็น Stable. ก่อนที่จะแก้ไฟล์ sources.list ใส่ testing, ก็ให้ทำ
# apt-get dist-upgrade
แล้วค่อยเพิ่มส่วนที่เป็น testing ในไฟล์ sources.list
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://http.us.debian.org/debian testing main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
คราวนี้ก็ update รายการแพ็กเกจทั้งหมด
# apt-get update
ถ้ามี error เกี่ยวกับ MMap ก็ไปแก้ไขตามที่เขียนใน blog ที่แล้ว. แล้วก็เขียนไฟล์ /etc/apt/apt.conf
APT::Default-Release "Stable";
เพื่อประกาศว่า Release โดยปริยายที่เราต้องการใช้คือ Stable. เหมือนกับเมื่อวานคือลอง
# apt-get -t testing install mysql-server
คราวนี้ไม่มีปัญหาที่ต้องทำ APT::Force-LoopBreak แล้ว. เจ้า APT::Force-LoopBreak นี่แหละที่ไปลบแพ็กเกจ sysvinit ทำให้ update-rc.d หาไป.
ทีนี้ก็ได้ระบบที่เป็น Stable Release และเลือกติดตั้งแพ็กเกจที่เป็น Testing ได้ตามสะดวก. เป็นลูกผสมครับ. ถ้าอยากผสมกับ Unstable ก็ทำได้ลักษณะเดียวกัน.
ประเด็นในวันนี้คือ apt-get dist-upgrade, คือนอกจากจะอัปเกรดแพ็กเกจล่าสุดของ Release ปัจจุบันแล้วยังจัดการ dependency ของแพ็กเกจให้ด้วย. เมื่อวานไม่ได้ทำตรงนี้ก่อนเลยเจ๊งไป.