ค้นหาเว็บไซต์

3 Universal Package Manager ที่ดีที่สุดสำหรับ Linux ในปี 2023


การจัดการแพ็คเกจหรือการติดตั้งซอฟต์แวร์บนระบบ Linux อาจเป็นเรื่องที่น่าสงสัยโดยเฉพาะสำหรับมือใหม่ (ผู้ใช้ Linux ใหม่) เนื่องจาก Linux รุ่นต่างๆ จะใช้ระบบการจัดการแพ็คเกจแบบดั้งเดิมที่แตกต่างกัน ส่วนที่สับสนที่สุดในกรณีส่วนใหญ่คือการแก้ไข/การจัดการการขึ้นต่อกันของแพ็คเกจ

ตัวอย่างเช่น การแจกแจงแบบ Debian เช่น Ubuntu และ Linux Mint ใช้แพ็คเกจ .deb ซึ่งได้รับการจัดการผ่านระบบการจัดการแพ็คเกจ dpkg

ในทางกลับกัน การกระจายแบบอิง RHEL เช่น CentOS Stream, Rocky Linux และ AlmaLinux ใช้ .rpm แพ็คเกจซึ่งจัดการโดยใช้ระบบการจัดการแพ็คเกจ rpm

ในช่วงไม่กี่ปีที่ผ่านมา การจัดการแพ็คเกจและการจัดจำหน่ายในระบบนิเวศของ Linux ไม่เคยเหมือนเดิมอีกต่อไป หลังจากที่เครื่องมือการจัดการแพ็คเกจแบบสากลหรือแบบข้ามการกระจายเพิ่มขึ้น

เครื่องมือเหล่านี้ช่วยให้นักพัฒนาจัดทำแพ็คเกจซอฟต์แวร์หรือแอพพลิเคชั่นของตนสำหรับ Linux หลายๆ รุ่นได้จากบิลด์เดียว ทำให้ผู้ใช้สามารถติดตั้งแพ็คเกจเดียวกันบน Linux หลายๆ รุ่นที่รองรับได้อย่างง่ายดาย

ในบทความนี้ เราจะตรวจสอบระบบการจัดการแพ็คเกจสากลหรือแบบกระจายข้ามโอเพ่นซอร์ส 3 อันดับแรกสำหรับ Linux

1. Snap – รูปแบบแพ็คเกจสากล

Snap คือแอปพลิเคชันโอเพ่นซอร์ส/รูปแบบแพ็คเกจยอดนิยม และระบบการจัดการแพ็คเกจที่พัฒนาโดย Canonical ผู้ผลิต Ubuntu Linux Linux หลายๆ รุ่นรองรับ snaps แล้ว เช่น Ubuntu, Debian, Fedora, Arch Linux, Manjaro และ CentOS/RHEL

ติดตั้งและอัพเดตได้ง่าย

แอปพลิเคชัน snap คือแอปพลิเคชันแบบกระจายข้ามที่รวมการขึ้นต่อกันทั้งหมด (ไม่ขึ้นต่อกัน) เพื่อการติดตั้งที่ง่ายดายพร้อมการอัปเดตอัตโนมัติ (แอปพลิเคชันจะอัปเดตอยู่เสมอ) บนการกระจาย Linux ใด ๆ ที่รองรับ snaps Snap สามารถทำงานบนเดสก์ท็อป เซิร์ฟเวอร์ ในระบบคลาวด์ หรือ IoT (Internet of Things)

หากต้องการสร้างหรือสแน็ปแอปพลิเคชัน คุณต้องใช้ Snapcraft เฟรมเวิร์ก และเครื่องมือบรรทัดคำสั่งที่มีประสิทธิภาพสำหรับการสร้างสแนป หากต้องการติดตั้งและใช้ snaps ใน Linux คุณต้องติดตั้ง snapd (หรือ snappy daemon) ซึ่งเป็นบริการพื้นหลังที่ช่วยให้ระบบ Linux ทำงานกับไฟล์ .snap ได้ การติดตั้ง snaps จริงทำได้โดยใช้เครื่องมือบรรทัดคำสั่ง snap

การรักษาความปลอดภัยและการแยกตัว

