เหตุผลที่ฉันเลิกใช้ OpenBSD
(dataswamp.org)- ผู้เขียนเป็นฟรีแลนซ์ที่ปรึกษาด้าน OpenBSD, FreeBSD, Linux และ Qubes OS แต่ช่วงหลังได้ออกจาก OpenBSD และไม่ได้ใช้อีกต่อไป
- ยอมรับคุณค่าของ OpenBSD และเข้าใจความสำคัญของการมีอยู่ของมัน แต่ตอนนี้มันไม่สอดคล้องกับความต้องการส่วนตัวอีกแล้ว
ปัญหา
- ความเข้ากันได้ของฮาร์ดแวร์
- ไม่มีการรองรับ Bluetooth
- การรองรับ gamepad มีข้อจำกัด: บางโปรแกรมและ gamepad บางรุ่นไม่รองรับ
- ปัญหาอายุแบตเตอรี่/ความร้อน/การใช้พลังงาน: ใช้พลังงานสูงกว่า OS อื่นอย่างเห็นได้ชัด
- ความเข้ากันได้ของซอฟต์แวร์
- จำเป็นต้องเรียนรู้เทคโนโลยีใหม่ในสาย DevOps เช่น OCI container, machine learning เป็นต้น
- แต่การรัน virtual machine บน OpenBSD มีข้อจำกัดมาก: ใช้ได้แค่คอร์เดียว/ประสิทธิภาพต่ำจนทำให้โฟกัสกับงานได้ยาก
- ในงานที่ปรึกษา บางครั้งจำเป็นต้อง รันซอฟต์แวร์ปิดซอร์ส ซึ่งบน VM ไม่มีปัญหา แต่บน OpenBSD กลับยุ่งยาก แถมประสิทธิภาพก็แย่
- ความน่าเชื่อถือ
- ผู้เขียนไม่พอใจกับระบบไฟล์ของ OpenBSD อย่างมาก และรู้สึกว่าเชื่อถือไม่ได้
- เมื่อนำมาใช้เป็นเดสก์ท็อป มีอาการล่มบ่อยและข้อมูลสูญหายจนทนไม่ไหว
- อาจเป็นปัญหาความเข้ากันได้ของฮาร์ดแวร์ก็ได้ เพราะเมื่อก่อนบน ThinkPad T400 ไม่เคยมีปัญหา แต่บนฮาร์ดแวร์บางรุ่นกลับเกิด kernel panic และอาการค้าง
- ThinkPad X395, t470, t480, Ryzen 5600X + AMD GPU
- OS ที่ข้อมูลสูญหายบ่อยนั้นใช้งานต่อได้ยาก
- ดูเหมือนคนอื่นจะใช้งานได้เสถียรดี แต่ผู้เขียนไม่เข้าใจว่าทำไมตัวเองถึงเจอปัญหาล่มบ่อยขนาดนี้
- ผู้เขียนไม่พอใจกับระบบไฟล์ของ OpenBSD อย่างมาก และรู้สึกว่าเชื่อถือไม่ได้
ย้ายไป Linux
- ผู้เขียนย้ายงานส่วนใหญ่จาก OpenBSD ไปทำบน Qubes OS แล้ว (ยกเว้นการเล่นเกม)
- ใช้ Fedora virtual machine (โดยเฉลี่ยรัน VM พร้อมกันราว 20 เครื่อง)
- วิธีนี้ให้ความปลอดภัยที่ดีกว่า OpenBSD: แยกงานตามบริบทได้
- ระดับความพึงพอใจเพิ่มขึ้นจากฟีเจอร์ต่อไปนี้ที่มีใน Linux:
- namespace: ฟีเจอร์สำหรับจำกัดขอบเขตของโปรเซส เป็นพื้นฐานของการรัน container และสร้างสภาพแวดล้อมแยกที่ทรงพลังกว่า chroot มาก
- cgroups: kernel subsystem สำหรับติดตามการใช้ทรัพยากร ช่วยตรวจดูการใช้ network, I/O, CPU และ memory ได้อย่างแม่นยำ จึงมีประโยชน์มากสำหรับผู้ดูแลระบบในการหาสาเหตุของการใช้ทรัพยากร
- systemd: มีฟีเจอร์ที่เป็นประโยชน์อย่าง journald, timer และความสามารถในการเขียนสคริปต์ แม้อาจมีเส้นโค้งการเรียนรู้ในช่วงแรก แต่หน้า manual จัดทำไว้ดี
- การบีบอัด swap: ใช้อัลกอริทึมบีบอัด lz4 เพื่อประหยัดหน่วยความจำพร้อมให้ประสิทธิภาพ swap ที่รวดเร็วมาก โดยทั่วไปได้อัตราการบีบอัดราว 3:1 หรือ 4:1
- storage backend แบบสมัยใหม่: ใช้ LVM, btrfs, ZFS ฯลฯ เพื่อเพิ่มประสิทธิภาพ ความน่าเชื่อถือ และความยืดหยุ่นได้สูงสุด โดยเฉพาะการบีบอัดข้อมูลแบบโปร่งใสที่ช่วยเก็บข้อมูลได้มากขึ้นบนฮาร์ดแวร์เดิม (หากข้อมูลบีบอัดได้)
- Flatpak: รันอยู่ใน namespace แยกอิสระ และถูกจำกัดไม่ให้เข้าถึงทั้งระบบไฟล์ทั้งหมด สามารถ rollback ไปเวอร์ชันก่อนหน้า หรือใช้ความสามารถอื่นเพิ่มเติมได้
- auditd: เครื่องมือสำคัญในสภาพแวดล้อมด้านความปลอดภัย สามารถบันทึก log การเข้าถึงหรือแก้ไขไฟล์เฉพาะได้ ซึ่งเป็นฟีเจอร์ที่ OpenBSD ไม่มี
- SELinux: แม้มักถูกปิดใช้งานในช่วงตั้งค่าเริ่มต้น แต่เป็นกลไกความปลอดภัยที่ทรงพลังมากซึ่งช่วยลดความเสี่ยงของช่องโหว่ได้ทั้งคลาส
- เมื่อต้องใช้เดสก์ท็อปเพื่อการเล่นเกม ผู้เขียนใช้ Fedora Silverblue ซึ่งให้ทั้งการอัปเกรดที่เสถียรและความหลากหลายของซอฟต์แวร์
สรุป
- ผู้เขียนเลิกใช้ OpenBSD เพราะเกิด อาการล่มบ่อยและข้อมูลสูญหาย
- ประสิทธิภาพที่ไม่เพียงพอและประสิทธิผลในการทำงานที่ลดลงทำให้ไม่เหมาะกับงานส่วนตัว
- อย่างไรก็ตาม ผู้เขียนยังมองในแง่บวกต่อการที่ผู้ใช้ OpenBSD ชื่นชอบความเรียบง่ายและความโปร่งใสของระบบ
- โดยเฉพาะจุดที่ผู้ใช้สามารถเข้าใจการทำงานภายในของระบบได้ ถือเป็นข้อดีที่โดดเด่นของ OpenBSD (และ NetBSD อาจคล้ายกัน)
- ต่อจากนี้ก็ยังจะ สนับสนุน OpenBSD ในกรณีที่มันเหมาะสม
- เมื่อต้องมีส่วนร่วมกับซอฟต์แวร์โอเพนซอร์ส ก็จะตรวจสอบความเข้ากันได้กับ OpenBSD และยังเปิดโอกาสสำหรับการกลับไปใช้ OpenBSD หากจำเป็น
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
NetBSD ไม่มีความสามารถด้าน GPU computing และ DRM บนเบราว์เซอร์ก็ใช้งานไม่สะดวก จึงใช้ macOS แทน ระบบไม่ควรล่มหรือเกิด panic และไม่ควรมีการสูญหายของข้อมูลหรือความเสียหายของไฟล์ซิสเต็ม จึงมองว่า OpenBSD ควรให้ความสำคัญกับเสถียรภาพมากกว่าความปลอดภัย
น่าเสียดายที่ Solène Rapenne ย้ายงาน แต่เธอได้มีส่วนช่วยทีม OpenBSD อย่างมาก ช่วงหลังได้เจอ panic บน OpenBSD 7.6 จนข้อมูลสูญหาย แต่ก็ยังจะใช้ OpenBSD เพื่อทดสอบสิ่งที่พัฒนาบน Linux ต่อไป
ชอบวิธีแจกจ่ายซอฟต์แวร์ของ Flatpak แต่ก็ยังมีช่องโหว่ด้านความปลอดภัยอยู่
OpenBSD ใช้งานหลักสำหรับเซิร์ฟเวอร์ ดังนั้นการรองรับ Bluetooth หรือ gamepad จึงไม่ใช่เรื่องสำคัญลำดับต้น
OpenBSD เหมาะกับการใช้เป็น network firewall และไฟล์คอนฟิกก็เข้าใจได้ง่าย
ได้เรียนรู้อะไรมากมายจาก Solène ในฟอรัม Qubes OS แม้ OpenBSD จะมีเสน่ห์ในเชิงปรัชญา แต่ก็ไม่เหมาะกับกรณีการใช้งานส่วนตัว
ตอนใช้ OpenSuse พบว่ารองรับ filesystem snapshot ได้ยอดเยี่ยม และใช้ Flatpak มาเติมเต็มส่วนที่ยังขาดได้
เมื่อใช้ virtualization บน OpenBSD ประสิทธิภาพแย่มากและเจอปัญหาใหญ่
ไม่ค่อยเจอปัญหาข้อมูลสูญหายเพราะมี journaling file system จึงคิดว่างานด้าน data integrity จะเป็นประโยชน์ต่อความปลอดภัยมากกว่า
กำลังผิดหวังกับ rootless container บน Linux และคิดว่าจะลองใช้ Incus กับ Firecracker
ปัญหาหลักของ Solène คือ VM hosting และปัญหาไฟล์ซิสเต็ม จึงคิดว่าถ้ามี VM hosting ที่ดีกว่านี้ ก็น่าจะแก้ปัญหาด้านความปลอดภัยและการรองรับฮาร์ดแวร์ได้