Некоторое время назад я прочитал, что aptitude
это предпочтительный инструмент для установки в системах на основе Debian. Но когда вы ищите, как администрировать систему на основе Debian, aptitude редко упоминается. Большинство людей предпочитают apt-get
- и это даже верно для вики-страниц Debian!
Таким образом, мне интересно, если я что-то пропустил. Какой инструмент лучше использовать?
aptitude
по умолчанию.apt-get source package-name
сделаю это, но я не видел эквивалента способностейaptitude search package-name
работает в способности. Другоеaptitude why package-name
тоже полезно, но не вapt-get
. Я также считаю, что командная строкаaptitude
немного очищена по сравнению сapt-get
. Но, как вы заметили, есть,aptitude build-dep package-name
но нетaptitude source package-name
.Ответы:
aptitude
иapt-get
работают одинаково для многих задач, но в самых сложных случаях, таких как обновление дистрибутива (apt-get dist-upgrade
противaptitude full-upgrade
), у них разные правила, и правила aptitude почти всегда лучше на практике, где они не согласны.Причина вы видите больше документации по
apt-get
Оверaptitude
в основном инерция:aptitude
не было рекомендуемую передний конец APT для всех , что долго, так что большая часть существующей документации не был обновлен, и есть много людей , которые признают преимуществаaptitude
надapt-get
но использоватьapt-get
рефлексивно.Недавно я попал в точку , где я обычно следую
apt
с ,i
а не-
когда я печатаю.Постскриптум Обратите внимание , что правила используются в
apt-get
иaptitude
двигаются цель - в качестве Hubert отмечает в комментариях, путь обновления рекомендуется из Debian Lenny теперь используетapt-get
, неaptitude
. Это отражает тот факт, чтоapt-get
отслеживает меньшее состояние текущего пакета, чемaptitude
, и поэтому не нужно беспокоиться о том, что состояние APT не является «чистым», а также потому, чтоapt-get
правила умнее, чем раньше. Я все еще использую и рекомендуюaptitude
сноваapt-get
, но это более нюансированная рекомендацияисточник
apt-get
имеет преимущество в том, что более эффективно использует память. Это вряд ли будет заметно для большинства пользователей; Я не знал об этом, пока не попытался обновить пакеты при полной установке Debian с 32 МБ ОЗУ.aptitude
закончил тем, что побежал в обмене в течение приблизительно часа за пробег; apt-get был значительно быстрее.aptitude
для обновления с Lenny, хотя это поддерживалось для предыдущих обновлений, поэтому я не думаю, что это только инерция ...apt-get
почти всегда выдает ошибки (опыт работы с Ubuntu server 12.10, 14.04), хотя наaptitude
самом деле может что-то делать. Я до сих пор не понимаю, как apt-get все еще существует.aptitude
позволяет удобно показывать, какие программы в поиске вы уже установили в системе (с помощьюgrep
):На самом деле,
aptitude
поиск гораздо более мощный, чем то, что вы получаете по каналуgrep
, поскольку он поддерживает контекстный поиск:например, это находит все пакеты с 'flash' в имени пакета, которые установлены:
Эквивалентная «длинная форма» «короткой формы»
~i
:Обратите внимание, что шаблоны поиска по умолчанию бесплатны. Чтобы привязать их, вам нужно использовать шаблоны привязки '
^
' (начало строки) и / или '$
' (конец строки).Чтобы найти все пакеты, имена которых начинаются с «ttf» или «font»:
(Примечание: это обходной путь для ошибки
aptitude
, поскольку правильное регулярное выражение'^(ttf|font)'
не работает должным образом - он находит пакеты, имена которых начинаются с 'ttf' или содержат 'font'.)Другие отличные
aptitude
особенности:Показать все пакеты с «firmware» в названии, которые также имеют «wireless» в их описании:
или длинная форма:
(Примечание: в краткой форме аргументы, разделенные пробелом, заключаются в кавычки AND; если они передаются как отдельные аргументы командной строки argv [], они ORed.)
~U
показывает все пакеты, которые можно обновить с их текущих версий новыми версиями:Показать пакеты, которые рекомендуют gcc-multilib
Объясните, почему может потребоваться установка 'fuse-utils'
(Этот пример демонстрирует некоторые сумасшествия, возникающие из-за того, что Squeeze (?) Устанавливает все пакеты «Recommended» по умолчанию. Установка gnome-терминала заканчивается установкой ntfsprogs и fuse-utils, например, egad! Я думаю, что большинство людей просто хотят перспективу терминала и не встроенная интеграция NTFS, которая является необязательной, если они не указали это.)
Найдите все пакеты, которые предоставляют услуги «mail-transport-agent»:
Показать все установленные имена пакетов, которые не являются необходимыми или автоматически устанавливаются зависимостями:
К сожалению, этот материал довольно плохо документирован и его трудно найти, но вот лучшая ссылка (от сопровождающего aptitude).
источник
apt-get
черезapt-cache search NAME
Согласно часто задаваемым вопросам Debian GNU / Linux об управлении пакетами , aptitude более сложна, чем apt-get, и зависит от менее сложных инструментов управления пакетами apt-get и dpkg.
Следовательно, для более простых нужд вы можете использовать более простые инструменты, в то время как для более сложных потребностей вы можете рассчитывать на более сложный инструмент (apitude).
Цитируется из FAQ по Debian: «aptitude предоставляет функции dselect и apt-get, а также множество дополнительных функций, которых нет ни в одной программе».
источник
aptitude отмечает пакеты, которые были установлены из-за зависимости от тега auto. Если вы сейчас удалите или удалите пакет, aptitude автоматически удалит автоматически установленные пакеты, которые больше не используются вместе с пакетом, который вы хотите очистить или удалить.
Это главная причина, почему я лично считаю, что способность всегда лучше, чем способность.
источник
apt-get
это тоже, сapt-get autoremove <package-name>
. Обаapt-get
иaptitude
отметьте автоматически установленные пакетыaptitude
очищайте автоматические пакеты каждый раз, когда он используется. Покаapt-get
нужно начинать с этого явно.Там нет подходящего инструмента, вы можете смешивать и сочетать оба в зависимости от того, который вы считаете наиболее удобным для текущей задачи. aptitude - отличный инструмент для тестирования пользователей / sid, но он, как правило, менее надежен для дистрибуции с одной стабильной на другую. Смотрите мою статью apt-get, aptitude, ... выберите правильный менеджер пакетов для вас .
источник