Canonical เผยข้อมูล Ubuntu Core Desktop ระบบปฏิบัติการแบบ Immutable OS – SMS Marketing ราคาถูกที่สุด
![](https://sms.deecommerce.co.th/blog/wp-content/uploads/2023/06/52898c7910b4dd475836641cb5740e0f-yI54XR-750x450.jpeg)
บริษัท Canonical ประกาศรายละเอียดการทำ Ubuntu Core เวอร์ชันเดสก์ท็อป ที่ใช้แพ็กเกจแบบ Snap ทั้งหมด
Canonical มีดิสโทร Ubuntu Core มาตั้งแต่ปี 2014 โดยมีแนวคิดว่าแอพถูกอย่างถูกรันในคอนเทนเนอร์ (Docker/LXC) เพื่อเป็น sandbox ที่ปลอดภัย อัพเกรดและย้อนคืนได้ง่าย แต่ช่วงแรกยังจำกัดการใช้งานเฉพาะอุปกรณ์ IoT ที่ต้องใช้วิธีอัพเดตอัตโนมัติ
Canonical เรียกระบบปฏิบัติการที่มีแนวคิดนี้ว่า immutable operating system มีคุณสมบัติทั้งหมด 4 ข้อคือ
Read-only ตัวระบบปฏิบัติการที่รันอยู่ ไม่สามารถถูกแก้ไขได้โดยผู้ใช้หรือแอพพลิเคชัน
Atomic updates ไฟล์อัพเดตจะอัพเดตผ่านเลย หรือไม่ผ่านแล้ว rollback กลับได้เลย ไม่มีครึ่งๆ กลางๆ จนทำให้ระบบพัง
Predictable ตัวแกนหลักของระบบปฏิบัติการจะไม่เปลี่ยนแปลง พฤติกรรมของมันจะคาดเดาได้ว่าเป็นแบบใด แม้รันบนอุปกรณ์ต่างกัน
Isolated Applications แอพพลิเคชันถูกแยกขาดจากระบบปฏิบัติการหลัก และแอพแต่ละตัวไม่ยุ่งกัน เพราะถูกรันในคอนเทนเนอร์ของใครของมัน การเปลี่ยนแปลงที่เกิดจากแอพตัวใดตัวหนึ่งไม่กระทบระบบหลักหรือแอพตัวอื่น
ระบบปฏิบัติการแบบ immutable มีข้อดีเรื่องความปลอดภัย, เสถียรภาพ, ตรวจสอบได้ง่าย, จัดการได้ง่าย แต่ก็มีข้อเสียเรื่องขาดความยืดหยุ่น อาจมีปัญหาเรื่องความเข้ากันได้ และสิ้นเปลืองสตอเรจมากกว่าเดิม
ทุกวันนี้มีระบบปฏิบัติการเดสก์ท็อปที่เป็น immutable อยู่บ้างแล้ว แม้มีข้อแตกต่างในรายละเอียด เช่น
Chrome OS ใช้วิธีแยกพาร์ทิชัน มี OS สองสำเนา ตัวนึงรันอยู่ อีกตัวอัพเดต แล้วรีบูตเพื่อสลับ OS
Fedora Silverblue มีแนวคิดคล้าย Chrome OS คือการทำสำเนาอิมเมจแล้วสลับตอนบูต จัดการด้วยเครื่องมือชื่อ OSTree โดยข้อแตกต่างคือแต่ละสำเนาเก็บเฉพาะส่วนต่าง (delta) เพื่อประหยัดสตอเรจและแบนด์วิดท์
openSUSE MicroOS แนวคิดคล้าย Ubuntu Core ใช้วิธีทำ snapshot ของระบบไฟล์ Btrfs เพื่อมาอัพเดตแล้วสลับตอนบูต
Canonical ชี้ว่าข้อจำกัดของระบบปฏิบัติการข้างต้นคือต้องรีบูตเพื่อให้อัพเดตมีผล ซึ่งทำให้ระบบหยุดชะงักไปชั่วคราว ทางแก้คือแยกส่วนแอพพลิเคชันออกจากระบบปฏิบัติการ เพื่อให้อัพเดตเฉพาะแอพพลิเคชันโดยไม่ต้องรีบูต แนวทางของ Canonical คือใช้แพ็กเกจแบบ Snap ที่รันแอพในคอนเทนเนอร์ อัพเดตง่ายกว่า มีแนวคิด channel แยกระดับความใหม่ของแพ็กเกจ (stable, candidate, beta, edge) เพื่อตอบโจทย์ของผู้ใช้แต่ละกลุ่ม
Canonical ยังพยายามสร้างสมดุลระหว่างการไม่ถูกแก้ไข (immutability) กับการปรับแต่งได้ (composability) จึงออกแบบ Ubuntu Core ให้แยกหลายส่วนได้มากกว่า เปลี่ยนชิ้นส่วนเฉพาะบางส่วนได้
ตอนนี้ Canonical กำลังเริ่มขยาย Ubuntu Core จากการใช้งาน IoT มาสู่เดสก์ท็อปด้วย ซึ่งเป็นประโยชน์ทั้งความปลอดภัย, การเปิดโอกาสให้ลองแพ็กเกจซอฟต์แวร์ใหม่ๆ บนระบบแกนหลักที่เสถียรมาก, การเปิดให้อัพเดตบางส่วนของระบบปฏิบัติการเร็วกว่าปกติ (เช่น เกมเมอร์เลือกใช้เคอร์เนลรุ่นใหม่ที่มีไดรเวอร์การ์ดจอรุ่นล่าสุด) รายละเอียดเพิ่มเติมจะทยอยเปิดเผยในอีกไม่กี่เดือนข้างหน้า
ระบบปฏิบัติการ Ubuntu ที่ใช้แพ็กเกจแบบเดิมจะยังอยู่เช่นกัน เพื่อผู้ใช้กลุ่มที่ต้องการควบคุมระบบปฏิบัติการเอง และยอมรับได้หากระบบปฏิบัติการพัง
ที่มา – Ubuntu Blog