Ответы:
apt-get и aptitude - это разные пользовательские интерфейсы, которые являются частью одной и той же системы управления пакетами, APT, Advanced Packaging Tool . Например, оба настроены с использованием /etc/apt/apt.conf
, оба используют одно и то же файловое пространство и форматы для представления состояния пакета, и одно и то же файловое пространство для хранения загруженных .debs.
Чем они отличаются, так это их внутренней системой правил для представления потенциальных конфликтов между пакетами, как их разрешать (скажем, во время apt-get dist-upgrade
против aptitude full-upgrade
) и как выражать их при взаимодействии с пользователем. Вообще говоря, оба могут делать неправильные вещи в сложных ситуациях, но apt-get гораздо чаще ошибается, чем aptitude.
Много полезных советов уже здесь, но позвольте мне добавить одну вещь, которую никто не упомянул. Если вы решите переключиться, вы можете запустить эту команду, в зависимости от того, с чем вы работали apt-get
:
aptitude keep-all
Эта команда сбрасывает aptitude
смысл того, какие пакеты являются сиротами и должны быть удалены.
Вот почему это иногда полезно: на некоторое время теперь, как apt-get
и aptitude
будет отслеживать пакеты , которые были автоматически установлены в зависимости от чего - то другого. Так, например, если вы установите mpd
, вы можете получить lib-so-and-so
как зависимость. Они делают это, так что если вы позже удалите mpd
, lib-so-and-so
тоже будет удален. Но aptitude
и apt-get
справиться с этим по-разному. aptitude
немедленно пытается удалить все потерянные зависимости; но apt-get
просто предлагает вам убежать apt-get autoremove
. (Логика, лежащая в основе всего этого, заключается в том, что вы получили библиотеку только после mpd
того, как она понадобилась. Если вы не сохраните ее mpd
, библиотека вам больше не понадобится. Если от нее по-прежнему зависит другой пакет, то aptitude
иapt-get
будет знать это и не пытаться удалить библиотеку.)
В чем моя точка зрения? Что ж, если вы видели постоянные толчки, чтобы бежать, apt-get autoremove
и вы переключаетесь на aptitude
, то вы можете быть в шоке при первой попытке что-то установить. aptitude
Сразу же постараюсь удалить всех этих сирот. В общем, это будет хорошо (в конце концов, они сироты и не нужны), но есть один сложный случай. Все метапакеты рабочего стола включают сложную цепочку зависимостей, в которую каждая отдельная программа добавляется как зависимость от оболочки виртуального пакета. Например, если у вас установлен Gnome, потому что вы установили gnome
пакет, то все ваши обычные программы для рабочего стола были установлены как зависимости. Если вы удалили одну из этих программ (например, Ekiga или Gedit), то в глазахaptitude
остальная часть вашего рабочего стола тоже должна быть удалена. Обратите внимание, что aptitude
всегда спрашивает, прежде чем удалить вещи, но люди часто вводят «Y» без чтения. По моему опыту, это единственная наиболее распространенная жалоба / путаница для людей, плохо знакомых с Debian.
Два общих совета:
aptitude
или apt-get
внимательно, прежде чем сказать что-либо да.aptitude -s safe-upgrade
или aptitude -s install foo
. -s|--simulate
Флаг является вашим другом.Несколько лет назад в списке рассылки Debian было сказано, что переключение с apt-get на aptitude было рискованным. Это две версии Debian (скажем, 10 лет) назад. Все эти проблемы, кажется, уже решены, и, конечно, я не видел проблем ни в Debian, ни в Ubuntu.
apt-get
на aptitude
. Тогда они выполняли многие важные функции совершенно по-разному. Со временем они стали намного более похожими, и aptitude
повзрослели. В 90% случаев не должно быть проблем при переключении. Смотрите мой пост для одного крайнего случая.
Я также сказал бы идти вперед и использовать aptitude
.
Aptitude
имеет лучшее управление зависимостями, чем apt-get
. Это поможет снизить количество осиротевших посылок.
Я читал некоторое время назад, у которого aptitude
есть лучший алгоритм обновления dist по сравнению с apt-get
. Но это вряд ли убийственная функция, так как она не используется так часто во время жизни системы.
Кроме того, у вас будет больше вещей, объединенных в один инструмент. Вместо того , чтобы вспомнить , когда звонить apt-get
, apt-cache
или dpkg
и с которой переключатели я просто использовать способности и получить большинство вещей сделать.
Что касается осложнений при переключении «в середине»: я не помню, чтобы когда-либо было, когда я делал это.
Разве они не просто другой интерфейс к одному и тому же бэкэнду?
aptitude
является более функциональным интерфейсом ...
dpkg
. но dpkg
просто устанавливает пакеты; это внешние интерфейсы, которые отвечают за поиск, разрешение зависимостей и загрузку.
По моему опыту, у них есть другой способ закрепления версий пакетов. В моем случае я сказал aptitude заблокировать определенные пакеты, предполагая, что буду в безопасности от будущих обновлений. Я был неправ; диспетчер обновлений cron, который использует apt-get, продолжает обновлять его до моего ужаса.
Дратс, когда я писал это, я погуглил и обнаружил, что ошибка ( # 557580 aptitude не подчиняется пинам в settings.d / *) уже исправлена!
Я использую apt-get и aptitude без проблем: у меня один и тот же вопрос ... Почему люди так говорят ??? : D
Продолжайте, и не беспокойтесь: aptitude - это просто текстовый интерфейс для apt-get, который вы можете использовать даже в качестве приложения командной строки, например apt-get install foo
, такой же, как aptitude install foo
.
С уважением
apt-get
также предлагают автоматическое удаление пакетов, установленных только как зависимости. Оставшаяся разница в этом отношении заключается в том, что aptitude
мгновенно удаляет зависимости (при необходимости), но apt-get
только подталкивает вас к запуску команды apt-get autoremove
. Но теперь они оба отслеживают зависимости одинаково. Однако они по-прежнему отличаются обработкой сложных зависимостей и крайних случаев (очень сложные установки или удаления), но для большинства людей и большинства ситуаций они работают одинаково.
aptitude
удалит их сразу, ноapt-get
предложит вам удалить их, введя командуapt-get autoremove
. В общем, они захотят удалить одни и те же предметы. Смотрите эту ссылку, однако, для сложного случая, когда они не согласились с этим: forums.debian.net/viewtopic.php?f=10&t=49589&start=0