การจัดการ Linux Package (ตอนที่ 1)
เข้าใจ Package Management บน Linux: พื้นฐานสำคัญของผู้ดูแลระบบ
ระบบปฏิบัติการลินุกซ์ (Linux) ถือเป็นแกนหลักของเซิร์ฟเวอร์และระบบฝังตัวจำนวนมากทั่วโลก การจัดการแพ็กเกจ (Package Management) คือหนึ่งในทักษะสำคัญที่ผู้ดูแลระบบ (System Administrator) และผู้พัฒนาโปรแกรมต้องมีความเข้าใจอย่างลึกซึ้ง เนื่องจากเป็นกระบวนการที่เกี่ยวข้องกับการติดตั้ง อัปเดต ลบ หรือดูแลซอฟต์แวร์ต่าง ๆ ในระบบ Linux อย่างมีประสิทธิภาพ
Linux แต่ละตระกูลมีระบบจัดการแพ็กเกจที่แตกต่างกัน เช่น apt สำหรับ Debian/Ubuntu, dnf หรือ yum สำหรับ Red Hat/CentOS/Rocky Linux, และ zypper สำหรับ openSUSE เป็นต้น เครื่องมือเหล่านี้ช่วยให้การจัดการซอฟต์แวร์มีความสะดวก ปลอดภัย และลดความเสี่ยงจากความขัดแย้งของไฟล์หรือไลบรารีภายในระบบ
ประเภทของ Package Manager
• .tgz, .tar.gz, .tar.bz2 : เป็นต้นฉบับซอฟต์แวร์สามารถติดตั้งได้บนระบบลีนุกซ์ทุกสายพันธ์ อาทิ
Slackware หรือระบบบีเอสดีอย่าง FreeBSD, OpenBSD และ NetBSD
• .rpm, .srpm : RPM ย่อมาจาก Red Hat Package Manager หรือ RPM Package Manager) เป็นแพ็กเกจที่พัฒนาขึ้นโดยบริษัท RedHat สามารถนำไปติดตั้งลีนุกซ์สายพันธ์ Red Hat อาทิ Red Hat Enterprise Linux, Fedora, CentOS, SUSE Linux Enterprise, OpenSuSE, Rocky Linux, AlmaLinux, IPCop,
Endian Firewall, ClearOS, SME Server, OpenNode โดยต้นฉบับแพ็กเกจจะมีนามสกุลเป็น .srpm
• .deb : เป็นแพ็กเกจสำหรับติดตั้งบนลีนุกซ์ Debian, Ubuntu, Mint, Zentyal
• ebuild : เป็นแพ็กเกจสำหรับติดตั้งบนระบบ Gentoo Linux
• PUP และ PET : เป็นแพ็กเกจสำหรับติดตั้งบน Puppy Linux
• zypper เป็นแพ็กเกจสำหรับติดตั้งบนระบบ openSUSE Linux
• pacman เป็นแพ็กเกจสำหรับติดตั้งบนระบบ Arch Linux
โครงสร้างของ Package
แพ็กเกจของ Linux มักมีนามสกุล .deb (สำหรับ Debian-based) หรือ .rpm (สำหรับ RHEL-based) โดยในแต่ละแพ็กเกจจะประกอบด้วย
- ไฟล์ไบนารี (Binary)
- ไฟล์ config
- Metadata (ชื่อเวอร์ชัน, dependency ฯลฯ)
- Script สำหรับติดตั้งหรือถอนการติดตั้ง
คำสั่งที่ควรรู้ในระบบ Debian/Ubuntu
- sudo apt update # อัปเดตดัชนีแพ็กเกจ
- sudo apt upgrade # อัปเดตแพ็กเกจทั้งหมด
- sudo apt install nginx # ติดตั้ง nginx
- sudo apt remove nginx # ลบ nginx โดยไม่ลบ config
- sudo apt purge nginx # ลบ nginx พร้อม config
คำสั่งพื้นฐานในระบบ RHEL/CentOS/Rocky/AlmaLinux
- sudo dnf install httpd # ติดตั้ง Apache
- sudo dnf update # อัปเดตแพ็กเกจทั้งหมด
- sudo dnf remove httpd # ถอนการติดตั้ง Apache
- sudo dnf search php # ค้นหาแพ็กเกจที่เกี่ยวกับ PHP
การเพิ่มแหล่งที่มา (Repository)
การเพิ่ม repo ช่วยให้สามารถติดตั้งแพ็กเกจที่ไม่มีใน default ได้ เช่น EPEL บน RHEL
- sudo dnf install epel-release
จัดการ Dependency และการพึ่งพาแพ็กเกจ
ระบบ Package Manager จะตรวจสอบ Dependency ให้อัตโนมัติ และจะติดตั้งหรือเตือนหากพบปัญหา โดยเฉพาะเมื่อมีการอัปเกรดข้ามเวอร์ชัน
สรุป
การจัดการแพ็กเกจในระบบ Linux เป็นพื้นฐานที่ขาดไม่ได้ในการดูแลระบบ ไม่ว่าจะเป็นการติดตั้งซอฟต์แวร์ อัปเดตระบบ หรือรักษาความปลอดภัย โดยเครื่องมืออย่าง apt, dnf, yum หรือ pacman ช่วยให้การจัดการซอฟต์แวร์มีความเป็นระเบียบและมีประสิทธิภาพมากขึ้น
—
เขียนและรวบรวมโดย
Dr.Arnut Ruttanatirakul
Technology Lecturer, KMITL
22 June 2025
Copyright by SysAdmin Knowledge.
https://www.sysadmin.in.th