Вопрос: В чем разница между yum, apt-get, rpm, ./configure && make install?


Я новичок в Linux и запускаю CentOS. Я столкнулся с четырьмя способами обновления или установки программного обеспечения.

До сих пор я видел:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz -> unpack -> ./configure -> make -> make install

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

Итак, мои вопросы:

  • Почему в Linux так много разных способов сделать это?
  • Какой из них вы рекомендуете использовать, и почему?
  • Существуют ли другие способы установки программ в Linux?

107
2018-03-31 02:27


Источник


Кроме того, что yum против up2date, Я никогда не понимал разницы. - Josh
apt-get для Debian, и на самом деле не должен появляться на CentOS .... - Kyle Strand


Ответы:


Эти инструменты все устанавливают программное обеспечение в вашу систему, но работают на разных уровнях.

  • ./configure && make install

    Бег ./configure && make install строит и устанавливает библиотеки или исполняемые файлы непосредственно из исходного кода.

    make install шаг в основном просто копирует финальные файлы в вашу систему. Многие источники поставляются со специальными make uninstall чтобы удалить их снова, но это не гарантируется и, конечно же, работает только до тех пор, пока у вас есть настроенные источники. Кроме того, это не заботится о необходимых зависимостях.

    Часто для определенного пакета доступен только исходный код, так что это единственный путь. Также, ./configure обычно принимает множество опций, позволяющих вам адаптировать ваш пакет.

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

  • RPM (Менеджер пакетов Redhat)

    rpm устанавливает уже настроенное и скомпилированное программное обеспечение в вашей системе, а также поставляется с удалением, чтобы снова избавиться от него. Пакеты должны быть созданы кем-то. Этот человек уже решил, какие функции включить и как наилучшим образом интегрировать пакет в ваш макет системы. Он также содержит список зависимостей.

    Поскольку rpms используются для многих дистрибутивов, вы часто захотите убедиться, что этот rpm был написан для вашего дистрибутива, так что пути установки, зависимости и другие вещи для домашнего хозяйства хорошо интегрируются.

    В системах Debian эквивалентный формат пакета .deb и установка и база данных обрабатываются dpkg инструмент.

  • Yum

    yum является дополнительной оберткой вокруг rpm, Он хранит собственную базу данных rpm-файлов, доступных для вашего распространения, как правило, в онлайн-хранилищах. Для стабильных версий большинства дистрибутивов все пакеты внутри этой базы данных будут хорошо взаимодействовать друг с другом. Эта база данных может быть найдена (например, с помощью yum search some_name).

    Он также автоматически разрешит вам зависимости. Пакеты (и с некоторой дополнительной помощью их зависимости) также могут быть легко удалены.

    В системах Debian эквивалентные инструменты репозитория и разрешения зависимостей предоставляются Apt (apt-get а также aptitude).

Итак, подведите итог: если вы просто хотите, чтобы какое-то программное обеспечение пыталось yum первый. Если он недоступен, вы можете попытаться найти существующий rpmпакет. Если их нет или у вас есть особые требования, создайте их из источника.


100
2018-03-31 03:07



в значительной степени, что я собирался сказать. добавлено в упоминании о дебианских эквивалентах и ​​коснулось форматирования. - quack quixote
@quack: Спасибо. Но разве мы не можем просто замять apt-get или он по-прежнему рекомендуется ни для чего? - Benjamin Bannier
ты прав, уместность вероятно, лучше рекомендовать; я включен APT-получить потому что его широко называют, и читатель, который не знает о уместность возможно, слышали о APT-получить, - quack quixote
Что случилось с apt-get? - recursive
@recursive: в какой-то момент apt-get не записывал автоматические зависимости и оставил их после удаления, в то время как aptitude затем ввел правильное отслеживание зависимостей. Кроме того, он также предоставил некоторые дополнительные функции, недоступные в apt-get, Я не уверен, но я думаю, что в какой-то момент apt-get а также aptitude где обновлено, чтобы использовать тот же самый расширенный бэкэнд, обеспечивающий большую часть этой функциональности. - Benjamin Bannier


Yum - это RPM, это то же самое, за исключением того, что yum автоматически получает пакеты из сети и устанавливает их (используя rpm -i) за один шаг. Его следует использовать, когда это возможно, для облегчения обновления. использование rpm только когда пакет не найден yum, и использовать make метод, только если нет пакета .rpm или вам нужно изменить некоторые параметры времени компиляции.


4
2018-03-31 02:54