apt vs. apt-get: อะไรคือความแตกต่างบน Linux?

เผยแพร่แล้ว: 2022-06-16
เทอร์มินัล Linux บนแล็ปท็อปบนฉากหลังสีแดง
fatmawati achmad zaenuri/Shutterstock

ทำไมลินุกซ์ที่ใช้ Debian ถึงมี apt และ apt-get apt แทนที่ apt-get หรือมีวัตถุประสงค์ต่างกันหรือไม่? เราอธิบายความสัมพันธ์ระหว่างสองคำสั่งนี้

ระบบการจัดการแพ็คเกจเดเบียน

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

วิธีการทำงานของตัวจัดการการติดตั้งซอฟต์แวร์และแพ็คเกจบน Linux
ที่เกี่ยวข้อง วิธีการทำงานของตัวจัดการการติดตั้งซอฟต์แวร์และแพ็คเกจบน Linux

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

สิ่งนี้นำไปสู่ตระกูลหรือลำดับวงศ์ตระกูลของลีนุกซ์รุ่นเช่นการแจกแจงแบบเดเบียน, การแจกแจงแบบเรดแฮท, การแจกแจงแบบอิง Arch เป็นต้น

ตระกูล Debian ของการแจกแจง—รวมถึง Ubuntu และการแจกแจงที่มาจาก Ubuntu—ทั้งหมด—ใช้ Debian Package Manager สิ่งนี้ใช้ไฟล์แพ็คเกจที่มีนามสกุลไฟล์ “.deb” ซึ่งเรียกว่าไฟล์ DEB ไฟล์ DEB เป็นไฟล์บีบอัดที่มีไฟล์เก็บถาวรอื่นๆ ไฟล์เก็บถาวรประกอบด้วยไฟล์เรียกทำงาน หน้าคน ไลบรารี และอื่นๆ ของแอพพลิเคชัน

วิธีการติดตั้งไฟล์ DEB ใน Linux
ที่เกี่ยวข้อง วิธีการติดตั้งไฟล์ DEB ใน Linux

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

โฆษณา

คำสั่ง apt-get และ apt ทั้งสองทำอย่างนั้น แต่ทำไมเราถึงมีสองคำสั่งสำหรับสิ่งเดียวกัน?

สายการบังคับบัญชา

แพ็คเกจที่ทำการติดตั้งจริง ๆ เรียกว่า dpkg จริง ๆ แล้วมันเป็นตระกูลของคำสั่งรวมถึง dpkg-split , dpkg-trigger และ dpkg-divert เครื่องมือเหล่านี้เรียกว่า (ถ้าและตามความจำเป็น) โดยเครื่องมือในชุดเครื่องมือ Advanced Package Tool หรือ APT APT คือชุดเครื่องมืออีกชุดหนึ่ง รวมทั้ง apt-get , apt-cache และ apt

คำสั่ง dpkg ถือเป็นคำสั่งระดับต่ำ นอกเหนือจากการโต้ตอบที่ง่ายที่สุด มันกลายเป็นเรื่องที่ซับซ้อนมากด้วยตัวเลือกมากมาย คำสั่ง apt-get ทำหน้าที่เป็นส่วนหน้าของชุดคำสั่ง dpkg สิ่งนี้ทำให้เรื่องง่ายขึ้นมาก apt-get การออกแบบให้เป็นคำสั่งที่ผู้ใช้เผชิญ ไม่ใช่คำสั่งพื้นหลังระดับต่ำ ถึงกระนั้นก็ตาม คำสั่งอื่นที่เรียกว่า apt-cache ถูกใช้เพื่อแสดงข้อมูลต่อผู้ใช้ แม้ว่ามีบทบาทที่ต้องเผชิญหน้ากับมนุษย์ก็ตาม

คำสั่ง apt เป็นอีกวิธีหนึ่งในการ "พูดคุย" กับ dpkg ผ่านเครื่องมือบรรทัดคำสั่งที่เข้าถึงได้ง่ายขึ้นและใช้งานง่าย มีชุดย่อยของคุณลักษณะของ apt-get แต่เป็นชุดย่อยขนาดใหญ่และมีคุณสมบัติที่ใช้กันทั่วไปทั้งหมด และยังมีฟังก์ชันจาก apt-cache

