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

วิธีใช้ 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 ที่ยอดเยี่ยมเพื่อให้ระบบทันสมัยอยู่เสมอ