Показать статистику
+1 голос
от (870 баллов)

apt-get и  aptitude являются интерфейсами управления пакетами командной строки в Linux Debian. Для чего поддерживать одновременно эти параллельные инструменты? И еще не ясен вопрос, касаемый wajig. В чем его особенность?

55 просмотров 1 ответов

1 Ответ

0 голосов
от (14тыс. баллов)

Первым отличием является то, что  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
...