Первым отличием является то, что aptitude предоставляет интерфейс меню терминала, похожего на терминал в Synaptic, а apt-get не похож.
Обращая внимание только на интерфейсы командной строки каждого из них, заметно то, что они очень похожи, и по большому счету нет разницы, какой из них вы используете. Последние версии обоих будут отслеживать, какие пакеты были установлены вручную, а какие установлены как зависимости и, следовательно, могут быть автоматически удалены. Я думаю, что эти два инструмента были недавно обновлены, чтобы фактически использовать одну и ту же базу данных вручную и автоматически установленных пакетов. Поэтому сейчас случаев, когда вы устанавливаете что-то с помощью apt-get, а затем aptitude хочет удалить это, уже нет.
Имеется, правда, несколько незначительных отличий.
- aptitude автоматически удалит пакеты, тогда как apt-get потребует для этого действия отдельной команды
- Команды для обновления вместо dist-upgrade были переименованы в aptitude, возможно, для более точных названий safe-upgrade и full-upgrade соответственно.
На самом деле aptitude выполняет функции не только apt-get, но и некоторых сопутствующих инструментов, таких как apt-cache и apt-mark.
- aptitude имеет немного другой синтаксис запроса для поиска в отличии от apt-cache
- У aptitude существуют команды why и why-not, которые говорят вам, какие установленные вручную пакеты препятствуют выполнению действия, которое вы, возможно, захотите предпринять.
Если действия, такие как установка, удаление, обновление пакетов, которые вы хотите предпринять, вызывают конфликты, в этом случае aptitude может предложить несколько возможных решений. Но apt-get просто даст знать, что не выполнит это. Есть и другие небольшие различия, но это самые важные, о которых следует говорить.
В общем, aptitude более правильно относится к категории с Synaptic и другим высокоуровневым интерфейсам менеджера пакетов. Просто так получилось иметь интерфейс командной строки, похожий на apt-get.
wajig
Возвращаясь к упоминанию о таких сопутствующих инструментах как как apt-cache и apt-mark. Их достаточно много, и если использовать их часто, то есть вероятность забыть, какие из них предоставляют какие команды. wajig-это одно из решений данной проблемы. По сути, это диспетчер, обертка вокруг всех этих инструментов. При необходимости также применяется sudo.
Когда вы говорите wajig install foo, он отвечает: «Ok, install is provided by apt-get and requires admin privileges», и запускается sudo apt-get install foo.
Когда указываете wajig search foo, wajig дает знать Вам: «Ok, search is provided by apt-cache and does not require admin privileges», и он запускается apt-cache search foo.
Если вы используете wajig вместо apt-get, apt-mark, apt-cache и других, то у вас никогда не возникнет этой проблемы:
$ apt-get search foo
E: Invalid operation search
Если вы хотите узнать, какие инструменты использует wajig для реализации конкретной команды, то у него есть --simulate и --teaching режимы.
Часто используемые команды для wajig
wajig listfiles foo
и
wajig whichpkg /usr/bin/foo