บน Ubuntu ทำไมบางครั้ง“ sudo apt-get” และ“ sudo aptitude” ในบางครั้ง


11

ฉันพยายามคิดวิธีการติดตั้ง libgtk2.0-dev และพบว่าฉันต้องใช้

sudo aptitude install

แทน

sudo apt-get install

ทำไมทั้งสองวิธีต่างกันในการหาสิ่งของ?

คำตอบ:


12

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

ฉันมักจะแทนที่apt-getตัวอย่างทั้งหมดด้วยaptitudeเมื่อคัดลอกและวางคำสั่ง

ทำงานaptitudeโดยไม่มีตัวเลือกใด ๆ เพื่อรับอินเทอร์เฟซสำหรับการเลือกแพ็คเกจ ฉันไม่เคยใช้มันเลยไม่รู้เลยว่ามันเป็นมิตรกับมันอย่างไร


3

apt-getและ aptitudeเป็นทั้งอินเตอร์เฟสกับ dpkg , Debian package manager

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

รายการ Wikipedia สำหรับความถนัดระบุว่ามันเริ่มต้นจาก front-end ของapt- suite:

aptitudeเป็นส่วนหน้าของ Advanced Packaging Tool (APT) จะแสดงรายการแพคเกจซอฟต์แวร์และอนุญาตให้ผู้ใช้เลือกแพ็กเกจโต้ตอบเพื่อติดตั้งหรือลบ [... ] ถึงแม้ความถนัดเป็นปฏิบัติการเพียงอย่างเดียว แต่ก็มีฟังก์ชั่น CLI ที่คล้ายกับความสามารถของเครื่องมือ (apt-get, apt-cache, apt-listchanges และอื่น ๆ ) ความถนัดยังเลียนแบบตัวเลือกบรรทัดคำสั่ง apt-get ส่วนใหญ่ทำให้มันทำหน้าที่แทนการดรอปอินสำหรับการใช้งาน apt-get บางส่วน


2

ผู้ใช้ Debian เป็นเวลานานได้บอกฉันที่อื่นว่าaptitudeมีฐานข้อมูลของตัวเองที่เก็บไว้ข้างหนึ่งที่aptเก็บ ซึ่งหมายความว่าการใช้ทั้งสองการแลกเปลี่ยนกันได้จะส่งผลให้เกิดความสับสนในบางครั้งโดยเฉพาะอย่างยิ่งaptitudeเมื่อดูเหมือนว่าจะมีสำเนาของสถานะแพ็กเกจที่ค้างอยู่เล็กน้อย ฉันเคยเห็นสิ่งนี้เกิดขึ้น: มันส่งผลในสิ่งต่าง ๆ เช่นแพคเกจที่คุณไม่สามารถลบหรือติดตั้งไม่ได้

โปรแกรม GUI synapticไม่มีปัญหานี้เนื่องจากต้องอาศัยaptฐานข้อมูลทั้งหมด


1

Aptitude และ apt-get ทำหน้าที่ตรงตามวัตถุประสงค์เดียวกันสำหรับ Ubuntu Dapper และอื่น ๆ ก่อนหน้านั้น apt-get อาจไม่ลบสิ่งที่ควรทำโดยอัตโนมัติ

ที่มา: http://www.psychocats.net/ubuntu/aptitude


0

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

ไม่ใช่เรื่องใหญ่เว้นแต่คุณจะติดตั้งแพคเกจด้วย 'build-dep' เริ่มต้นใน 8.10 แพ็คเกจที่ติดตั้ง build-dep ทั้งหมดถูกทำเครื่องหมายว่าติดตั้งอัตโนมัติ (จะถูกเพิ่มใน auto remove ใน apt-get และ remove ใน aptitude

(ถ้าคุณวางแผนที่จะสร้างและใช้ 'build-dep' สิ่งนี้จะป้องกันการทำเครื่องหมายอัตโนมัติหากคุณต้องการเก็บไว้ (และหรือป้องกันรายการลบอัตโนมัติขนาดใหญ่ใน apt-get Ex. mplayer sudo apt-get build-dep mplayer -o APT :: :: รับ Build-Dep อัตโนมัติ = false

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