เลือก OS สำหรับ VPS: Ubuntu, Debian, AlmaLinux ต่างกันอย่างไร
เปิด VPS ขึ้นมาครั้งแรก provider มักให้เลือก OS หลายตัว แต่ละตัวก็ดูคล้ายกัน บทความนี้เปรียบเทียบ distro ยอดนิยมที่เหมาะกับงานบน VPS
Ubuntu LTS
Ubuntu คือตัวเลือกที่คนส่วนใหญ่เริ่มต้น เพราะมีเอกสาร tutorial มากที่สุด ปัญหาส่วนใหญ่หาคำตอบได้ใน Stack Overflow และ Ubuntu Forums
ข้อดี
- Community ใหญ่ที่สุด หาคำตอบได้ง่าย
- รองรับ software ส่วนใหญ่ทันที
- LTS (Long Term Support) รับ update 5 ปี
- เหมาะกับมือใหม่
ข้อเสีย
- ใหญ่กว่า Debian เล็กน้อย กิน RAM มากกว่าเล็กน้อย
- บางครั้ง Ubuntu เพิ่ม snap package โดยอัตโนมัติซึ่งไม่ใช่ทุกคนชอบ
Debian Stable
Debian คือ OS ที่ Ubuntu ถูกสร้างขึ้นมาจาก เน้นความเสถียรสูงมาก package ใน stable branch ผ่านการทดสอบมาอย่างยาวนาน
ข้อดี
- เสถียรมาก package ใน stable ไม่ค่อยมีปัญหา
- เบากว่า Ubuntu กิน RAM น้อยกว่า
- เหมาะกับ production server ที่ต้องการความมั่นคง
ข้อเสีย
- Package ใน stable อาจล้าสมัยกว่า เช่น PHP หรือ Node.js
- ถ้าต้องการ version ใหม่ต้องเพิ่ม backports หรือ repo เอง
AlmaLinux / Rocky Linux
สองตัวนี้เป็น community replacement ของ CentOS หลังจาก Red Hat เปลี่ยนนโยบาย เหมาะกับคนที่เคยใช้ CentOS หรือต้องการความเข้ากันได้กับ RHEL
ข้อดี
- Binary-compatible กับ RHEL enterprise standard
- Long term support 10 ปี
- เหมาะกับองค์กรที่ต้องการ compliance หรือ certification
ข้อเสีย
- Package จาก EPEL อาจต้องเพิ่มเองเพื่อได้ software บางตัว
- คนใหม่ที่ไม่คุ้น RPM-based distro อาจสับสนเล็กน้อย
เปรียบเทียบแบบตาราง
| เกณฑ์ | Ubuntu LTS | Debian Stable | AlmaLinux |
|---|---|---|---|
| Package manager | apt | apt | dnf |
| Community/Docs | ใหญ่มาก | ใหญ่ | กลาง |
| ความเสถียร | ดี | ดีมาก | ดีมาก |
| Package ใหม่ | ค่อนข้างใหม่ | ล้าสมัยกว่า | ขึ้นกับ RHEL |
| เหมาะกับ | ทั่วไป/มือใหม่ | Production stable | Enterprise |
| LTS support | 5 ปี | ~5 ปี | 10 ปี |
คำแนะนำ
- ถ้าเพิ่งเริ่ม: Ubuntu LTS — tutorial เยอะที่สุด หาคำตอบได้ง่าย
- ถ้าต้องการเสถียรมาก: Debian Stable — เหมาะกับ production ที่ไม่ต้องการ version ใหม่ๆ
- ถ้ามีพื้นฐาน CentOS/RHEL: AlmaLinux — ไม่ต้องเรียนรู้ใหม่
สรุป
ไม่มี OS ที่ดีที่สุดสำหรับทุกคน แต่ถ้าไม่มีข้อกำหนดพิเศษ Ubuntu LTS คือตัวเลือกที่ปลอดภัยที่สุดสำหรับมือใหม่ และมี resource online มากพอที่จะแก้ปัญหาส่วนใหญ่ได้ด้วยตัวเอง
คำสั่งที่ใช้บ่อยหลังติดตั้ง OS ใหม่
# อัพเดท package ทั้งหมด (Ubuntu/Debian)
apt update && apt upgrade -y
# อัพเดท package (AlmaLinux/Rocky)
dnf update -y
# ตรวจเวอร์ชัน OS
cat /etc/os-release
# ตรวจ kernel version
uname -r
แก้ปัญหาที่พบบ่อย
Error: "apt: command not found" บน AlmaLinux
AlmaLinux ใช้ dnf/yum ไม่ใช่ apt:
# AlmaLinux/Rocky Linux/CentOS
dnf install nginx
dnf install php php-fpm
dnf install mariadb-server
Ubuntu: snap package ติดมาโดยอัตโนมัติ เช่น snapd firefox
บาง Ubuntu version ติด snap firefox แทน apt ถ้าไม่ต้องการสามารถลบออกได้:
# ลบ snap firefox (Ubuntu 22.04+)
snap remove firefox
apt install firefox-esr # ใช้ version จาก apt แทน
# ดูว่ามี snap packages อะไรบ้าง
snap list
Debian: PHP หรือ package อื่นเวอร์ชันเก่ามาก
Debian stable เน้นเสถียรจึงมี package เก่ากว่า ถ้าต้องการเวอร์ชันใหม่เพิ่ม backports:
# เพิ่ม backports ใน sources.list
echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/sources.list
apt update
# ติดตั้งจาก backports
apt install -t bookworm-backports nginx
Error: "locale: Cannot set LC_ALL" หลัง login SSH ใหม่
ต้องตั้ง locale บน server ใหม่ที่เพิ่ง deploy:
# Ubuntu/Debian
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8
dpkg-reconfigure locales
คำถามที่พบบ่อย
ย้าย OS โดยไม่สร้าง VPS ใหม่ได้ไหม?
โดยทั่วไปไม่ได้ การเปลี่ยน OS ต้องทำผ่าน VPS provider ซึ่งมักต้อง reinstall (format disk เดิม) backup ข้อมูลก่อนทุกครั้ง
Ubuntu vs Debian แตกต่างในแง่ command line ไหม?
แทบไม่ต่างกันเลย ทั้งคู่ใช้ apt เหมือนกัน command ส่วนใหญ่ใช้ได้ทั้งคู่ ต่างกันแค่ default package version และ release cycle
AlmaLinux ใช้ tutorial ของ CentOS ได้ไหม?
ได้เป็นส่วนใหญ่ AlmaLinux binary compatible กับ RHEL และ CentOS tutorial เก่าของ CentOS 8 ใช้ได้เกือบทั้งหมด แต่ CentOS 7 (ใช้ yum) กับ AlmaLinux (ใช้ dnf) บางคำสั่งต่างกัน