Является ли aptitude по-прежнему выше, чем apt-get?

Когда я впервые начал работать с Ubuntu, использование aptitude было «неотъемлемой частью», с некоторыми заявленными улучшениями по сравнению с apt-get. Правильно ли я сказал, что apt-get теперь «догнал» aptitude, и это мало что меняет (хотя предпочтительнее выбрать один или другой и придерживаться его)?

[ 117] Кроме того, с aptitude, установленным для удаления из установки Ubuntu по умолчанию, все должны вернуться к apt-get, особенно когда вы ведете новых пользователей, заинтересованных в CLI?

191
задан 07.11.2019, 12:11

6 ответов

Насколько я вижу, в 10.04 основные различия между aptitude и apt-get следующие:

  1. aptitude добавляет явные флаги для каждого пакета, указывая, является ли пакет был автоматически установлен для удовлетворения зависимости: вы можете манипулировать этими флагами (aptitude markauto или aptitude unmarkauto), чтобы изменить способ, которым aptitude обрабатывает пакет.

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

  2. aptitude будет предлагать удалять неиспользуемые пакеты каждый раз, когда вы удаляете установленный пакет, тогда как apt-get будет делать это только в случае явного запроса с помощью apt-get autoremove или указания --auto-remove.

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

  5. В отличие от «поиска» apt-cache, вывод «поиска» aptitude также показывает установленное / удаленное / очищенное состояние пакета (плюс собственные флаги состояния aptitude). Кроме того, выходные данные «install» отмечают, какие пакеты устанавливаются для удовлетворения зависимости, а какие удаляются из-за неиспользования.

  6. aptitude имеет (только текстовый) интерактивный интерфейс.

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

Однако, если aptitude больше не будет стандартом в Ubuntu, нет другого выбора, кроме как использовать apt-get в инструкциях и инструкциях.

(Лично я довольно разочарован, увидев, что это исчезнет в 10.10; тем более что улучшения способности по сравнению с apt-get в основном связаны с удобством использования. Я думаю, они считают, что те, кто знаком с командной строкой, знают, как вернуть способности, и тем, кто не использует командную строку, все равно ...)

131
ответ дан 07.11.2019, 12:12
  • 1
    Aptitude правильно читает /etc/apt/preferences (и закрепление в нем), но в настоящее время игнорирует /etc/apt/preferences.d/. Это известная ошибка , поэтому есть надежда, что она будет исправлена ​​в ближайшее время. – Sebastian Mach 07.11.2019, 12:12
  • 2
    aptitude search'es по именам пакетов, apt-cache по именам пакетов + описание (нам просто нужно начать каждое руководство с sudo apt-get install aptitude) – Joebone 07.11.2019, 12:12
  • 3
    Одним из недостатков aptitude является невозможность рассмотреть пиннинг, как это делает apt-get – JvdBerg 07.11.2019, 12:13
  • 4
    2. Однако apt-get сообщит вам, что есть неиспользуемые пакеты и что вы можете удалить их с помощью apt-get autoremove. – stoj 07.11.2019, 12:13
  • 5
    У Aptitude есть возможность легко извлечь список изменений: aptitude changelog package-name. Мне не известна такая особенность в apt-get. – nickgrim 07.11.2019, 12:14

В дополнение к другим ответам также стоит отметить, что apt-get часто падает на первый план для простых операций, и у него нет возможности обрабатывать несоответствия версий зависимостей или поврежденные пакеты (хотя он утверждает, что поврежденные пакеты можно исправить с apt-get install -f я буквально никогда не видел эту работу за всю свою жизнь).

По какой-то причине я все еще использую apt-get по умолчанию, но когда он сталкивается с проблемами, я обычно заканчиваю тем, что решаю их с помощью aptitude, который, кажется, никогда не сталкивается с многочисленными проблемами apt-get. [ 116]

6
ответ дан 07.11.2019, 12:12
  • 1
    У меня также есть аналогичный опыт в разрешении конфликтов, aptitude является лучшей альтернативой в этом смысле. – lmNt 07.11.2019, 12:12
  • 2
    Для справки, я только что увидел, как apt-get install -f исправляет мою систему. У aptitude возникли проблемы, это решило проблему, и затем первое, что я сделал, это установил aptitude :) Выбор - хорошая вещь (тм) – steady_progress 07.11.2019, 12:13

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

1
ответ дан 07.11.2019, 12:13

Ранее apt-get не управлял зависимостями должным образом и, следовательно, заставлял потерянные зависимости оставаться в системе даже после удаления пакета, который их использовал - это уже не так, для удаления потерянных зависимостей используйте

[110 ]

aptitude всегда делал это правильно и лучше отслеживал зависимости, но теперь оба менеджера пакетов выполняют свою работу.

В Ubuntu лучше использовать apt-get, потому что он поддерживается и одобрен компанией, в Debian я бы использовал aptitude

13
ответ дан 07.11.2019, 12:13

Полагаю, это вопрос личного выбора. Я считаю, что набор текста aptitude search имеет для меня больше смысла, чем apt-cache search, и мне нравится, что он говорит мне, какие пакеты я установил прямо в результатах поиска, вместо того, чтобы запускать dpkg -l.

21
ответ дан 07.11.2019, 12:14
  • 1
    +1 Согласился с возможностью увидеть, установлено ли приложение во время поиска, очень удобно. Хотя я нахожу, что поиск в apt-cache намного быстрее, чем поиск в aptitude. – Community 07.11.2019, 12:14
  • 2
    Я заметил, что поиск apt-get немного более тщателен, чем aptitude. Последний, кажется, смотрит только на имя пакета, в то время как первый также ищет описания, я думаю. например Попробуйте найти build-essential. – codemilan 07.11.2019, 12:14
  • 3
    Я использую двухбуквенный псевдоним bash для поиска в apt-cache, или, вероятно, я бы также использовал aptitude search. – smartcaveman 07.11.2019, 12:15

Я бы сказал, что в моем личном опыте aptitude и apt-get имеют очень схожую функциональность.

Основное отличие, которое приходит на ум при выборе пользователей, заключается в том, что aptitude предлагает интерфейс ncurses и предлагает варианты безопасного и полного обновления, которые могут пригодиться.

Лично я всегда использую apt-get и рекомендую, чтобы новые пользователи также использовали apt-get. Как вы уже сказали, если установить aptitude для удаления из Ubuntu по умолчанию, эта рекомендация все же кажется лучшей. Как будто они хотят использовать aptitude, им нужно знать, как использовать apt-get для установки aptitude, если они этого хотят:)

3
ответ дан 07.11.2019, 12:14
  • 1
    Не могли бы вы объяснить, что такое интерфейс ncurses, пожалуйста? – steady_progress 07.11.2019, 12:15
  • 2
    @fluteflute: ncurses - это библиотека, используемая для реализации текстового пользовательского интерфейса. en.wikipedia.org/wiki/Ncurses – steady_progress 07.11.2019, 12:15

Теги

Похожие вопросы