โฆษณา

Linux Mint ต้องการการกล่าวถึงเป็นพิเศษที่นี่ ผู้ดูแล Linux Mint ได้พัฒนาเวอร์ชันของตัวเองของ apt ซึ่งเป็นเครื่องห่อหุ้ม Python สำหรับ apt-get นั่นไม่ใช่ apt ที่เรากำลังพูดถึงที่นี่ เรากำลังพูดถึง Debian apt หลักซึ่งเปิดตัวในปี 2014 และได้รับความสนใจและดึงดูดใจในข้อผู้ใช้เมื่อรวมอยู่ใน Ubuntu 16.04 ในปี 2559

ความแตกต่างระหว่าง apt และ apt-get

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

วิธีแก้ไขการพึ่งพาขณะรวบรวมซอฟต์แวร์บน Ubuntu
ที่เกี่ยวข้อง วิธีแก้ไขการพึ่งพาขณะรวบรวมซอฟต์แวร์บน Ubuntu

แต่ apt-get และ apt ให้มากกว่าอินเทอร์เฟซที่ง่ายสำหรับ dpkg พวกเขาทำในสิ่งที่ dpkg ไม่ทำ พวกเขาจะดึงไฟล์จากที่เก็บและจะพยายามช่วยเหลือเกี่ยวกับการขึ้นต่อกันที่ขาดหายไปและข้อขัดแย้ง

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

มีคำสั่งทั่วไปบางอย่างระหว่าง apt และ apt-get คำสั่งทั้งหมดเหล่านี้สามารถนำหน้าด้วย apt หรือ apt-get และจะมีลักษณะเหมือนกัน:

  • ติด ตั้งชื่อแพ็คเกจ : ติดตั้งแพ็คเกจ
  • ลบ ชื่อแพ็คเกจ : ลบ (ถอนการติดตั้ง) แพ็คเกจ
  • purge packagename : ลบแพ็คเกจและไฟล์การกำหนดค่า
  • update packagename : อัพเดตข้อมูลที่เก็บ
  • อัปเกรด : อัปเดตแพ็คเกจทั้งหมด
  • autoremove : ลบไลบรารีและแพ็คเกจอื่น ๆ ที่ไม่ต้องการอีกต่อไป

ตัวเลือก apt full-upgrade จะแทนที่ตัวเลือกการอัปเกรด apt-get dist-upgrade

เหล่านี้เป็นคำสั่งใหม่สำหรับ apt :

  • apt search : ค้นหาชื่อแพ็คเกจในที่เก็บ สิ่งนี้เหมือนกับ apt-cache search
  • apt show : แสดงข้อมูลเกี่ยวกับแพ็คเกจ สิ่งนี้เหมือนกับ apt-cache show
  • apt list option : แสดงรายการแพ็คเกจที่ติดตั้งหรืออัพเกรดได้
  • apt edit-sources : แก้ไขรายการที่เก็บโดยตรงที่ apt ค้นหาแพ็คเกจ

การติดตั้งแอพพลิเคชั่น

คุณสามารถใช้ apt search เพื่อดูว่ามีแพ็คเกจอยู่ในที่เก็บหรือตรวจสอบว่าคุณมีชื่อที่ถูกต้องสำหรับแพ็คเกจหรือไม่ สมมติว่าคุณต้องการติดตั้ง Scribus แต่คุณไม่ทราบชื่อแพ็คเกจ คุณอาจลองมองหา scribus-desktop

 apt ค้นหา scribus-เดสก์ท็อป 

ค้นหาที่เก็บสำหรับแพ็คเกจที่เรียกว่า scribus-desktop

การค้นหานั้นไม่พบอะไรเลย เราจะลองอีกครั้งโดยใช้คำใบ้การค้นหาที่สั้นและกว้างกว่า

 apt ค้นหา scribus 

ค้นหาที่เก็บสำหรับแพ็คเกจที่เรียกว่า scribus

โฆษณา

