เมื่อต้องอัพเกรด Ubuntu 14.04 เป็น 16.04 บน VirtualBox

ท้าวความก่อนครับ วันนี้เนื่องด้วยงานเบาบาง คิดว่าไม่น่ามีงานเข้า ผมจึงทำการอัพเกรด Ubuntu ใน VirtualBox ซึ่งผมใช้งานบน Windows 10 อีกที โดยต้องออกตัวก่อนว่า VBox กล่องนี้มันผ่านมา 3 Generations กันเลยทีเดียว มันโดนสร้างครั้งแรกบน Windows 7 ก่อนมา 8.1 แล้วกลายเป็น Windows 10 เรียกว่ามันมากันยาวนานมาก

ทีนี้เลยคิดว่าถึงเวลาอันสมควรล่ะ จึงทำการเสี่ยงอัพเกรดอยู่ ซึ่งสมัยก่อนผมเคยอัพเกรด Ubuntu มาครั้งหนึ่ง จากเวอร์ชั่น 8 เป็น 10 แล้วตอนนั้นก็ได้พบกับอาการ “ขาขาด” เป็นครั้งแรก เรียกว่าพังเลยครับ ตอนนั้นมือไม่ถึง แก้ไม่ค่อยเป็น แต่สมัยนี้ก็อารมณ์แบบคิดว่า เจ็บมาเยอะแล้ว + มันคงดีขึ้นแหละน่า (คิดเอาเองแบบนั้น)

ผลลัพท์เหรอครับ แน่นอนเลย “ขาขาดอีกแล้ว” ไม่งั้นผมคงไม่มาเขียน medium บทความนี้หรอกครับ orz

เอาล่ะ น้ำมาเยอะมาก ผมจะสรุปสิ่งที่ผมเจอมาให้นะครับ

ผมมีใช้ apache2 กับ nginx แล้วทำ vboxsf เชื่อมโฟลเดอร์จาก Windows เข้ามายัง Ubuntu เพื่อที่จะให้ทั้งคู่แสดงเว็บให้ ในขณะที่ผมแก้โค้ดจาก Windows ได้ แต่ผมกลับลืมปลด mount vboxsf ตัวนี้ ทำให้ติดสองตัวนี้ไม่ผ่าน แต่ว่าในตอนอัพเกรด โปรแกรมกลับแสดงว่าอัพเกรดผ่านดี อันนี้คงไม่ใช่ปัญหาใหญ่นัก

หลังอัพเกรดเสร็จ ปรากฎว่า network-manager หาย ครับ หายไปเลย ทำให้ nat network ที่เซ็ตไว้ใช้งานไม่ได้ เพราะมันไม่รู้จัก dhcp เลยว่างั้นเถอะ วิธีแก้คือแก้ไฟล์ ให้มันมาใช้แบบ static นี้แหละ โดยของเคสผมคือ nat ที่อยู่ที่ eth0 นั้นมันไม่ทำงาน จึงใส่ลงไปแบบนี้

File: /etc/network/interfaces

auto eth0
iface eth0 inet static
address 10.0.2.20
netmask 255.255.255.0
network 10.0.2.0
broadcast 10.0.2.255
gateway 10.0.2.2
dns-nameservers 8.8.8.8

และแก้อีกไฟล์เพื่อใส่ nameserver ให้มันรู้จัก dns ด้วย และรันคำสั่ง

File: /etc/resolv.conf

nameserver 8.8.8.8

ตบท้ายก็รันคำสั่ง

sudo resolvconf -u

เพื่ออัพเดตอีกที แล้วทดสอบเน็ตดู แล้วจึงทำการติด network-manager ลงไปครับ จากนั้นก็เอาที่แก้ๆ นี้ออกไปได้เลย

จากนั้นค่อยทำความสะอาดการอัพเกรดทั้งหมดด้วย

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -f

รันคำสั่งพวกนี้ วนแก้ๆ จนกว่าจะไม่มีอะไรที่ให้ต้องอัพเกรดอีกครับ (ฟังเหมือนง่ายเนอะ 555+)

คำเตือน!! ไฟล/etc/resolv.conf ในยามปกติห้ามแก้มือนะครับ เพราะมันจะสร้างเองจาก resolvconf เอง เพียงแต่เคสนี้ network manager เกิดหายไปในระหว่างการอัพเกรด จึงต้องทำการ manual แบบตามข้างบนครับ

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.