В чем разница между менеджерами пакетов?

129

Каковы различия между apt-get, aptitudeи synaptic, и какой из них является рекомендуемым выбором для обычного повседневного управления пакетами?

Это основной вопрос, но я думаю, что было бы неплохо иметь информацию на сайте, и, кроме того, я относительно новичок в Ubuntu, поэтому я мог бы использовать объяснения экспертов.

Дэвид З
источник
1
Я также видел людей, рекомендующих тассел. Может быть, кто-то может объяснить, для чего этот тоже хорош?
Сильво
2
taskselпредназначен для выбора конкретных задач, а не для установки случайного пакета J.
Ифараоне
[Отличное сравнение] [1] apt-getи aptitudeс особым упоминанием моего любимого переднего конца wajig. [1]: unix.stackexchange.com/questions/767/…
tshepang
Для более подробного сравнения apt-getи aptitudeпросмотра другого вопроса на этом сайте - действительно ли aptitude лучше, чем apt-get?
8128

Ответы:

111

Вероятно, наиболее популярными менеджерами пакетов являются apt-get, aptitude, synaptic и Software Center. Есть и другие (у Linux Mint есть свои, и некоторые из них предназначены для KDE), но это те, с которыми вы столкнетесь чаще всего.

кв-получить простой инструмент командной строки. Это удобно, если вы знаете точное название пакета, которое хотите установить, и не хотите тратить время на просмотр графического интерфейса пользователя, чтобы получить его.

aptitude очень похож на apt-get, и я слышал, что он лучше справляется с безумными ситуациями с зависимостями. Какой из них действительно лучше спорно.

synaptic - это графический интерфейс низкого уровня. Это хороший выбор, если вы достаточно продвинутый пользователь, но вам не нравятся утилиты командной строки.

Центр программного обеспечения - это высокоуровневый, удобный для пользователя графический интерфейс. Программное обеспечение хорошо разбито на категории, поэтому, если вы не совсем уверены, какое приложение вам нужно, вы сможете быстро найти то, что вам нужно. Центр программного обеспечения также выделяется тем, что он является единственным менеджером пакетов в этом списке, который позволяет вам приобретать коммерческие приложения.

dpkg - это менее используемый низкоуровневый стандарт менеджера пакетов для большинства систем на основе Debian. В действительности, apt-get, aptitude, synaptic и Ubuntu Software Center - это всего лишь внешние интерфейсы для dpkg или apt, что само по себе является внешним интерфейсом для dpkg.

Отвечая на ваш вопрос «какой из них является рекомендуемым выбором для обычного повседневного управления пакетами», я бы сказал, что Центр программного обеспечения рекомендуется для большинства применений. Но по мере того, как вы приобретете больше опыта, вы обнаружите, что некоторые функции менеджеров пакетов более низкого уровня полезны.

Майкл Креншоу
источник
Я должен задаться вопросом, в чем смысл Synaptic на данный момент. Люди, которым нужны библиотеки, используют командную строку, а люди, которым нужны программы, используют Software Center?
mlissner
Честно говоря, я редко использую Synaptic, и в настоящее время я не могу придумать какой-либо конкретной причины, по которой я бы использовал Synaptic над одним из других инструментов (хотя я использую время от времени). Хороший вопрос.
Майкл Креншоу
10
aptitude vs apt-get не подлежит обсуждению, aptitude является улучшением по сравнению с apt-get и идеально совместима с ним.
Мирча Chirea
1
У меня нет знаний, чтобы обсуждать это, но я видел, как другие обсуждают это. Так, насколько мне известно , это спорно. Что касается совместимости, я слышал, что лучше не использовать оба. Но опять же, я не знаю. Я оставлю это для другого вопроса. :-)
Майкл Креншоу
3
aptitude предоставляет расширенные функции управления пакетами, такие как хранение пакетов, которых не хватает в apt-get.
Скотт
18

Debian FAQ имеет довольно хорошее объяснение различных менеджеров пакетов. ( dpkg, apt-get, aptitude, tasksel, synaptic)

lfaraone
источник
1
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. - Из обзора
Pilot6
1
Семь лет спустя?
17
13

В дополнении к отличному ответу mac9416 в , Kubuntu предлагает те же инструменты командной строки , как Ubuntu, а именно dpkg, apt-get, и aptitude. Есть также два графических менеджера пакетов:

Adept - это простой графический интерфейс для apt-get, который позволяет редактировать исходные списки, просматривать пакеты по категориям или по именам, видеть их состояние, а также устанавливать / удалять их.

KPackageKit - это простой графический интерфейс для PackageKit, который представляет собой новую систему управления пакетами с перекрестным распространением, которая используется apt-getза кулисами. Он позволяет вам искать программы по различным критериям, устанавливать и удалять программы, выполнять обычные обновления и редактировать списки источников.

Дэвид З
источник
KPackageKitтеперь заменяется на Apper.
Дэвид твой друг
6

Я лично предпочитаю apt-get, потому что это программа командной строки. И синтаксис для установки пакетов очень прост:

sudo apt-get установить имя_пакета

Я ежедневно использую apt-get для установки и удаления пакетов.

Synaptic основан на графическом интерфейсе, а aptitude - на текстовой основе.

Натан Осман
источник
aptitudeможет также использоваться в интерактивном режиме и долгое время имел функции, которых не хватало большинству других клиентов libapt. sudo aptitude installработает так же хорошо, как sudo apt-get install. sudo apitude searchработает так же хорошо, как sudo apt-cache search. Aptitude, однако, планируется удалить в будущем.
Broam
@Broam Можете ли вы предоставить источник для заявления о том, что Aptitude планируется удалить? Погугливая вокруг, я ничего не мог найти по этому поводу.
itadok
Это предусмотрено для удаления при установке по умолчанию, как GIMP.
Broam
5

По сути, они отличаются только тем, насколько низки они.

dpkg : даже не правильный менеджер пакетов, apt использует его

apt-get : командная строка, только если вы знаете имя пакета

aptitude : текстовый, но удобный

synaptic : эквивалент aptitude в GUI

Центр программного обеспечения : для обычных пользователей

Кстати, это все внешние интерфейсы apt (кроме dpkg), который является единственным менеджером пакетов в Ubuntu.

Серес Виктор
источник
1

Еще один инструмент, который вряд ли получил упоминание tasksel. Он используется для выбора конкретных задач, отметки их для установки, а затем их установки (возможно, с использованием aptitude- не уверен).

Запустите, tasksel --list-tasksчтобы посмотреть, какие задачи доступны.

tshepang
источник
Это на самом деле было упомянуто в комментариях к вопросу.
Дэвид З
1
@ Давид Я видел это упоминание, но комментарии - граждане 2-го класса.
tshepang
1

Одно из ключевых отличий между aptitude и apt-get, которое не было упомянуто выше, заключается в том aptitude, что , в отличие от этого apt-get, он предложит вам различные варианты в случае конфликта зависимостей. apt-getпросто потерпит неудачу aptitudeгораздо более гибким и универсальным по этой причине. Никогда не использовавший менеджер пакетов GUI, я не знаю, как Synaptic и другие справляются с такими ситуациями.

ShankarG
источник