Я думал о переходе на aptitude, но слышал, как люди говорили: «Если вы уже используете apt-get, вам следует подождать до следующей установки, чтобы переключиться». Почему люди так говорят? Какие проблемы (если таковые имеются) это может вызвать?
Я думал о переходе на aptitude, но слышал, как люди говорили: «Если вы уже используете apt-get, вам следует подождать до следующей установки, чтобы переключиться». Почему люди так говорят? Какие проблемы (если таковые имеются) это может вызвать?
apt-get и aptitude - это разные пользовательские интерфейсы, которые являются частью одной и той же системы управления пакетами, APT, Advanced Packaging Tool . Например, оба настроены с использованием /etc/apt/apt.conf
, оба используют одно и то же файловое пространство и форматы для представления состояния пакета, и одно и то же файловое пространство для хранения загруженных .debs.
Чем они отличаются, так это их внутренней системой правил для представления потенциальных конфликтов между пакетами, как их разрешать (скажем, во время apt-get dist-upgrade
против aptitude full-upgrade
) и как выражать их при взаимодействии с пользователем. Вообще говоря, оба могут делать неправильные вещи в сложных ситуациях, но apt-get гораздо чаще ошибается, чем aptitude.
aptitude
удалит их сразу, ноapt-get
предложит вам удалить их, введя командуapt-get autoremove
. В общем, они захотят удалить одни и те же предметы. Смотрите эту ссылку, однако, для сложного случая, когда они не согласились с этим: forums.debian.net/viewtopic.php?f=10&t=49589&start=0Много полезных советов уже здесь, но позвольте мне добавить одну вещь, которую никто не упомянул. Если вы решите переключиться, вы можете запустить эту команду, в зависимости от того, с чем вы работали
apt-get
:Эта команда сбрасывает
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
. Но теперь они оба отслеживают зависимости одинаково. Однако они по-прежнему отличаются обработкой сложных зависимостей и крайних случаев (очень сложные установки или удаления), но для большинства людей и большинства ситуаций они работают одинаково.