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

บราวเซอร์ ตัวแอพพลิเคชั่นบราวเซอร์เองก็ต้องอาศัยซอฟต์แวร์ที่ทำหน้าที่จัดการโปรโตคอลด้านความปลอดภัย (security protocal) อย่างโปรโตคอล ssl หรือ tls เพื่อให้สามารถเรียกเว็บที่เป็น https ได้ ดังนั้นจะเห็นว่าการติดตั้งหรือปรับปรุงซอฟต์แวร์สักตัวจะต้องรู้ว่ามีการใช้งานซอฟต์แวร์อื่นๆอะไรด้วยบ้าง ดังนั้นลินุกซ์แต่ละดิสทริบิวชั่นจึงจัดเตรียมเครื่องมือเพื่อช่วยให้การติดตั้งซอฟต์แวร์ทำได้ครบถ้วนสมบูรณ์โดยจัดการตรวจสอบและติดตั้งซอฟต์แวร์ต่างๆที่ต้องใช้งานด้วยกัน (dependency) เราเรียกเครื่องมือนี้ว่าตัวจัดการแพคเกจ (package management) 

     ตัวจัดการแพคเกจสามารถแบ่งออกเป็นซอฟต์แวร์หลักๆได้สองตัวคือตัวจัดการแพคเกจในระดับล่าง (low level package management) ซึ่งจะทำหน้าที่ในการติดตั้งแพคเกจแต่ละตัว และตัวจัดการแพคเกจในระดับบน (high level package management) ซึ่งจะคอยดูและจัดการแพคเกจตัวอื่นๆที่เกี่ยวข้องให้โดยที่เราไม่ต้องยุ่งยากในการจัดการด้วยตัวเอง นอกจากนี้แล้วแต่ละดิสทริบิวชั่นยังสร้าง user interface ครอบไปบนตัวจัดการแพคเกจในระดับบนอีกทีเพื่อให้ง่ายต่อการใช้งาน

     สำหรับแฟมิลี่เดเบี้ยนตัวจัดการแพคเกจในระดับล่างคือแอพพลิเคชั่น dpkg ส่วน ตัวจัดการแพคเกจในระดับบนคือแอพพลิเคชั่น APT สำหรับส่วนติดต่อกับผู้ใช้งานก็จะแตกต่างกันไปตามแต่ละดิสโทร เช่น apt, aptitude, synaptic, Ubuntu Software Center, Update Manager เป็นต้น 

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

    การค้นหา ปรับปรุงรายการซอฟต์แวร์ การติดตั้ง การถอน ซอฟต์แวร์สำหรับแฟมิลี่เดเบี้ยนใช้คำสั่ง apt เนื่องจากการใช้งาน apt ต้องการสิทธิ root ดังนั้นในการใช้งานจึงต้องกำกับด้วยคำสั่ง sudo 

คำสั่ง sudo apt update : เป็นการปรับปรุงฐานข้อมูลแพคเกจภายในเครื่องของเราให้เป็นข้อมูลล่าสุด ไม่เช่นนั้นระบบจะไม่รู้ว่ามีแพคเกจใหม่ๆอะไรบ้าง และะทราบว่ามีแพคเกจใดบ้างที่ต้องการปรับปรุงเป็นเวอร์ชั่นล่าสุด

คำสั่ง sudo apt upgrade หรือ sudo apt full-upgrade : เป็นการปรับปรุงแพคเกจให้เป็นเวอร์ชั่นล่าสุด โดยคำสั่ง sudo apt full-upgrade จะถอนแพคเกจเก่าออกให้ด้วย

คำสั่ง sudo apt install packagename : เป็นการติดตั้งแพคเกจที่ต้องการ โดย packagename เป็นชื่อของแพคเกจที่ต้องการติดตั้ง

คำสั่ง sudo apt remove packagename : เป็นการถอนแพคเกจที่ต้องการ โดย packagename เป็นชื่อของแพคเกจที่ต้องการถอน

คำสั่ง sudo apt purge packagename : เป็นการถอนแพคเกจที่ต้องการพร้อมกับถอนไฟล์การตั้งค่าของแพคเกจออกไปด้วย โดย packagename เป็นชื่อของแพคเกจที่ต้องการถอน

คำสั่ง sudo apt search name : โดย name เป็นชื่อของโปรแกรมหรือแอพพลิเคชั่นที่ต้องการค้นหารวมถึงสามารถค้นหาข้อความที่ต้องการจากข้อมูลที่เป็นคำอธิบายของแพคเกจด้วย 

คำสั่ง sudo apt list : เป็นคำสั่งที่ใช้แสดงรายชื่อแพคเกจโดยถ้าเราใช้ออบชั่น –upgraderable จะแสดงรายชื่อแพคเกจที่มีเวอร์ชั่นใหม่กว่ารอให้ปรับปรุง หรือ –installed จะแสดงรายชื่อแพคเกจที่ติดตั้งในเครื่องของเรา หรือ –all -versions จะแสดงรายชื่อแพคเกจทั้งหมดที่เราสามารถติดตั้งได้

คำสั่ง sudo apt autoremove : เป็นคำสั่งที่ใช้ถอนแพคเกจที่ไม่ได้ใช้งานเนื่องจากแพคเกจหลักถูกถอนออกไปก่อนหน้านี้แล้ว

