สิ่งที่ควรทราบก่อนเริ่มต้น
- ปัจจัยหลักที่แยกแยะ Distribution ได้แก่ รองรับสถาปัตยกรรม (Architecture), ระบบ Init, Package Manager เริ่มต้น, และ Desktop Environment
- สำหรับผู้ใช้ Linux มือใหม่ที่ใช้ฮาร์ดแวร์สมัยใหม่: Ubuntu Linux, Linux Mint, และ Elementary OS เป็นจุดเริ่มต้นที่ดี
- สำหรับผู้ใช้ขั้นสูงที่มีฮาร์ดแวร์ระดับสูง: Manjaro Linux และ Slackware ให้การควบคุมระบบปฏิบัติการมากขึ้น
ปัจจัยที่ทำให้ Distribution แต่ละตัวแตกต่างกัน
แม้ Distribution ทุกตัวจะพัฒนาจาก Linux Kernel เดียวกัน แต่แต่ละตัวมีชุดเครื่องมือและลักษณะเฉพาะที่ทำให้เหมาะกับการใช้งานที่ต่างกัน:
- สถาปัตยกรรม (Architecture): ประเภทของชิปที่ Distribution รองรับผ่าน Kernel ที่รวมอยู่
- ซอฟต์แวร์ Init: วิธีการพื้นฐานในการเปิดตัวและจัดการกระบวนการ (Process)
- Package Manager: เครื่องมือจัดการแพ็กเกจเริ่มต้นของ Distribution
- Desktop Manager: อินเทอร์เฟซผู้ใช้แบบกราฟิกของ Distribution
เว็บไซต์ยอดนิยม DistroWatch.org มีเครื่องมือค้นหาที่ให้คุณระบุเกณฑ์เหล่านี้เพื่อกรอง Distribution ที่ใช้งานอยู่หลายร้อยตัวเหลือเพียงสิบๆ ตัวหรือไม่กี่ตัว
สถาปัตยกรรม (Architecture)
สถาปัตยกรรมมีความสำคัญเพราะไม่ใช่ Distribution ทุกตัวที่รองรับทุกการตั้งค่าปроцессор ตัวอย่างเช่น คุณไม่สามารถรัน Microsoft Windows บนแท็บเล็ต Android ได้ เพราะ Windows รองรับเฉพาะโปรเซสเซอร์เดสก์ท็อปของ Intel/AMD หรือ ARM บนมือถือเท่านั้น
Linux รองรับสถาปัตยกรรมหลากหลาย หากคุณใช้คอมพิวเตอร์เดสก์ท็อปหรือแล็ปท็อปมาตรฐาน คุณจะพบว่าเกือบทุก Distribution ทำงานได้ดี แต่หากติดตั้ง Linux บนคอมพิวเตอร์เก่ามาก โปรเซสเซอร์จะสำคัญมากขึ้น Distribution ที่รองรับเฉพาะ 64-bit จะไม่ทำงานบนโปรเซสเซอร์ 32-bit
สถาปัตยกรรมทั่วไปที่ต้องพิจารณา:
- x86 (i586/i686): ชิปเซ็ต 32-bit รองรับ Intel และ AMD
- x86_64: ชิปเซ็ต 64-bit รองรับ Intel และ AMD
- ARM: ชิปเซ็ตเพื่อมือถือ พบในแท็บเล็ตและสมาร์ทโฟน
- PowerPC: ชิปเซ็ตเก่าของฮาร์ดแวร์ Apple
Distribution ของคุณต้องเข้ากันได้กับชิปเซ็ต แต่ไม่มี Distribution ไหน "ดีกว่า" หรือ "แย่กว่า" เพราะชิปเซ็ตเพียงอย่างเดียว — นี่เป็นคำถามของความเข้ากันได้แบบทั้งหมดหรือไม่มีเลย
ซอฟต์แวร์ Init (Init Software)
อย่างเคร่งครัด Init software คือกระบวนการแรกที่เริ่มทำงานเมื่อคอมพิวเตอร์ Linux บูตขึ้น มันคือ Daemon ที่ทำงานตลอดเวลาที่ระบบทำงาน และเป็นกระบวนการผู้มารดาของทุกกระบวนการที่เปิดขึ้นภายหลัง
การเลือกซอฟต์แวร์ Init เป็นประเด็นที่มีการโต้แย้งระหว่าง SysV และ systemd การเลือกไม่ได้ง่าย เพราะซอฟต์แวร์นี้กำหนดวิธีที่ระบบจัดการกระบวนการ:
- SysV: ระบบ init แบบ "ดั้งเดิม" ที่รากรากมาจาก Unix SystemV ถือว่ามั่นคง แต่มีฟีเจอร์น้อยกว่า systemd
- systemd: ระบบ init สมัยใหม่ที่รวมเอาความสามารถสูง
ยังมี init อื่นๆ อีก แต่ SysV และ systemd เป็นหลัก การเลือก init ไม่เกี่ยวข้องมากนัก ยกเว้นคุณเป็น Power user ที่ชอบด้านใดด้านหนึ่ง Distribution สมัยใหม่ส่วนใหญ่ใช้ systemd ทำให้ SysV และ init อื่นๆ หายากขึ้น
Package Manager
ซอฟต์แวร์ Linux ทุกตัวส่งมอบในรูป Package Package Manager ต่างๆ จัดการเกี่ยวกับการเก็บและจัดการแพ็กเกจเหล่านี้ แพ็กเกจส่วนใหญ่ ไม่สามารถ แทนที่กันได้ แม้จะมีเครื่องมืออย่าง alien ที่แปลงระหว่างบางประเภทได้
Distribution ต่างๆ ใช้ Package Manager เฉพาะตัว:
- dpkg: จัดการแพ็กเกจ Debian (.DEB) — พบใน Distribution ที่พัฒนาจาก Debian เช่น Ubuntu, Linux Mint — ใช้ผ่านเครื่องมืออย่าง APT
- RPM Package Manager: ติดตั้ง/จัดการแพ็กเกจ Redhat (.RPM) ใช้เครื่องมืออย่าง DNF, yum, zypper
- flatpak: รูปแบบ sandbox/container แบบข้ามแพลตฟอร์ม
- pacman: ใช้ใน Arch Linux และ Distribution ที่มาจาก Arch
- portage: พัฒนาสำหรับ Gentoo Linux ใช้ใน ChromeOS และบาง Distribution
- snap: รูปแบบ containerized application deployment เฉพาะ Ubuntu
แม้คุณจะเลือกเครื่องมือจัดการแพ็กเกจได้ แต่ประเภทแพ็กเกจถูกเขียน死ใน Distribution คุณจะไม่เห็น Ubuntu 版ที่ใช้ไฟล์ RPM Distribution ต่างๆ ระบุ Repository ซอฟต์แวร์ที่แตกต่างกัน ซอฟต์แวร์จากนักพัฒนาอิสระอาจปรากฏในเพียง 1-2 รูปแบบแพ็กเกจ หากการเข้าถึงซอฟต์แวร์โอเพนซอร์สมากที่สุดสำคัญ Distribution ที่ใช้ DEB หรือ RPM เป็นตัวเลือกที่ดีที่สุด
Desktop Environment
เมื่อคนคิดถึงความแตกต่างหลักของ Linux Distribution มักคิดถึง Desktop Environment แต่สخريةคือ Distribution ส่วนใหญ่รองรับการติดตั้ง Desktop Environment ส่วนใหญ่ได้
Desktop Environment ที่ "ดีที่สุด" สมดุลระหว่างความสามารถในการกำหนดค่าและการใช้ทรัพยากรของ DE เอง คอมพิวเตอร์ใหม่หรือสเปกสูง รัน DE ไหนก็ได้ลื่นไหล แต่บนฮาร์ดแวร์เก่าหรือสเปกต่ำ โดยเฉพาะ Netbook การเลือก DE ทำให้ระบบใช้งานได้หรือไม่ได้
การใช้ทรัพยากร (Resource Use)
- DE ใช้ทรัพยากรสูง: KDE, Budgie
- DE น้ำหนักปานกลาง: ทำงานได้ดีบนฮาร์ดแวร์มาตรฐานหรือต่ำสมัยใหม่ — GNOME 3, Cinnamon, MATE, Pantheon
- DE เบา: เหมาะสำหรับฮาร์ดแวร์เก่า — XFCE, LXDE
ความสามารถในการกำหนดค่า (Configurability)
DE ใหม่ๆ มักกำหนดค่าน้อยกว่า — เน้นดีไซน์เฉพาะที่ไม่ให้ปรับแต่งมากเท่า DE เก่า
- DE กำหนดค่าได้สูง: XFCE, LXDE, Cinnamon, MATE, KDE
- DE กำหนดค่าได้น้อย: Deepin, GNOME 3, Pantheon
กรณีการใช้งาน (Use Cases)
Distribution ไหนดีที่สุดสำหรับคุณ? ขึ้นอยู่กับกรณีใช้งาน:
- ฮาร์ดแวร์เก่า: Distribution "ดั้งเดิม" ที่ใช้ SysV init และ Kernel 32-bit คู่กับ DE เบาอย่าง XFCE — MX Linux เป็นจุดเริ่มต้นที่ดี
- ฮาร์ดแวร์ระดับสูง + ผู้ชอบเล่นระบบ: Manjaro Linux ทำงานได้ดี
- อยากลึกลงไปในระบบปฏิบัติการ: ลอง Slackware สร้างขึ้นมือผ่านไฟล์ config ให้ควบคุมได้เต็มที่ — แต่ต้องรู้หรือยินดีเรียนรู้สิ่งที่ทำ
- ฮาร์ดแวร์สมัยใหม่ที่ "ทำงานได้เลย": ผู้ใช้ Linux มือใหม่อยากย้ายมา Ubuntu Linux หรือ Linux Mint สำหรับ Distribution ที่เรียบง่ายElegan ตกแต่ง Elementary OS