apt-apt-get ต่างกันอย่างไร


457

ฉันอ่านเกี่ยวกับแถบความคืบหน้าแฟนซีใหม่ที่ถูกเพิ่มเข้ามาapt1.0 ในSoftpediaและวิธีการเปิดใช้งานได้ที่นี่ อย่างไรก็ตามในการวิ่งsudo apt-get updateฉันไม่เห็นแถบความคืบหน้าอันหรูหรา sudo apt updateในการอ่านการเชื่อมโยงที่สองอีกครั้งการแก้ปัญหาอย่างชัดเจนคุณจะต้องใช้

ดังนั้นคำถามของฉันคือความแตกต่างระหว่างและapt apt-getฉันคิดว่าพวกเขาเป็นหนึ่งเดียวกัน


1
AFAIK มีให้เฉพาะใน Trusty เท่านั้น นี่คือวิธีการเปิดใช้งาน: askubuntu.com/questions/445245/…
Seth

8
เนื่องจากความคิดเห็นของ @Seth นั้นเกือบ 2 ปีแล้วฉันคิดว่าฉันจะเพิ่มทันทีว่าพร้อมใช้งานติดตั้งและใช้งานได้ทันที ไม่จำเป็นต้องมีการเปิดใช้งานพวกเขาเพียงใช้aptแทนapt-get(ฉันอยู่ที่ 15.10)
Madivad

คำตอบ:


399

เป็นเครื่องมือบรรทัดคำสั่งที่คล้ายกันมากที่มีอยู่ใน Trusty apt-getและของคำสั่งที่ใช้กันมากที่สุดที่มีอยู่ในapt-cacheapt

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

หมายเหตุจาก apt (8):

The `apt` command is meant to be pleasant for end users and does not need
       to be backward compatible like apt-get(8).

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

บทสรุปของลิงค์ด้านบน (พร้อมการแก้ไข* ):

ข่าวใหญ่สำหรับรุ่นนี้คือเรารวมไบนารี“ apt” ใหม่ที่รวมคำสั่งที่ใช้บ่อยที่สุดจาก apt-get และ apt-cache คำสั่งเหมือนกันกับคู่ของ apt-get / apt-cache แต่มีตัวเลือกการกำหนดค่าที่แตกต่างกันเล็กน้อย

ปัจจุบันไบนารี apt รองรับคำสั่งต่อไปนี้:

  • รายการ : ซึ่งคล้ายกับdpkg listและสามารถนำมาใช้กับธงเหมือน หรือ--installed--upgradable
  • ค้นหา : ทำงานเหมือนapt-cache searchแต่เรียงตามลำดับตัวอักษร
  • แสดง : ทำงานเหมือนapt-cache showแต่ซ่อนรายละเอียดบางอย่างที่ผู้คนมักจะสนใจน้อยกว่า (เช่นแฮช) บันทึกเต็มยังคงมีอยู่ผ่านapt-cache showหลักสูตร
  • อัปเดต : เหมือนกับปกติที่apt-get updateเปิดใช้งานเอาต์พุตสี
  • ติดตั้ง, ลบ : เพิ่มเอาต์พุตความคืบหน้าในระหว่างการรัน dpkg
  • อัพเกรด : apt-get upgrade --with-new-pkgsเช่นเดียวกับ * * * *
  • เต็มรูปแบบอัพเกรด : dist-upgradeชื่อมีความหมายมากขึ้นสำหรับ
  • แก้ไขแหล่งที่มา : แก้ไขโดยใช้sources.list$EDITOR
  • นโยบาย : ทำงานเหมือนapt-cache policy

คุณสามารถเปิด / ปิดการใช้งานความคืบหน้าการติดตั้ง [บาร์] ผ่าน:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar

3
แค่อยากรู้อยากเห็น - ไม่เหมาะที่จะอัพเกรดเทียบเท่ากับ 'อัพเกรด - กับ -pkgs ใหม่' (แทนการอัพเกรด dist ซึ่ง IIRC ทำตามค่าเริ่มต้นแล้วลบออกด้วย)
zeratul021

น่าแปลกที่apt upgradeทำให้ผมมีข้อผิดพลาดในกรณีที่apt-get upgradeเพียงพิมพ์คำเตือนเมื่อ PPA ไม่ได้มีไฟล์ที่วางจำหน่าย
Tor Klingberg

1
บล็อกโพสต์นั่นคือเข้าใจผิดที่จะบอกว่าเป็นเหมือนapt upgrade สามารถติดตั้งแพ็คเกจใหม่และสามารถลบออกได้ UI กันคือ ดูคำตอบและapt (8) ของ JungleMartinบน: "แพคเกจใหม่จะถูกติดตั้งหากจำเป็นเพื่อตอบสนองการพึ่งพา แต่แพ็คเกจที่มีอยู่จะไม่ถูกลบ" apt-get dist-upgrade --with-new-pkgsdist-upgradeapt upgradeapt-get upgrade --with-new-pkgsupgrade
Eliah Kagan