ภาพแสดงโครงสร้างตัวจัดการแพคเกจของเดเบี้ยน

     สำหรับแฟมิลี่เฟโดร่านั้นตัวจัดการแพคเกจในระดับล่างคือแอพพลิเคชั่น Red Hat Package Manager (RPM – พัฒนาโดย Red Hat) ส่วน ตัวจัดการแพคเกจในระดับบนรวมไปถึงส่วนติดต่อกับผู้ใช้งานคือแอพพลิเคชั่น yum 

     การปรับปรุงรายการเพคเกจในเครื่องใช้คำสั่ง yum update การติดตั้งซอฟต์แวร์ใช้คำสั่ง yum install packagename การถอดถอนโปรแกรมใช้คำสั่ง yum remove packagename การค้นหาแพคเกจใช้คำสั่ง yum search packagename และการแสดงรายการแพคเกจใช้คำสั่ง yum list

ภาพแสดงโครงสร้างตัวจัดการแพคเกจของเฟโดร่า

     ส่วนแฟมิลี่ซูเซ่อนั้นตัวจัดการแพคเกจแพคเกจในระดับล่างคือ RPM ตัวจัดการแพคเกจในระดับบนคือแอพพลิเคชั่น zypper

     การปรับปรุงรายการเพคเกจในเครื่องใช้คำสั่ง zypper update การติดตั้งซอฟต์แวร์ใช้คำสั่ง zypper install packagename การถอนโปรแกรมใช้คำสั่ง zypper remove packagename การค้นหาแพคเกจใช้คำสั่ง zypper search packagename และการแสดงรายการแพคเกจใช้คำสั่ง zypper list

ภาพแสดงโครงสร้างตัวจัดการแพคเกจของ SUSE

     สรุปคือเราใช้งานตัวติดตั้งที่เป็น High Level Package Management เป็นหลักในการในติดตั้งหรือถอดถอนแพคเกจต่างๆ

ภาพแสดงโครงสร้างตัวจัดการแพคเกจ

      ในอูบุญตู Ubuntu หากเราเรียกใช้งานโปรแกรมที่ยังไม่ได้มีการติดตั้งไว้ ระบบจะแจ้งให้เราทราบและบอกคำสั่งที่เราต้องใช้ในการติดตั้ง ตัวอย่างเช่น

ภาพแสดงข้อความเมื่อเรียกใช้โปรแกรมที่ยังไม่ได้ติดตั้ง

ตัวอย่างการใช้งานตัวติดตั้งแพคเกจของ Ubuntu โดยใช้คำสั่ง

     เนื่องจาก Ubuntu Desktop ไม่ได้ติดตั้งโปรแกรม Apache ซึ่งเป็นโปรแกรมที่ทำให้เครื่องคอมพิวเตอร์เป็น web server เราจึงจะทดลองติดตั้งโปรแกรม Apache โดยใช้แบบคำสั่งดังนี้

1. ทดสอบว่า Ubuntu Desktop ไม่ได้ติดตั้งโปรแกรม Apache มาให้โดยเรียกเวบเพจจาก http://127.0.01  ซึ่ง 127.0.01 เรียกว่า ip loop back คือการเรียกมาที่เครื่องตัวเอง

ภาพแสดงหน้าจอในกรณีที่ไม่มี Web Server เพื่อตอบรับ request

2. เปิดใช้หน้าต่างคอนโซลโดยการกดปุ่ม Ctrl +  Alt +  T

ภาพแสดงหน้าจอคอนโซล

3 . ค้นหาโปรแกม Apache ด้วยคำสั่ง  atp search apache และเราต้องใช้คำสั่ง sudo ด้วยเพราะการใช้ตัวติดตั้งแพคเกจต้องใช้สิทธิของ root ซึ่งระบบจะสอบถามให้ใส่รหัสผ่านของชื่อผู้ใช้งานที่เราใช้ log in เข้าระบบ หน้าจอจะแสดงชื่อโปรแกรมและข้อมูลที่มีคำว่า apache ขึ้นมามากมาย โดยเราเลือกติดตั้งโปรแกรม apache2 ซึ่งเป็นโปรแกรม Apache HTTP server

ภาพแสดงการใช้คำสั่ง apt search

4. ติดตั้งโปรแกรมโดยใช้คำสั่ง sudo apt install apache2 (ถ้าเราทำงานต่อเนื่องในหน้าต่างเดิมถึงแม้จะใช้คำสั่ง sudo ก็จะไม่ต้องใส่รหัสผ่านอีก)

ภาพแสดงการใช้คำสั่ง apt install

5. เราตรวจสอบว่าติดตั้งโปรแกรม apache2 แล้วด้วยคำสั่ง sudo apt policy apache2

ภาพแสดงการใช้คำสั่ง apt policy

6. หลังจากติดตั้งโปรแกรม apache2 แล้ว เราสั่งให้โปรแกรมทำงานด้วยคำสั่ง sudo /etc/init.d/apache2 start

ภาพแสดงการสตาร์ตโปรแกรม apache

7. เราทดสอบว่า apache2 ทำงานได้โดยทดลองเรียกใช้เว็บเพจจากเครื่องตัวเองอีกครั้ง ซึ่งโปรแกรม  apache2 จะแสดงหน้าเว็บเพจตั้งต้นขึ้นมา

ภาพแสดงหน้าเว็บหลังจากติดตั้ง apache

ตัวอย่างการใช้งานตัวติดตั้งแพคเกจของ Ubuntu โดยใช้ Graphic User Interface

1. สำหรับการติดตั้งผ่านหน้าจอ desktop ของ Ubuntu 18.10 สามารถทำได้โดยคลิกที่ไอคอน Ubuntu Software (ไอคอนรูปอักษร A) จากนั้นคลิกเลือกโปรแกรมที่ต้องการ

ภาพแสดงหน้าต่าง ubuntu software

2. หน้าต่างติดตั้งของโปรแกรมที่ต้องการติดตั้งจะเปิดขึ้นมา ถ้าต้องการติดตั้งให้กดปุ่ม Install

ภาพแสดงหน้าจอในการติดตั้งโปรแกรม