Чи здатність досі вважається кращою за сприятливу?


191

Коли я вперше почав користуватися Ubuntu, це aptitudeбуло «все-таки», з деякими констатованими поліпшеннями apt-get. Чи правильно я кажу, що apt-getзараз це "наздогнало" aptitude, і це мало має значення, що використовується (хоча краще вибрати те чи інше, і дотримуватися його)?

Більше того, якщо aptitudeвстановити, що буде видалено з установки за замовчуванням Ubuntu, всі повинні повернутися до них apt-get, особливо під час керівництва новими користувачами, зацікавленими в CLI?


1
Класні діти сьогодні використовують aptзамість будь-якого з цих: itsfoss.com/apt-vs-apt-get-difference
tatsu

Відповіді:


131

Наскільки я можу бачити, в 10.04 головні відмінності між придатністю та сприйняттям:

  1. aptitudeдодає явні прапорці для кожного пакета, вказуючи, чи пакет автоматично встановлений для задоволення залежності: ви можете маніпулювати цими прапорами ( aptitude markautoабо aptitude unmarkauto), щоб змінити спосіб обробки поваги до пакету.

    apt-getзберігає ту саму інформацію, але не показуватиме її прямо. apt-markможе використовуватися для маніпулювання прапорами.

  2. aptitudeзапропонує видаляти невикористані пакети щоразу, коли ви видаляєте встановлений пакет, тоді як це apt-getробитиме лише у випадку, якщо це буде чітко запитано з apt-get autoremoveабо вказано --auto-remove.

  3. aptitudeвиконує функцію єдиного переднього кінця командного рядка для більшості функцій як у, так apt-getі в apt-cache. Примітка : Станом на 16.04 є aptкоманда, яка включає найбільш часто використовувані команди з apt-getта apt-cacheта кілька додаткових функцій.

  4. На відміну від apt-cache'search', результат aptitude'search' також показує встановлений / видалений / очищений стан пакету (плюс власні прапори статусу). Крім того, "встановити" вихідні позначки, які пакунки встановлюються для задоволення залежності, а які видаляються через невикористання.

  5. aptitude має (лише для тексту) інтерактивний інтерфейс користувача.

Я особисто використовую лише aptitudeдля управління пакетом командного рядка (і я ніколи не використовую текстовий інтерфейс); Я вважаю, що його результат є більш читаним, ніж apt-get/ apt-cache.

Однак, якщо aptitudeUbuntu вже не буде стандартним, не існує іншого вибору, крім використання apt-getв інструкціях та інструкціях з експлуатації.

(Особисто я дуже розчарований, коли побачила, що він зникне в 10.10; тим більше, що поліпшення можливостей apt-getв основному стосується зручності використання. Я думаю, вони вважали, що ті, хто знаходить командний рядок, знають, як повернути здатність, і тим, хто не використовує командний рядок, не буде байдуже ...)


10
aptitude search'es на назви пакетів, apt-кеш на назві пакета + опис (нам потрібно буде починати кожен sudo apt-get install aptitude
порядок роботи

3
2. Однак apt-get скаже вам, що є невикористані пакети і що ви можете їх видалити apt-get autoremove.
sepp2k

2
Одним з недоліків здатності є неможливість вважати закріплення як зроблене apt-get
txwikinger

4
Aptitude правильно читає /etc/apt/preferences(і закріплює в ньому), але наразі ігнорує /etc/apt/preferences.d/. Це відома помилка, тому є сподівання, що вона незабаром буде виправлена.
Ріккардо Муррі

3
Схильність має можливість вилучення змін легко: aptitude changelog package-name. Я не знаю такої особливості в apt-get.
Лекенштейн

21

Я думаю, це вже питання особистого вибору. Я вважаю, що введення тексту aptitude searchмає для мене більше сенсу apt-cache search, і мені подобається, що воно говорить мені, які пакунки я встановив прямо там у пошуковому виході, замість того, щоб запускати dpkg -l.