เนื่องจากทำงานภายใต้การจำกัด (ระดับการจำกัดที่แตกต่างกันและกำหนดค่าได้) สแนปจึงมีความปลอดภัยตามค่าเริ่มต้น ที่สำคัญ สแน็ปที่ต้องเข้าถึงทรัพยากรระบบนอกพื้นที่จำกัดนั้นใช้ “อินเทอร์เฟซ ” ที่ได้รับการคัดเลือกมาอย่างดีโดยผู้สร้างสแนป โดยอิงตามความต้องการของสแนป สิ่งนี้ช่วยให้คุณสามารถเรียกใช้แอปพลิเคชันได้โดยไม่กระทบต่อความเสถียรและความยืดหยุ่นของระบบปฏิบัติการพื้นฐาน

นอกจากนี้ ระบบการจัดการแพ็คเกจ snap ใช้แนวคิดที่เรียกว่า ช่องทาง (ซึ่งประกอบด้วยและแบ่งย่อยตามเส้นทาง ระดับความเสี่ยง และสาขา) เพื่อกำหนดว่ารุ่นใดของ snap ที่ได้รับการติดตั้งและติดตามสำหรับการอัปเดต Snaps ยังอัปเดตอัตโนมัติ ซึ่งเป็นกระบวนการที่คุณสามารถจัดการได้ด้วยตนเอง

หากต้องการค้นหาและติดตั้งสแนป ให้ค้นหาในร้านค้าสแน็ปอิน (สถานที่ที่นักพัฒนาสามารถแชร์สแนปของตนได้) หรืออ่านเพิ่มเติมเกี่ยวกับสแน็ปอินโดยใช้คำแนะนำของเรา:

2. Flatpak – ความเข้ากันได้แบบกระจายข้าม

Flatpak เป็นเฟรมเวิร์กโอเพ่นซอร์สที่รู้จักกันดีสำหรับการเผยแพร่แอปพลิเคชันเดสก์ท็อปบน Linux Flatpak พัฒนาโดยชุมชนอิสระ ทำให้สามารถติดตั้งและรันแอปพลิเคชันเดียวบน Linux แทบทุกรุ่น

รองรับการกระจายทั้งหมด 25 รูปแบบ รวมถึง Fedora, Ubuntu, RHEL, CentOS, OpenSUSE และ Arch Linux และยังทำงานบน Raspberry Pi อีกด้วย

รันไทม์ของ Flatpak มอบแพลตฟอร์มของไลบรารีทั่วไปที่แอปพลิเคชันสามารถใช้ประโยชน์ได้ อย่างไรก็ตาม มันยังช่วยให้คุณควบคุมการขึ้นต่อกันอย่างสมบูรณ์ได้อย่างง่ายดายอีกด้วย คุณสามารถรวมไลบรารีของคุณเป็นส่วนหนึ่งของแอปพลิเคชันของคุณได้

Flatpak มาพร้อมกับเครื่องมือสร้างที่ใช้งานง่ายและมีสภาพแวดล้อมที่สอดคล้องกัน (เหมือนกันในอุปกรณ์ต่างๆ และคล้ายกับที่ผู้ใช้มีอยู่แล้ว) สำหรับนักพัฒนาซอฟต์แวร์ในการสร้างและทดสอบแอปพลิเคชันของตน

Sandboxing เพื่อเพิ่มความปลอดภัย

Flatpak ทำให้สิ่งต่าง ๆ ปลอดภัยโดยการวางแต่ละแอปไว้ในแซนด์บ็อกซ์ ด้วยวิธีนี้ แอปจะไม่ยุ่งกับระบบหลักหรือแอปอื่น ๆ มันมีประโยชน์มากเมื่อคุณจัดการกับแอพจากแหล่งที่คุณไม่แน่ใจ

เป็นมิตรกับผู้ใช้และนักพัฒนา

ด้านที่เป็นประโยชน์ของ flatpak คือความเข้ากันได้แบบส่งต่อ โดยที่ flatpak เดียวกันสามารถทำงานบนเวอร์ชันที่แตกต่างกันของการเผยแพร่เดียวกัน รวมถึงเวอร์ชันที่นักพัฒนาซอฟต์แวร์ยังไม่ได้เปิดตัวด้วย นอกจากนี้ยังมุ่งมั่นและยังคงเข้ากันได้กับลินุกซ์เวอร์ชันใหม่

หากคุณเป็นนักพัฒนา คุณสามารถทำให้แอปพลิเคชันของคุณพร้อมใช้งานสำหรับผู้ใช้ Linux ผ่านทาง Flathub ซึ่งเป็นบริการแบบรวมศูนย์สำหรับการเผยแพร่แอปพลิเคชันในทุกการกระจาย

3. AppImage: ทางเลือกแบบพกพา

