Я знаю, что и то, apt-get
и другое aptitude
является интерфейсом управления пакетами командной строки в Linux, производном от Debian, с различными опциями, но я все еще несколько запутался. Под капотом, они не используют ту же систему APT?
Почему Debian поддерживает эти параллельные инструменты? (Бонусный вопрос: что же такое Ваджиг ?)
debian
package-management
apt
aptitude
Кевин Канту
источник
источник
Ответы:
Наиболее очевидным отличием является то, что он
aptitude
предоставляет интерфейс меню терминала (очень похоже на Synaptic в терминале), тогда какapt-get
нет.Рассматривая только интерфейсы командной строки каждого из них, они очень похожи, и по большей части не имеет значения, какой из них вы используете. Последние версии обоих будут отслеживать, какие пакеты были установлены вручную, а какие установлены как зависимости (и, следовательно, могут быть автоматически удалены). На самом деле, я полагаю, что еще совсем недавно эти два инструмента были обновлены, чтобы фактически использовать одну и ту же базу данных вручную и автоматически установленных пакетов, поэтому случаи, когда вы устанавливаете что-то с помощью apt-get, а затем aptitude хочет удалить это, в основном, прошлое.
Есть несколько незначительных отличий:
Есть и другие небольшие отличия, но это самые важные, о которых я могу подумать.
Короче говоря, aptitude более правильно относится к категории с Synaptic и другим интерфейсам менеджера пакетов более высокого уровня. Просто так получилось иметь интерфейс командной строки, похожий на apt-get.
Бонусный раунд: что такое ваджиг?
Помните, как я упоминал о таких «сопутствующих» инструментах, как apt-cache и apt-mark? Ну, есть куча их, и если вы часто их используете, вы можете не помнить, какие из них предоставляют какие команды. Ваджиг является одним из решений этой проблемы. По сути, это диспетчер, обертка вокруг всех этих инструментов. Также применяется sudo, когда это необходимо. Когда вы говорите
wajig install foo
, Ваджиг говорит: «Хорошо,install
предоставляетсяapt-get
и требует прав администратора», и он запускаетсяsudo apt-get install foo
. Когда вы говоритеwajig search foo
, Ваджиг говорит: «Хорошо,search
предоставляетсяapt-cache
и не требует прав администратора», и он запускаетсяapt-cache search foo
. Если вы используете wajig вместо apt-get, apt-mark, apt-cache и других, то у вас никогда не возникнет этой проблемы:Если вы хотите узнать, что ваджиг делает за кулисами, какие инструменты он использует для реализации конкретной команды, у него есть
--simulate
и--teaching
режимы.Два wajig команды , которые я часто использую это
wajig listfiles foo
иwajig whichpkg /usr/bin/foo
.источник
aptitude install linux-im
tab) требуется много времени , а для apt-get это очень быстро. Кажется, в семье apt-get присутствует кеширование, которого не хватает для способности.aptitude
также есть потрясающее,aptitude search
что вы можете использовать с очень мощными шаблонами поиска . У вас естьaptitude reinstall
. Вы также можете использовать интерфейс ncurses (терминальное меню) для подготовки сложных операций с пакетами, таких как частичное обновление, удаление одного пакета, замораживание другого, обновление этого, которое затем можно выполнить за одну операцию ... О, и у него есть интерактивное средство разрешения конфликтов .aptitude
также долженaptitude download package-name
получить файл пакета .deb!aptitude
но естьapt-get
, и это такapt-get --compile source package-name
.apt-get build-dep package-name
существуют, но я думаю, чтоaptitude build-dep package-name
лучше работать.Я часто задавался вопросом себя. Википедия подчеркивает, что главной отличительной чертой является то, что aptitude имеет полноэкранный интерфейс текстового режима (curses). Тот факт, что вы можете использовать большинство
apt-get
командных аргументов сaptitude
самим собой, является лишь конструктивным решением, облегчающимapt-get
пользователям переход кaptitude
и наоборот.Я никогда не использовал
wajig
, но документация предполагает, что это просто скрипт, который знает, передаете ли вы емуdeb
файл (когда он запускаетсяdpkg
) илиapt
имя пакета (когда он запускаетсяapt-get
вместо этого). Не могли бы вы попробовать и посмотреть, так ли это?Конечно, реальная разница заключается в следующем:
источник
aptitude
имеет больше. Вы забыли поставить бесконечные-v
флагиmoo
. (Вы можете перейти наверх-vvvvvv
)apt-get
есть, ноaptitude
не имеют. (Примерьте--help
оба)aptitude является предпочтительной программой для управления пакетами из консоли, как для установки пакетов, так и для обновления пакетов или системы в Debian.
Вот краткий обзор инструмента и его возможностей по сравнению с apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude
Итак, мой совет - просто установить aptitude :)
источник
aptitude
имеет много более продвинутых функций, таких как поиск и полноэкранный режим, чемapt-get
.aptitude
запоминает, какие пакеты были запрошены явно, а какие были установлены только из-за зависимостей. Он автоматически удалит пакеты, которые явно не запрашивались, когда они больше не нужны.apt-get
обрабатывает пакеты, запрошенные явно, и их зависимости одинаковы.Так что лучше использовать
aptitude
, это помогает поддерживать вашу систему в чистоте.источник
apt-get autoremove
команда для удаления пакетов, установленных только как зависимости. Я не знаю, когда эта функция была добавлена, но один веб-сайт предполагает, что это могло произойти с Debian Lenny (июнь 2010 г.).apt-get autoremove
не удаляет пакеты, установленные только как зависимости, он удаляет потерянные зависимости, что является тонким отличием; он не может сказать, был ли установлен «конечный» пакет с намерением или как зависимость, поэтому он оставляет его там, где aptitude узнает и удалит его.aptitude
но это просто убийственная особенность.apt-get
, а также различные сопутствующие инструменты используют значительно меньше памяти, чем соответствующие вызовы командной строкиaptitude
, и работают немного быстрее. Я был в блаженном неведении об этом, пока не попробовал обновить установку Debian на устаревшем старом ThinkPad Thinkpad с 32 МБ ОЗУ. Потребовался бы час или два для запускаapt-get
, который завершился успешно;aptitude
потерпит неудачу после того, как я думаю, более длительный период времени.Это различие более или менее не имеет отношения ко всему, что напоминает современную настольную систему.
источник
Основываясь на ответе @ Gaurav, пасхальные яйца в двух менеджерах пакетов довольно забавны !:
и так далее.
источник
Они предлагают те же основные функции: устанавливать и удалять пакеты из командной строки.
Вот более подробное сравнение, опубликованное на веб-сайте Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really-better-than-apt-get/1749#1749
источник
Как уже упоминалось, http://pthree.org/2007/08/12/aptitude-vs-apt-get/ ,
aptitude
имеет гораздо более простой в использовании интерфейс командной строки.Основная система не просто
apt
, ноdpkg
. Эта система так же глупа, как RPM, она может выполнять установку и администрирование только отдельных пакетов. Он отслеживает, какие установленные файлы принадлежат к какому пакету.apt
управляет загрузкой репозиториев, отслеживанием зависимостей и т. д. для всех отдельных пакетов, которые затем он устанавливаетdpkg
.aptitude
делает то же самое, с другим интерфейсом.источник
Да, и apt-get, и aptitude используют библиотеку APT.
Смотрите мой ответ на serverfault.com .
Debian не является монолитной сущностью, есть люди с разными мнениями, и сопровождающий aptitude решил, что у apt-get есть некоторые недостатки, и хотел создать что-то лучшее с помощью aptitude. Он улучшил логику для поиска решений для сложных сценариев обновления, добавил графический интерфейс для консоли и т. Д. И это больше, чем просто apt-get и aptitude, см. Мою статью apt-get, aptitude, ... выберите подходящий менеджер пакетов для вас .
источник
Я не уверен, так ли это до сих пор, но передовой разработчик Debian Джои Хесс всегда использовал для пропаганды aptitude вместо apt-get. Конечно, все меняется по мере развития программного обеспечения. Apt-get теперь обрабатывает зависимости лучше, чем раньше. От http://lists.debian.org/debian-user/2004/04/msg03138.html
Дата: вторник, 20 апреля 2004 г. 22:27:12 -0400 Откуда: Джои Хесс
Девять причин, по которым вам следует использовать aptitude вместо apt-get или dselect.
aptitude может выглядеть как apt-get
Если вы запускаете «aptitude update» или «aptitude upgrade» или «aptitude install», он выглядит и работает так же, как apt-get, с некоторыми улучшениями. Так что нет кривой обучения.
(Если вы являетесь пользователем dselect, изучение кривой, очевидно, не является одной из ваших проблем.)
aptitude отслеживает автоматически установленные пакеты
Перестаньте беспокоиться об удалении неиспользуемых библиотек и пакетов поддержки из вашей системы. Если вы используете aptitude для установки всего, он будет отслеживать, какие пакеты извлекаются только зависимостями, и удаляет эти пакеты, когда они больше не нужны.
aptitude sanely обрабатывает рекомендует
Давным провалом apt-get является отсутствие поддержки отношения Recommended. Что является проблемой, потому что многие пакеты в Debian полагаются на Рекомендует добавить программное обеспечение, которое обычный пользователь обычно использует с пакетом. Это не редкая причина проблем, хотя apt-get недавно смог хотя бы упомянуть рекомендуемые пакеты, его предупреждения легко пропустить.
Aptitude поддерживает Recommended по умолчанию и может быть настроен для поддержки предложения также. Он даже поддерживает установку рекомендуемых пакетов при использовании в режиме командной строки.
используйте aptitude как обычный пользователь и избегайте использования вашей системы
Возможно, вы не знали, что вы можете запускать aptitude в графическом режиме как обычный пользователь. Внесите любые изменения, которые вы хотели бы попробовать. Если вы попали в настоящий беспорядок, вы можете нажать «q» и выйти, ваши изменения не будут сохранены. (Aptitude также позволяет вам использовать ctrl-u для отмены изменений.) Поскольку он работает как обычный пользователь, вы не сможете подключить вашу систему, пока не скажете aptitude сделать что-то, после чего он запросит ваш пароль root.
aptitude имеет мощный пользовательский интерфейс и возможности поиска
Между категориальным браузером aptitude и его великолепной поддержкой фильтрации в стиле Mutt и поиска пакетов по имени, описанию, сопровождающему, зависимостям и т. Д., Вы сможете найти пакеты быстрее, чем когда-либо прежде, используя aptitude.
aptitude позволяет легко отслеживать устаревшее программное обеспечение
Если Debian прекратит распространение пакета, apt оставит его в вашей системе на неопределенный срок, без предупреждений и обновлений. Aptitude перечисляет такие пакеты в разделе «Устаревшие и локально созданные пакеты», чтобы вы могли получить информацию о проблеме и что-то с ней сделать.
У aptitude есть интерфейс к системе задач Debian
Aptitude позволяет вам использовать систему задач Debian так, как она была спроектирована для использования. Вы можете просмотреть доступные задачи, выбрать задачу для установки, а затем покопаться в ней и отменить выбор частей задачи, которые вам не нужны. apt-get не поддерживает задачи, и aptitude лучше, чем инструменты специального назначения, такие как tasksel.
aptitude поддерживает несколько источников
Если ваш sources.list настроен так, чтобы сделать доступными несколько версий пакета, aptitude позволит вам просмотреть доступные версии и выбрать версию, отличную от используемой по умолчанию, для установки. Если пакет сломался нестабильно, просто откатите его до версии при тестировании.
aptitude записывает свои действия
Пакет журналов Aptitude устанавливает, обновляет и удаляет в / varlog / aptitude, что может быть полезно для выяснения причин, по которым вещи начали ломаться после вчерашнего обновления или когда вы удалили пакет partiticlar.
- см застенчивый Джо
=================== есть также более новое обсуждение 2010 года здесь https://superuser.com/questions/93437/aptitude-vs-apt-get-which- это рекомендуемый инструмент для использования в StackExchange.
источник