2
+1 Домовились мати можливість зрозуміти, чи встановлено додаток під час пошуку дуже зручно. Хоча я все-таки знаходжу, що пошук apt-кешу набагато швидший, ніж пошук можливостей.
Марк Девідсон

Я використовую псевдонім bash з двома літерами для пошуку apt-кешу, або я, мабуть, також використовую aptitude search.
белаква

Я помітив, що apt-getпошук трохи більш ретельний, ніж aptitude. Останній, здається, дивиться лише на назву пакета, тоді як перший також шукає описи, я думаю. наприклад, спробуйте пошукати build-essential.
Спархак

13

Раніше apt-get не керував залежностями належним чином, а тому спричиняв осиротілі залежності залишатись у системі навіть після того, як пакет, який їх використовував, був видалений - це вже не так, щоб видалити осиротілі залежності

sudo apt-get autoremove

здатність завжди робила це правильно і відстежує залежності краще, але тепер обидва менеджери пакунків роблять цю роботу.

У ubuntu краще використовувати apt-get, оскільки його підтримує і схвалює компанія, на debian я б використовував здатність


2
Останнє твердження не точне. aptitudeна Ubuntu підтримується чудово, і він встановлений за замовчуванням. Немає різниці між Ubuntu і Debian і в цьому плані.
loevborg

3
Він видаляється з установки за замовчуванням в 10.10
kashif

1
На мій досвід, aptitudeзавжди було гірше відслідковувати встановлені залежності. Він, як правило,
видаляв

Що це еквівалент apt-get autoremoveз aptitude? У мене є старі ядра, які apt-get autoremoveпропонують мені видалити, але я не бачу способу їх видалити aptitude.
Олексій

1
@Alexey Можна використовувати aptitude remove '~g'. ( Джерело ) Зауважте, що aptitudeавтоматично пропонується видалити невикористані залежності при видаленні пакетів з ним.
nyuszika7h

6

Окрім інших відповідей, також варто зазначити, що apt-getчасто падає на обличчя для простих операцій, і він не має можливості впоратися з невідповідностями версій залежності або зламаними пакетами (хоча він стверджує, що зламані пакети можна виправити apt-get install -f, я буквально ніколи не бачив такої роботи за все своє життя).

З якихось причин я все ще використовую apt-getза замовчуванням, але коли виникають проблеми, я зазвичай закінчую їх вирішення aptitude, що ніколи не стикається apt-getз численними проблемами.


Я також маю подібний досвід вирішення конфліктів, aptitudeє кращою альтернативою в цьому сенсі.
Volkan Yazıcı

1
Для запису я щойно побачив apt-get install -f виправити мою систему. у здатності виникли проблеми, це виправили, і тоді перше, що я зробив - це вдало встановити придатність :) Вибір - це гарна річ (тм)
teknopaul

3

Я б сказав, що в моєму особистому досвіді здатність і apt-get мають дуже схожі функціональні можливості.

Основна відмінність, яка може вплинути на вибір користувачів, полягає в тому, що здатність пропонує інтерфейс ncurses і що він пропонує варіанти безпечного оновлення та повного оновлення, які можуть стати в нагоді.

Особисто я завжди використовую apt-get і рекомендую і новим користувачам користуватися apt-get. Як ви вже сказали, з придатністю для видалення з Ubuntu за замовчуванням це все ще здається найкращою рекомендацією. Наче вони хочуть використовувати здатність, вони повинні знати, як використовувати apt-get, щоб встановити здатність, якщо вони хочуть :)


Ви можете пояснити, що таке інтерфейс ncurses?
8128

@fluteflute: ncurses - це бібліотека, яка використовується для реалізації текстового інтерфейсу користувача. en.wikipedia.org/wiki/Ncurses
DIERRE

1

На сервері я віддаю перевагу Atitude, оскільки він має досить хороший інтерфейс для перевірки журналів змін пакетів, вибіркових оновлень та подібних матеріалів. apt-get є більш швидким, і я завжди використовую це, якщо просто хочу оновити все без зайвих клопотів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.