Я часто видел, как системные администраторы загружают и устанавливают серверные приложения, в том числе стандартные приложения, такие как Apache, под выделенным /srv
или /opt
каталог вместо установки их из официального репозитория, например apt-get install xxx
.
Действительно ли установка и запуск веб-сервера, почтового сервера или даже менее распространенных служб, таких как Zope, из официальных пакетов дистрибутива - плохая идея?
Совсем неплохая идея. ИМХО, все наоборот: вам нужна веская причина, по которой официальных пакетов недостаточно.
Некоторые проблемы:
Конечно, когда вам нужна конкретная функция новой версии или просто очень конкретная конфигурация, делать свои собственные вещи - допустимый подход, но у него будут недостатки.
Действительно ли установка и запуск веб-сервера, почтового сервера или даже менее распространенных служб, таких как Zope, из официальных пакетов дистрибутива - плохая идея?
Зависит от того, чего вы пытаетесь достичь.
Основные дистрибутивы обычно относительно быстро выпускают критические исправления безопасности и обычно поставляются с инструментом для их идентификации и уведомления вас - вы не получите этого при установке из архива.
OTOH они медленнее выпускают некритические обновления, не хотят усложнять процесс поддержки несколькими версиями программного обеспечения и (для коммерческих поставщиков) хотят, чтобы вы купили новую версию, когда она появится. Иногда функциональность вообще недоступна - например, php Поддержка sqlite в RHEL.
Компиляция с нуля означает (если вы знаете, что делаете), вы можете создать двоичный файл, оптимизированный для вашего оборудования. Вы действительно должны убедиться, что у вас нет зависимости от программного обеспечения, поставляемого дистрибьютором, от программного обеспечения, которое вы обслуживаете самостоятельно - иначе вы будете обречены на ад зависимости!
Таким образом, есть преимущества в установке от разработчика, а не от дистрибьютора, но вам нужно спланировать время и процессы для обеспечения безопасности системы. Конечно, у вас должна быть очень веская причина для этого.
С.
Debian (в частности) выпускает подходящие версии, если они были тщательно проверены как «Стабильные». Когда вы используете версию для репозитория, вы можете быть достаточно уверены в том, что она будет работать с небольшими проблемами или вообще без них.
Аргумент обеспечения безопасности тоже очень верен.
Для меня, если мне не нужна новая функция в версии, которая не была отфильтрована через процесс утверждения Debian или Ubuntu, а она абсолютно необходима, я придерживаюсь версий репозитория.
-Вальдо
Для Postgresql и MySQL я всегда предоставляю наши собственные компиляции, то же самое касается версий python и его различных плагинов. Я думаю, что большинство разработчиков согласятся, что они будут придерживаться своих согласованных версий программного обеспечения и библиотек.
Обычно я использую дистрибутивы (CentOS). Имея более пары серверов, трудно не отставать от исправлений безопасности, если вы устанавливаете из исходных или нераспространяемых пакетов. У нас есть исключения: мы вручную устанавливаем Java из пакетов Oracle / Sun, а не используем сломанную Java в CentOS. И мы устанавливаем MySQL из пакетов Oracle / Sun, чтобы получить последнюю стабильную версию. Даже с этими двумя исключениями сложно поддерживать их в актуальном состоянии с помощью исправлений.