113

Я новичок в 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?

2 ответа2

107

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

  • ./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 . Если его нет или у вас есть какие-то особые требования, соберите из исходного кода.

4

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .