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

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

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

133
задан 30 October 2015 в 20:45

7 ответов

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

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

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

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

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

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

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

113
ответ дан 30 October 2015 в 20:45

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

18
ответ дан 30 October 2015 в 20:45

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

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

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

14
ответ дан 30 October 2015 в 20:45

В основном, они различаются только тем, насколько они низкоуровневые.

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

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

aptitude: текстовое, но удобное для пользователя

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

Software Center: для обычных пользователей

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

5
ответ дан 30 October 2015 в 20:45

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

sudo apt-get install packagename

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

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

6
ответ дан 30 October 2015 в 20:45

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

1
ответ дан 30 October 2015 в 20:45

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

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

1
ответ дан 30 October 2015 в 20:45

Другие вопросы по тегам:

Похожие вопросы: