Это Канонический вопрос о том, когда использовать упакованное программное обеспечение, а когда его собрать и установить самостоятельно.
Когда мне следует устанавливать программное обеспечение из пакетов, предоставленных моим дистрибутивом ОС, вместо того, чтобы собирать и устанавливать его самостоятельно из исходников? Когда лучше строить из исходников?
Вам следует использовать пакеты вашего дистрибутива, если у вас нет веской причины не делать этого. Использование пакетов дистрибутива дает вам важные преимущества:
Если вам нужно использовать более новую версию некоторого программного обеспечения, чем предоставляет ваш дистрибутив, или включить функцию, которая должна быть скомпилирована, вы можете найти более свежие или функциональные версии пакета в репозиториях сообщества. Репо Реми - это хорошо известный пример, предлагающий, помимо прочего, гораздо более современные версии PHP, чем те, которые поставляются с RHEL / CentOS. Использование репозитория сообщества дает вам многие преимущества репозиториев ОС, но с риском, что автор выпускает вредоносное ПО, которое вы затем устанавливаете с полными привилегиями в вашу систему. Вам придется самостоятельно принимать решения о риске / вознаграждении в каждом конкретном случае.
Если ни одна из этих альтернатив вам не подходит, вам нужно будет выполнить компиляцию из исходников. При компиляции программного обеспечения из исходного кода рекомендуется: создавать свои собственные двоичные пакеты. Создание собственных пакетов позволяет:
Поскольку это делает вы сопровождающий пакетов, вам нужно будет подписаться на соответствующие списки рассылки по безопасности, чтобы не пропустить критические ошибки и обновления безопасности.
Если вы все-таки установите локально созданное программное обеспечение без его упаковки, Уложить GNU может помочь сохранить его в порядке и упростить чистую деинсталляцию.
Мне нравится ответ Эндрю.
Я хочу отметить одно конкретное дополнение к комментарию Эндрю о «лучшей интеграции». Если вы устанавливаете приложение из исходного кода (зависимость будущего проекта), а затем пытаетесь установить пакет из двоичного файла (например, пакет deb или rpm), этот пакет может не распознать, что зависимость установлена. Если бы вы установили начальное приложение зависимости из пакета RPM или DEB, будущий пакет узнал бы, что он установлен. Лучше всего использовать тот же метод пакета (например, yum, pip, rpm и т. Д.). Еще один метод - установка из исходников. Так что легкость, о которой говорит Эндрю, требует серьезного внимания.
Я хочу добавить, что «создавайте свои собственные двоичные пакеты» имеет преимущество ведения журнала процесса установки. Установка из исходных файлов не имеет возможности ведения журнала.