3
อาจเป็นมูลค่าการกล่าวขวัญว่าการเริ่มต้นใน 16.04 โดยค่าเริ่มต้น apt ไม่ได้บันทึกแพ็คเกจที่ดาวน์โหลดในขณะที่ apt-get ทำ
doug

69

ขณะที่ผมเขียนนี้หน้าคน (รุ่นแพคเกจแพกเกจของฉัน: 1.0.1ubuntu2.8) รวมถึงส่วนต่อไปนี้:apt

DIFFERENCES TO APT-GET(8)
   The apt command is meant to be pleasant for end users and does not need
   to be backward compatible like apt-get(8). Therefore some options are
   different:

   ·   The option DPkg::Progress-Fancy is enabled.
   ·   The option APT::Color is enabled.
   ·   A new list command is available similar to dpkg --list.
   ·   The option upgrade has --with-new-pkgs enabled by default.

2
นี่เป็นคำตอบที่ถูกต้อง (สำหรับ Debian และ Ubuntu รวมถึงอนุพันธ์อื่น ๆ เช่น Mint) โดยเฉพาะอย่างยิ่งการทำงานที่จะดำเนินการเช่นเดียวกับsudo apt upgrade sudo apt-get upgrade --with-new-pkgsมันจะติดตั้งแพ็คเกจใหม่ แต่ต่างจาก sudo apt-get dist-upgradeมันจะไม่ลบแพ็กเกจเก่า (ยกเว้นเมื่อติดตั้งแพ็คเกจใหม่เวอร์ชั่นเดียวกันซึ่งsudo apt-get upgradeจะทำเช่นเดียวกัน) man aptยืนยันเพิ่มเติมว่าคำตอบนี้ถูกต้อง
Eliah Kagan

ฉันย้อนกลับการย้อนกลับของการแก้ไขของฉันเพราะก) การจัดรูปแบบของคุณต้องใช้การเลื่อนที่ไม่จำเป็นและข) ข้อความที่คัดลอกของคุณไม่ถูกต้องตัวเลือกไม่ได้DPkgPM::...แต่DPkg::..อย่างที่ manpage ออนไลน์แสดง
muru

2
คะแนนโบนัสสำหรับ RTFM
Thufir

ตัวเลือก "ตรวจสอบ" ไม่ทำงานกับ apt ฉันต้องใช้ "apt-get check" ทำไม?
Juan

22

มีเครื่องมือต่างๆที่มีปฏิสัมพันธ์กับเป็นเครื่องมือบรรจุภัณฑ์ขั้นสูง (APT)และช่วยให้คุณติดตั้ง, ลบและจัดการแพคเกจในลินุกซ์ Debian ตาม apt-getเป็นหนึ่งในเครื่องมือบรรทัดคำสั่งดังกล่าวซึ่งเป็นที่นิยมอย่างกว้างขวาง เครื่องมือยอดนิยมอีกอย่างหนึ่งคือความถนัดด้วยตัวเลือก GUI และบรรทัดคำสั่ง

หากคุณใช้apt-getคำสั่งคุณอาจพบคำสั่งที่คล้ายกันจำนวนมากเช่นapt-cacheและapt-configอื่น ๆ และนี่คือปัญหาที่เกิดขึ้น

คุณจะเห็นว่าคำสั่งเหล่านี้อยู่ในระดับที่ต่ำเกินไปและมีฟังก์ชั่นมากมายที่ผู้ใช้ Linux โดยเฉลี่ยไม่เคยใช้ บนมืออื่น ๆ ที่ใช้กันมากที่สุดคำสั่งจัดการแพคเกจที่มีกระจายอยู่ทั่วapt-get, และapt-cacheapt-config

aptคำสั่งได้รับการแนะนำในการแก้ปัญหานี้ aptประกอบด้วยคุณลักษณะบางอย่างที่ใช้กันอย่างแพร่หลายจากapt-get, apt-cacheและapt-configออกจากกันคุณลักษณะปิดบังและไม่ค่อยมีใครใช้

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

บรรทัดด้านล่าง: apt = ที่พบมากที่สุดตัวเลือกคำสั่งจากสินค้าapt-get, และapt-cacheapt-config

ผมได้เขียนในรายละเอียดเกี่ยวกับความแตกต่างระหว่างฉลาดและ apt-get


15

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

aptเป็นสองบรรทัดคำสั่งตามส่วนหน้าให้บริการโดย APT apt-getซึ่งครอบงำผิดพลาดการออกแบบบางส่วนของ

อ้างจาก:

https://debian-handbook.info/browse/stable/sect.apt-get.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.