AppImage ยังเป็นรูปแบบแพ็คเกจโอเพ่นซอร์สที่ช่วยให้นักพัฒนาสามารถจัดแพ็คเกจแอปพลิเคชันได้เพียงครั้งเดียว ซึ่งทำงานบนเดสก์ท็อป Linux รุ่นหลักๆ ทั้งหมด ต่างจากรูปแบบแพ็คเกจก่อนหน้านี้ เมื่อใช้ AppImage คุณไม่จำเป็นต้องติดตั้งแพ็คเกจ เพียงดาวน์โหลดแอปพลิเคชันที่คุณต้องการใช้ ทำให้สามารถเรียกใช้งานได้ และเปิดใช้งาน ง่ายมาก รองรับเดสก์ท็อป Linux 32 บิตและ 64 บิตส่วนใหญ่

ไม่จำเป็นต้องติดตั้ง

ด้วย AppImage คุณไม่จำเป็นต้องติดตั้งอะไรเลย คุณสามารถใส่แพ็คเกจเหล่านี้ลงในไดรฟ์ USB แชร์ และรันแอพโดยไม่ต้องเปลี่ยนระบบของคุณ นี่เป็นสิ่งที่ยอดเยี่ยมสำหรับ Linux แบบพกพาและระบบถ่ายทอดสด

ความเข้ากันได้กว้าง

AppImage มาพร้อมกับข้อดีมากมาย สำหรับนักพัฒนา ช่วยให้สามารถเข้าถึงผู้ใช้ได้มากที่สุดเท่าที่จะเป็นไปได้ ไม่ว่าผู้ใช้รุ่นและรุ่น Linux จะทำงานอยู่ก็ตาม สำหรับผู้ใช้ พวกเขาไม่จำเป็นต้องกังวลเกี่ยวกับการขึ้นต่อกันของแอปพลิเคชัน เนื่องจาก AppImage ทุกตัวจะรวมเข้ากับการขึ้นต่อกันทั้งหมด (หนึ่งแอป=หนึ่งไฟล์) การลองใช้แอปพลิเคชันเวอร์ชันใหม่ก็ทำได้ง่ายด้วย AppImage

สำหรับผู้ดูแลระบบที่รองรับระบบเดสก์ท็อปจำนวนมากและโดยปกติจะบล็อกผู้ใช้ไม่ให้ติดตั้งแอปพลิเคชันที่อาจทำให้ระบบเสียหาย พวกเขาไม่จำเป็นต้องกังวลอีกต่อไป ด้วย AppImage ระบบจะยังคงไม่เสียหาย เนื่องจากผู้ใช้ไม่จำเป็นต้องติดตั้งแอปเพื่อเรียกใช้งาน

การเปรียบเทียบ Trio: Snap, Flatpak และ AppImage

นี่คือการเปรียบเทียบตัวจัดการแพ็คเกจสากลสามตัว:

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

ฉันควรเลือกตัวจัดการแพ็คเกจใด

หากคุณกำลังมองหาตัวจัดการแพ็คเกจที่ปลอดภัยและใช้งานง่ายพร้อมการอัปเดตอัตโนมัติ Snap เป็นตัวเลือกที่ดี หากคุณกำลังมองหาตัวจัดการแพ็คเกจที่ยืดหยุ่นมากขึ้นซึ่งสามารถใช้เพื่อจัดแพ็คเกจแอปพลิเคชันประเภทใดก็ได้ Flatpak เป็นตัวเลือกที่ดี หากคุณกำลังมองหาตัวจัดการแพ็คเกจที่ไม่จำเป็นต้องติดตั้งหรือมีสิทธิ์รูท AppImage เป็นตัวเลือกที่ดี

สิ่งสำคัญที่ควรทราบคือตัวจัดการแพ็คเกจทั้งสามยังอยู่ระหว่างการพัฒนา ดังนั้นอาจมีข้อบกพร่องหรือฟีเจอร์ที่ขาดหายไป อย่างไรก็ตาม พวกเขาทั้งหมดได้รับการดูแลและอัปเดตอย่างสม่ำเสมอ

บทสรุป

รูปแบบแพ็คเกจสากลหรือแบบกระจายข้ามเป็นเทคโนโลยียุคถัดไปสำหรับการสร้างและแจกจ่ายซอฟต์แวร์ในระบบนิเวศ Linux อย่างไรก็ตาม ระบบการจัดการบรรจุภัณฑ์แบบเดิมยังคงยึดมั่นอยู่

คุณคิดอย่างไร? แบ่งปันกับเราผ่านทางส่วนความคิดเห็น