วิธีใช้ apt และ apt-cache ในระบบ Debian
หากคุณเคยใช้ Debian หรือการกระจายแบบอิง Debian เช่น Ubuntu หรือ Linux Mint ก็มีโอกาสที่คุณจะใช้แพ็คเกจ apt ระบบเพื่อ ติดตั้ง หรือ ลบ ซอฟต์แวร์
แม้ว่าคุณจะไม่เคยลองใช้บรรทัดคำสั่งมาก่อน แต่ระบบพื้นฐานที่ขับเคลื่อนตัวจัดการแพ็คเกจ GUI ของคุณก็คือระบบ APT
วันนี้ เราจะมาดูคำสั่งที่คุ้นเคยบางส่วนซึ่งเจาะลึกคำสั่ง apt ที่ใช้น้อยหรือบ่อยกว่านั้น และให้ความกระจ่างเกี่ยวกับระบบที่ออกแบบมาอย่างยอดเยี่ยมนี้
เอพีทีคืออะไร?
APT ย่อมาจาก Advanced Package Tool ซึ่งพบเห็นครั้งแรกใน Debian 2.1 ย้อนกลับไปในปี 1999 โดยพื้นฐานแล้ว APT คือระบบการจัดการสำหรับแพ็คเกจ dpkg ดังที่เห็นในส่วนขยาย *.deb
ได้รับการออกแบบมาเพื่อไม่เพียง จัดการแพ็คเกจ และ การอัปเดต เท่านั้น แต่ยังเพื่อแก้ปัญหา ปัญหาการพึ่งพา มากมายเมื่อติดตั้งแพ็คเกจบางตัว
ในฐานะใครก็ตามที่เคยใช้ Linux ในยุคบุกเบิกเหล่านั้น เราทุกคนต่างคุ้นเคยกับคำว่า “นรกแห่งการพึ่งพา ” เมื่อพยายามรวบรวมบางสิ่งจากแหล่งที่มา หรือแม้แต่เมื่อต้องจัดการ พร้อมด้วยไฟล์ RPM เดี่ยวๆ ของ Red Hat จำนวนมาก
APT แก้ไขปัญหาการขึ้นต่อกันเหล่านี้ทั้งหมดโดยอัตโนมัติ ทำให้การติดตั้งแพ็คเกจใดๆ โดยไม่คำนึงถึงขนาดหรือจำนวนการขึ้นต่อกันเป็นคำสั่งบรรทัดเดียว
สำหรับพวกเราที่ทำงานหนักหลายชั่วโมงกับงานเหล่านี้ นี่เป็นหนึ่งในช่วงเวลา “ดวงอาทิตย์ที่แยกเมฆออก ” ใน ชีวิต Linux ของเรา!
ทำความเข้าใจกับการกำหนดค่า APT
ไฟล์ /etc/apt/sources.list เป็นไฟล์การกำหนดค่าที่ระบุพื้นที่เก็บข้อมูลที่ผู้จัดการแพ็กเกจ (apt) ดึงข้อมูลและติดตั้งแพ็คเกจซอฟต์แวร์ ไฟล์นี้ประกอบด้วยรายการ URL (Uniform Resource Locators) สำหรับที่เก็บข้อมูล พร้อมด้วยรายละเอียด เช่น ชื่อรหัสการแจกจ่ายและส่วนประกอบ
ต่อไปนี้เป็นตัวอย่างลักษณะของไฟล์ /etc/apt/sources.list:
sudo cat /etc/apt/sources.list
ดังที่คุณอาจอนุมานได้จากไฟล์ /etc/apt/sources.list ของฉัน ฉันใช้ Ubuntu 22.04 (ammy Jellyfish) ฉันยังใช้ที่เก็บสามแห่ง:
- พื้นที่เก็บข้อมูลหลัก
- พื้นที่เก็บข้อมูลจักรวาล
- พื้นที่เก็บข้อมูลความปลอดภัยของ Ubuntu
ไวยากรณ์ของไฟล์ /etc/apt/sources.list นั้นค่อนข้างง่าย:
deb (url) release repository
บรรทัดที่แนบมาคือที่เก็บไฟล์ต้นฉบับ เป็นไปตามรูปแบบที่คล้ายกัน:
deb-src (url) release repository
ไฟล์นี้เป็นเพียงสิ่งเดียวที่คุณจะต้องแก้ไขโดยใช้ APT และมีโอกาสที่ค่าเริ่มต้นจะให้บริการคุณได้ค่อนข้างดี และคุณไม่จำเป็นต้องแก้ไขเลย
อย่างไรก็ตาม มีบางครั้งที่คุณอาจต้องการเพิ่มที่เก็บข้อมูลของบุคคลที่สาม คุณเพียงแค่ป้อนโดยใช้รูปแบบเดียวกัน จากนั้นเรียกใช้คำสั่ง update:
sudo apt update
หมายเหตุ: โปรดคำนึงถึงการเพิ่มที่เก็บข้อมูลของบุคคลที่สาม!!! เพิ่มจากที่เชื่อถือได้และแหล่งที่มาที่มีชื่อเสียงเท่านั้น การเพิ่มที่เก็บข้อมูลหลบเลี่ยงหรือมิกซ์รีลีสอาจทำให้ระบบของคุณยุ่งเหยิงได้!
เราได้ดูไฟล์ /etc/apt/sources.list ของเราแล้ว และตอนนี้รู้วิธีอัปเดตแล้ว จะทำอย่างไรต่อไป มาติดตั้งแพ็คเกจกัน สมมติว่าเราใช้เซิร์ฟเวอร์และต้องการติดตั้ง WordPress
ขั้นแรก เรามาค้นหาแพ็คเกจกันก่อน:
sudo apt-cache search wordpress
APT-แคชคืออะไร?
Apt-Cache เป็นคำสั่งที่ใช้ค้นหา apt-cache เราส่งพารามิเตอร์การค้นหาไปให้ โดยระบุว่าเราต้องการค้นหา APT ดังที่เราเห็นข้างต้น การค้นหา “wordpress ” จะแสดงแพ็กเกจต่างๆ ที่เกี่ยวข้องกับสตริงการค้นหาพร้อมคำอธิบายสั้นๆ ของแต่ละแพ็กเกจ
จากนี้ เราเห็นแพ็คเกจหลักของ “wordpress – weblog manager” และเราต้องการติดตั้งมัน แต่จะดีกว่าไหมถ้าได้เห็นว่าจะมีการติดตั้งการพึ่งพาอะไรบ้างพร้อมกับมัน? apt สามารถบอกเราได้เช่นกัน:
sudo apt-cache showpkg wordpress
นี่แสดงให้เราเห็นว่า wordpress 5.8.3 เป็นเวอร์ชันที่จะติดตั้ง พื้นที่เก็บข้อมูลที่จะติดตั้ง การขึ้นต่อกันแบบย้อนกลับ และแพ็คเกจอื่นๆ ที่ต้องใช้ รวมถึงหมายเลขเวอร์ชันด้วย
หมายเหตุ: (null หมายความว่าไม่ได้กำหนดเวอร์ชันไว้ และเวอร์ชันล่าสุดในพื้นที่เก็บข้อมูลจะถูกติดตั้ง)
ตอนนี้คำสั่งการติดตั้งจริง:
sudo apt install wordpress
คำสั่งนั้นจะติดตั้ง WordPress-5.8.3 และการขึ้นต่อกันทั้งหมดที่ยังไม่ได้ติดตั้งในปัจจุบัน
แน่นอนว่านั่นไม่ใช่ทั้งหมดที่คุณสามารถทำได้ด้วย APT คำสั่ง apt ที่มีประโยชน์อื่นๆ มีดังนี้:
หมายเหตุ: แนวทางปฏิบัติที่ดีในการรัน apt update ก่อนที่จะรันชุดคำสั่ง apt ใดๆ โปรดจำไว้ว่า apt update จะแยกวิเคราะห์ไฟล์ /etc/apt/sources.list ของคุณและอัปเดตฐานข้อมูล
การถอนการติดตั้งแพ็คเกจนั้นง่ายพอ ๆ กับการติดตั้งแพ็คเกจ:
sudo apt remove wordpress
ขออภัย คำสั่ง apt Remove ทำให้ไฟล์การกำหนดค่าทั้งหมดไม่เสียหาย หากต้องการลบสิ่งเหล่านั้นออก คุณจะต้องใช้ apt purge:
sudo apt purge wordpress
บางครั้งคุณอาจพบสถานการณ์ที่มีการขึ้นต่อกันที่เสียหาย ซึ่งมักเกิดขึ้นเมื่อคุณไม่ได้รัน การอัปเดต apt อย่างถูกต้อง ส่งผลให้ฐานข้อมูลเสียหาย โชคดีที่ apt สามารถแก้ไขได้:
sudo apt –f install
เนื่องจาก apt ดาวน์โหลดไฟล์ *.deb ทั้งหมดจากพื้นที่เก็บข้อมูลไปยังเครื่องของคุณโดยตรง (เก็บไว้ใน /var/cache/apt/archives ) คุณอาจต้องการลบออกเป็นระยะๆ เพื่อเพิ่มพื้นที่ว่างในดิสก์:
sudo apt clean
นี่เป็นเพียงส่วนเล็กๆ ของ apt, apt-cache และคำสั่งที่มีประโยชน์บางส่วน ยังมีอะไรอีกมากมายให้เรียนรู้และสำรวจคำสั่งขั้นสูงเพิ่มเติมในบทความด้านล่าง
และเช่นเคย โปรดดูที่ man page เพื่อดูตัวเลือกเพิ่มเติม เมื่อคุ้นเคยกับ apt แล้ว ก็เป็นไปได้ที่จะเขียนสคริปต์ Cron ที่ยอดเยี่ยมเพื่อให้ระบบทันสมัยอยู่เสมอ