Linux คืออะไร?
Linux Distributions คืออะไร?
เมื่ออ่านมาถึงหัวข้อนี้แล้วเราอาจรู้สึกว่า Linux นั้นคงต้องยุ่งยากในการติดตั้ง เพราะต้องไปดาวน์โหลด Components ต่างๆมาติดตั้งไม่ว่าจะเป็น Kernel, X Window, Window Manager, และอื่นๆอีกมากมาย แต่ในความเป็นจริงแล้วเรานิยมดาวน์โหลดและติดตั้ง Linux ในรูปของ Linux Distributions แล้ว Linux Distribution คืออะไร? เนื่องจากระบบปฏิบัติการ Linux เป็นระบบปฏิบัติการแบบโอเพนซอร์สซึ่งประกอบไปด้วยโอเพนซอร์ส Components ต่างๆ และเราสามารถรวบรวมและเลือกติดตั้งได้ตามแบบที่เราชอบ แต่ไม่ใช่เรื่องง่ายๆเลยเพราะ Components มีเป็นร้อยเป็นพัน ดังนั้นจึงมีกลุ่มคน (Communities) หรือบริษัทที่ได้รวบรวม Components ต่างๆเหล่านี้และประกอบร่างรวมเป็นระบบปฏิบัติการสำเร็จรูปและแจกจ่าย (Distribute) ออกมาอาทิเช่น Ubuntu, Redhat เป็นต้น เราจึงเรียกมันว่า Linux Distribution หรือสั้นๆว่า Linux Distro นั่นเอง แต่ละ Distro ก็จะมีแนวทางและรูปแบบในการสร้างของมันเอง ดังนั้นแต่ละ Distro จึงประกอบไปด้วย Components ที่แตกต่างกันไป ยกตัวอย่างเช่น
- บาง Distro ออกแบบมาสำหรับเครื่อง Server ก็อาจจะไม่มี GUI Components อยู่เลย
- บาง Distro ออกแบบมาสำหรับใช้งานเป็นเครื่อง Desktop อาจเลือกใช้ Gnome เป็น DE และเพิ่มลดโปรแกรมที่เหมาะสม
- บาง Distro ออกแบบมาสำหรับใช้งานเป็นเครื่อง Desktop แต่อาจเลือกติดตั้งเพียงแค่ Openbox เป็น Window Manager และโปรแกรมกับองค์ประกอบต่างๆที่จำเป็น โดยเน้นที่เรื่องของความเร็วและประสิทธิภาพ เพื่อให้สามารถใช้งานได้กับเครื่องรุ่นเก่าๆ (Lightweight Distro)
- บาง Distro ออกแบบมาสำหรับใช้ทำงานด้าน Multimedia จึงมีโปรแกรมและองค์ประกอบสำหรับงานด้านนี้โดยเฉพาะเป็นต้น
ดังนั้นเราจึงควรเลือก Distro ที่เหมาะสมกับการใช้งานเป็นจุดเริ่มต้น และปรับเปลี่ยนแก้ไของค์ประกอบต่างๆที่จำเป็นให้เหมาะกับความต้องการของเรา Linux Distros ที่เป็นที่นิยมได้แก่
- Ubuntu
- Fedora หรือ Redhat
- OpenSuse หรือ SuSe Enterprise
- Mandriva
- Debian
- Slackware
- PCLinuxOS
- Gentoo
- Arch
- และอื่นๆอีกมากมาย
แต่ละ Distro จะมีการจัดการกับ Components ต่างๆที่แตกต่างกันออกไป และจะเรียก Components ต่างๆว่า Packages ดังนั้นในการติดตั้งโปรแกรมหรือ Components เพิ่มเติม ก็คือการจัดการกับ Packages นั่นเอง ซึ่งแต่ละ Distro ก็จะมีรูปแบบที่ยากง่ายช้าเร็วแตกต่างกันไป เพราะการติดตั้ง Package หนึ่งๆนั้นก็มักจะต้องมีการติดตั้ง Packages พื้นฐานที่จำเป็นเสียก่อน (หรือ Dependencies นั่นเอง) การจัดการ Packages จึงเป็นอีกหนึ่งเงื่อนไขที่ใช้ในการเลือก Distro ด้วย
หากคุณต้องการรายชื่อ Distros ต่างๆและรายละเอียดแบบคร่าวๆของ Distros นั้นๆ คุณสามารถเข้าไปดูได้ที่ เว็บไซต์ www.distrowatch.com ที่เว็บไซต์นี้มีการจัดอันดับ Distros หนึ่งร้อยอันดับแรกด้วย (ในโอกาสต่อไปจะแนะนำ Distros ที่น่าสนใจ)
Linux น่าใช้หรือไม่?
ทุกระบบปฏิบัติการมีทั้งข้อดีและข้อด้อยในตัวมันเอง ดังนั้นในหัวข้อนี้เราจะไม่มาโจมตีหรือเปรียบเทียบกับระบบปฏิบัติการอื่น แต่เราจะมาพิจารณาที่ข้อดีและข้อด้อยของ Linux เท่านั้น
ข้อดี- เป็นระบบปฏิบัติการแบบโอเพนซอร์ส ทำให้เราไม่ต้องเสียค่าลิขสิทธิ์ในการใช้งาน (แต่ถ้าคุณพร้อมที่จะจ่ายเพื่อแลกกับสิ่งที่จะได้มา ก็ลองดูข้อถัดไป)
- มีโปรแกรมที่เป็นโอเพนซอร์สต่างๆมากมายให้เลือกใช้ (หากพร้อมที่จะจ่าย ก็ดูข้อถัดไปอีกเช่นกัน)
- เป็นระบบที่มีประสิทธิภาพในแง่การใช้ทรัพยากร อาทิเช่นเปิดปิดเครื่องได้เร็วแม้มีสเปกเครื่องที่ต่ำมาก เป็นต้น ทั้งนี้เพราะเราสามารถเลือก Distro และโปรแกรมประเภท Lightweight นั่นเอง นี่คือข้อดีอีกอย่างของโอเพนซอร์ส ที่หลายคนมักมองโอเพนซอร์สแต่เพียงว่าของฟรี*
- เป็นระบบที่มีความปลอดภัยสูง (ถึงแม้จะไม่ 100%) เพราะถ้ามี Bugs ภายในซอร์สโค้ดที่เป็นช่องโหว่ได้ ก็จะมีคนพบและรายงานไปยังผู้ที่รับผิดชอบเสมอ หรือแม้แต่แก้ไขให้แล้วส่งกลับไป (ประโยชน์ของโอเพนซอร์สอีกแล้ว)
- ไม่ค่อยต้องกังวลกับไวรัส เพราะไม่ค่อยจะมีหรือแทบจะไม่มีไวรัสบน Linux (ผมเองไม่เคยติดตั้งโปรแกรมจัดการกับไวรัสบนเครื่อง Linux เลย เวลาเจอไฟล์แปลกๆบนแฟลชไดร์ฟก็ลบมันทิ้งไปได้เลย) อันนี้บอกเหตุผลที่แน่นอนไม่ได้เพราะยังไม่ได้ไปศึกษาหาข้อมูลที่แท้จริง แต่มันคือข้อดีที่สัมผัสได้จริง
- ทุกปัญหาที่เกิดขึ้นมีทางแก้ไขเสมอ คุณเพียงแค่ค้นหาข้อมูลในอินเทอร์เน็ตเท่านั้น มีผู้คนมากมายที่พร้อมจะแบ่งปันความรู้เกี่ยวกับ Linux
- ดาวน์โหลดโปรแกรมที่ต้องการใช้ได้ง่ายดายมากๆ เน้นว่ามากๆ เพราะ Linux ทุกตัวจะมี Repo หรือคลังเก็บ Packages ต่างๆอยู่บนอินเทอร์เน็ต คุณแค่เปิดโปรแกรมจัดการ Packages ขึ้นมาแล้วค้นหาติดตั้งได้เลย ไม่ต้องไปไล่หาดาวน์โหลดจากเว็บไซต์ต่างๆ แต่หากจะดาวน์โหลดมาติดตั้งเองก็ทำได้ หรือแม้แต่เอาซอร์สโค้ดมาดัดแปลงก็ได้ (แต่มันก็เป็นข้อด้อยได้เหมือนกัน ดูได้ที่เรื่องข้อด้อย)
- สุดท้ายเลยแล้วกัน Linux เป็นระบบที่มีความยืดหยุ่นและมีทางเลือกมากมาย ทุกอย่างปรับเปลี่ยนได้หมดแม้แต่สเต็ปในการบูทเครื่อง ไม่มีอะไรมาบังคับรูปแบบการใช้งานเราได้ เอาแค่ Distro สำเร็จรูปก็เกินร้อยแล้ว ยังไงก็ต้องมีที่ใกล้เคียงกับความต้องการของเรา (ผมเองใช้ Ubuntu แต่จะใช้ Openbox ก็ดัดแปลงเองได้ แม้ว่าจะมี CrunchBang Linux ที่ใกล้เคียงความต้องการแล้วก็ตาม)
ดูแต่ข้อดีแล้วมาดูข้อด้อยบ้าง ผมไม่อยากใช้คำว่าข้อเสียนะครับ Linux เองก็มีข้อด้อยเหมือนกัน
ข้อด้อย- ต้องให้เวลากับการเรียนรู้ก่อนซึ่งใช้เวลามากพอสมควร แม้ว่า Distro ที่ใดๆจะโฆษณาว่าใช้ง่ายเพียงใดก็ตาม คุณก็ต้องเรียนรู้ก่อน ไม่ใช่ว่าเปิดปุ๊บใช้เป็นเลยเดาได้ทุกอย่าง บอกได้เลยว่าเป็นไปไม่ได้ และเพราะทางเลือกใน Linux นั้นมีความหลากหลายและมากมาย จึงทำให้การเรียนรู้นั้นใช้เวลาพอสมควร อาทิเช่นการ Configure ทำได้ทั้งแบบ CLI และแบบ GUI สุดท้ายต้องปูพี้นแบบ CLI ก่อนก็เลยใช้เวลามากขึ้น (แต่เมื่อรู้แล้วก็จะเป็นระบบที่ค่อนข้างสมบูรณ์แบบและได้ดังใจมากๆเลย)
- การติดตั้ง Packages นั้นจำเป็นต้องดาวน์โหลดจาก Repo ผ่านอินเทอร์เน็ต ไม่สามารถไปดาวน์โหลดเป็นชุดติดตั้งแล้วนำมาติดตั้งแบบ Offline ได้หรือทำได้ยาก เพราะจะติดปัญหาเรื่อง Packages พื้นฐานอื่นๆที่จำเป็น (A ต้องการ B ต้องการ C ต้องการ D . . .)
- Linux อาจจะมีปัญหาบ้างกับ Hardware ที่ออกมาใหม่ เนื่องจากบริษัทผู้ผลิตมักจะไม่ออกไดรเวอร์ที่ใช้กับ Linux โดยตรงหรืออาจจะออกมาช้ากว่าที่ทำให้กับระบบปฏิบัติการอื่น แต่ท้ายที่สุดแล้ว Linux ก็ใช้ได้กับทุกอุปกรณ์เพียงแต่ต้องรอสักระยะหนึ่ง ไดรเวอร์ใน Linux ไม่ได้มาในรูปของตัวติดตั้ง แต่จะมาพร้อมกับตัว Kernel เลยหรืออาจจะมาในลักษณะของ Package เสริมที่ Distro รวบรวมมาติดตั้งมาให้แล้ว เพราะฉะนั้นเราจึงต้องใช้หรืออัพเดท Linux เวอร์ชันให้ทันสมัยหากต้องการใช้งานกับ Hardware รุ่นใหม่ๆ
- อาจจะรันบางโปรแกรมไม่ได้ถ้าโปรแกรมนั้นไม่รองรับ Linux อย่างไรก็ตามทางแก้ก็พอมีคือหนึ่งอาจทำ Dual Boot คือมีมันหลายระบบปฏิบัติการเลยในเครื่องเดียวกัน หรือสองอาจรันระบบปฏิบัติการอื่นบนเทคโนโลยี Virtualization ก็ได้ ซึ่ง Linux ก็มีให้เลือกใช้มากมายและก็เป็นแบบโอเพนซอร์สด้วย
โดยรวมแล้ว Linux เป็นระบบปฏิบัติการที่ดีระบบหนึ่ง มีความยืดหยุ่นและประสิทธิภาพสูง หากเข้าใจและมีความรู้ในการใช้งานแล้ว คุณจะต้องชอบมัน !!
*Free ในโลกของโอเพนซอร์สไม่ได้หมายถึงฟรีค่าใช้จ่ายนะครับ แต่หมายถึง Freedom หมายถึงอิสระภาพในการเข้าถึงซอร์สโค้ดเพื่อดัดแปลงแก้ไขได้ตามใจชอบ จึงทำให้เกิดประโยชน์ที่ตามมามากมาย