Я новичок в Linux и использую CentOS. Я сталкивался с четырьмя способами обновить или установить программное обеспечение.
До сих пор я видел:
yum install [program]
apt-get install [program]
rpm -i [program].rpm
wget [program].tar.gz
-> unpack
-> ./configure
-> make
-> make install
Последний из них - настоящая боль, особенно из-за Windows, где установка программы обычно выполняется одним щелчком мыши и хорошим установщиком.
Итак, мои вопросы:
Все эти инструменты устанавливают программное обеспечение в вашу систему, но работают на разных уровнях.
./configure && make install
Запуск ./configure && make install
создает и устанавливает библиотеки или исполняемые файлы непосредственно из исходного кода.
Шаг make install
в основном просто копирует окончательные файлы в вашу систему. Многие источники поставляются со специальным правилом make uninstall
для их повторного удаления, но это не гарантируется и, конечно, работает только при наличии настроенных источников. Кроме того, это не заботится о необходимых зависимостях.
Часто для определенного пакета доступен только исходный код, так что это единственный путь. Кроме того, ./configure
обычно принимает множество опций, позволяющих адаптировать ваш пакет.
Отсутствие возможности выяснить, какое программное обеспечение и какой файл установлены, и отсутствие надежного способа их удаления из системы являются основными недостатками этого подхода.
RPM(Redhat Package Manager)
rpm
устанавливает уже сконфигурированное и скомпилированное программное обеспечение в вашу систему, а также поставляется с деинсталляцией, чтобы снова избавиться от него. Пакеты должны быть кем-то созданы. Этот человек уже определился с тем, какие функции включить и как наилучшим образом интегрировать пакет в макет вашей системы. Это также идет со списком зависимостей.
Поскольку rpms используются во многих дистрибутивах, вам часто нужно убедиться, что этот rpm был написан для вашего дистрибутива, чтобы пути установки, зависимости и другие вспомогательные функции хорошо интегрировались.
В системах Debian эквивалентный формат пакета - .deb
, а установка и база данных обрабатываются инструментом dpkg
.
Yum
yum
- это дополнительная обертка вокруг rpm
. Он хранит свою собственную базу данных rpm-файлов, доступных для вашего распространения, как правило, в онлайн-хранилищах. Для стабильных версий большинства дистрибутивов все пакеты в этой базе данных будут хорошо взаимодействовать друг с другом. В этой базе данных можно искать (например, с помощью yum search some_name
).
Это также автоматически разрешит зависимости для вас. Пакеты (и с некоторой дополнительной помощью их зависимости) также могут быть легко удалены.
В системах Debian Apt (apt-get
и aptitude
) предоставляет эквивалентные инструменты для репозитория и разрешения зависимостей.
Итак, подведем итог: если вы просто хотите какое-то программное обеспечение, попробуйте сначала yum
. Если его там нет, вы можете попытаться найти существующий пакет rpm
. Если его нет или у вас есть какие-то особые требования, соберите из исходного кода.
Yum - это RPM - это то же самое, за исключением того, что yum автоматически получает пакеты из сети и устанавливает их (используя rpm -i
) за один шаг. По возможности его следует использовать для облегчения обновления. Используйте rpm
только тогда, когда yum
не найдет пакет, а метод make
только тогда, когда пакет .rpm недоступен или вам нужно изменить некоторые параметры времени компиляции.