ส่งคืน Hit หลายรายการ และเราจะเห็นว่ามีหนึ่งชื่อ "scribus" และดูเหมือนว่าเป็นแพ็คเกจหลักสำหรับแอปพลิเคชันการเผยแพร่บนเดสก์ท็อป Scribus คำสั่ง apt show จะให้รายละเอียดเพิ่มเติมแก่เรา

 apt แสดง scribus 

ใช้ apt show เพื่อค้นหาข้อมูลเพิ่มเติมเกี่ยวกับแพ็คเกจ scribus

เราได้รับข้อมูลเกี่ยวกับแพ็คเกจ รวมถึงสิ่งที่จะติดตั้งและคำอธิบายของซอฟต์แวร์

ข้อมูลเกี่ยวกับแพ็คเกจ scribus

นอกจากนี้ยังแนะนำแพ็คเกจอื่นๆ ที่อาจจำเป็น ขึ้นอยู่กับความต้องการของเรา

ในการติดตั้งแพ็คเกจเราจำเป็นต้องใช้ sudo

 sudo apt ติดตั้ง scribus 

การติดตั้งแพ็คเกจ scribus

ไฟล์ถูกดึงมาจากที่เก็บ ไฟล์ที่กำลังเรียกข้อมูลจะถูกเน้นเป็นสีน้ำตาล

การดึงไฟล์เป็นส่วนหนึ่งของการติดตั้งแพ็คเกจ

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

การติดตั้งแพ็คเกจพร้อมแถบเปอร์เซ็นต์และความคืบหน้า

คำสั่งอื่นๆ

คำสั่ง apt list และ apt edit-sources เป็นตัวเลือกใน apt ที่ไม่มีอยู่ใน apt-get

โฆษณา

คำสั่ง apt list สามารถใช้กับตัวเลือก --installed หรือ --upgradeable เพื่อดูแพ็คเกจที่ติดตั้งบนคอมพิวเตอร์ของคุณ และแพ็คเกจใดบ้างที่สามารถอัพเกรดได้

หากต้องการดูรายการแอปพลิเคชันที่ติดตั้งบนคอมพิวเตอร์ของคุณให้ใช้:

 รายการ apt -- ติดตั้งแล้ว 

ใช้ apt เพื่อแสดงรายการแอพพลิเคชั่นที่ติดตั้ง

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

รายการแอพพลิเคชั่นที่ติดตั้ง

หากต้องการดูว่าสามารถอัปเกรดแอปพลิเคชันที่ติดตั้งไว้ได้หรือไม่ ให้ใช้ตัวเลือก --upgradeable

 รายการ apt --upgradeable 

รายการแอพพลิเคชั่นที่สามารถอัพเกรดได้

คำสั่ง apt ยังจัดเตรียมวิธีให้คุณแก้ไขข้อมูลที่จัดเก็บเกี่ยวกับที่เก็บ apt ค้นหาแพ็คเกจ ทำสิ่งนี้ก็ต่อเมื่อคุณรู้ว่าคุณกำลังทำอะไรอยู่

 sudo apt แก้ไขแหล่งที่มา 

แก้ไขข้อมูลที่เก็บด้วยapt

โฆษณา

คำสั่งนี้เปิดตัวแก้ไขเริ่มต้นของคุณและโหลดไฟล์ที่มีข้อมูลที่เก็บ

ไฟล์ข้อมูลที่เก็บเปิดในโปรแกรมแก้ไขนาโน

ฉันควรใช้ apt หรือ apt-get?

คำสั่ง apt-get ไม่ได้รับการอัพเดตบ่อยๆ และนั่นก็เป็นสิ่งที่ดี ต้องรักษาความเข้ากันได้ย้อนหลัง ความเข้ากันได้แบบย้อนหลังไม่ได้เป็นปัญหาสำหรับ apt ถือว่าเป็นคำสั่งที่ผู้ใช้เผชิญ

สำหรับการใช้งานประจำวัน ใช้ apt

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

ที่เกี่ยวข้อง: คู่มือเริ่มต้นสำหรับการเขียนสคริปต์เชลล์: พื้นฐาน