Назад | Перейти на главную страницу

сбалансированный (актуальность vs. стабильность) распределение серверов Linux

Я давний пользователь Gentoo как на компьютере, так и на сервере. Как разработчик программного обеспечения, мне нравится его гибкость и настраиваемость (а также тот факт, что это передовой и непрерывный выпуск). Но для моего нового сервера я хочу использовать другой дистрибутив. В основном потому, что компилирование всего было бы помехой на виртуальном сервере, но также из-за того, что Gentoo слишком передовой, и иногда происходит обновление, которое должно быть (более) правильно протестировано и отложено.

(В качестве примечания: я успешно развернул / поддерживал несколько Gentoo-боксов на протяжении многих лет, и большую часть времени все шло очень гладко, и боксы были отличными.)

Поэтому я хотел бы попросить у сообщества совета, основанного на опыте (а не на мнениях), какие дистрибутивы лучше всего подходят по следующим критериям:

Общее

  1. скользящий выпуск или очень хороший (надежный) путь обновления на месте
  2. ни полностью устаревшие, ни абсолютно современные репозитории пакетов
    • Python 2.7 / 3.3 (система в основном будет развертывать приложения python / django)
    • недавний gcc (> = 4.7)
  3. ухоженное, хорошее сообщество
  4. гибкий и настраиваемый
    • должна быть возможность устанавливать разные версии gcc или python бок о бок

Безопасность

  1. подписанные (или иным образом защищенные) репозитории пакетов
  2. разумные / безопасные флаги компилятора (с учетом безопасности, а не производительности)
  3. своевременные обновления безопасности и специальная группа безопасности / список объявлений

Что сразу приходит в голову, так это CentOS и Debian но, к сожалению, оба они уже устарели.

Я смотрю с Ubuntu но программное обеспечение, которое они официально поддерживают (основное / ограниченное репо), довольно мало по сравнению с Universe или другими дистрибутивами. Я также не уверен, насколько хорошо (в отношении исправлений безопасности) они поддерживают официальные пакеты, и мне не очень нравится их корпоративный (= закрытый) менталитет, когда дело доходит до принятия решений, которые влияют на их пользователей. Кстати, я недавно установил для друга рабочий стол 12.10 и не очень впечатлен.

ArchLinux приближается к Gentoo, без компиляции пакета, имхо. Я сам не пробовал, но что сразу бросается в глаза (отрицательно, imho), так это довольно небольшая основная команда и отсутствующая группа безопасности. Кажется, что нет специального списка безопасности, и они только недавно интегрировали подпись пакетов (и я понятия не имею, обязательно ли это). Также существует множество пакетов, которые поддерживаются только через AUR или другими способами. Я больше не могу сказать об этом.

OpenSuSE Я тоже присматриваюсь к нему, но в последний раз я пробовал SuSE, если честно, в ядре 1.x days (тогда я был очень молодым компьютерщиком: P). Поэтому я почти ничего не знаю о его нынешнем состоянии.

Fedora честно говоря, я тоже об этом думал. Обычно он поддерживается в хорошем состоянии и (если он не откладывается на несколько месяцев) имеет хороший график выпуска. С другой стороны, я читал много плохого о Fedora 18, особенно о пути обновления. Кроме того, это определенно очень передовой край.

Я не так много могу добавить к этому довольно длинному сообщению, кроме благодарности за то, что вы прочитали это и нашли время. :-)

ОБНОВЛЕНИЕ @ 2024UTC

Я чувствую, что мне нужно обновить свой вопрос. Хотя я полностью согласен с приведенными ответами, это не совсем то, что я искал. Итак, вот несколько моментов, которые, надеюсь, прояснят мою ситуацию:

Я также должен подчеркнуть, что мой список в исходном посте выше в значительной степени резюмирует то, что для меня важно.

Server Fault не может выбрать операционную систему за вас - вам нужно сделать этот выбор самостоятельно.
Примерно по порядку вам следует учесть следующие моменты:

  1. Поддержка поставщика приложений
    Работает ли необходимое программное обеспечение в рассматриваемом дистрибутиве?

  2. Внутренняя (или региональная) база знаний
    Есть ли у вас системные администраторы, знакомые с рассматриваемым дистрибутивом?
    Если нет, можете ли вы нанять их на месте по разумной цене?

  3. Поддержка поставщика ОС
    Хорошо ли поддерживается дистрибутив поставщиком?
    Можете ли вы получить соответствующие контракты на поддержку (по разумной цене)?
    Есть ли подходящие каналы связи (security @ и ​​т. Д.)?

  4. Особенности управления
    Как можно «синхронизировать» несколько систем с одними и теми же пакетами?
    Как вы можете управлять / обновлять несколько систем, не касаясь каждой из них вручную?


Имейте в виду, что «текущий» и «стабильный», как правило, взаимоисключающие требования:
Дистрибутив, который поддерживает свои пакеты на уровне или почти на самом высоком уровне, по необходимости будет иметь более частые обновления, большую вероятность доставки обновления, нарушающего вашу среду, и возможность возникновения проблем с безопасностью.

При оценке поставщика операционной системы вы должны искать тот, который поставляет «достаточно актуальные» версии программного обеспечения (то есть любой, кто поставляет Apache 1.x, должен быть сразу же, как и любой, кто поставляет программное обеспечение с известными дырами в безопасности, если они не применяют локальные исправления. ), но если у вас нет особой потребности в последней и самой лучшей версии какого-либо пакета, вы должны довольствоваться тем, что поставляет ваш поставщик ОС, если это соответствует вашим потребностям.
Честно спросите себя: «Повлияет ли на мою повседневную работу, если у меня будет Perl 5.12 вместо 5.14?», И если ответ не будет «Да, мне нужна версия 5.14 из-за X... "не беспокойтесь об этом.

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


Если вы не знакомы с различными дистрибутивами и их текущими наборами функций, вы должны провести несколько часов с копией VirtualBox или аналогичного программного обеспечения для виртуализации рабочих столов и оценить каждый из них после того, как вы сузили поле.
Определите, поддерживать какой дистрибутив вам удобнее всего, поскольку вы можете управлять им в течение нескольких лет.

У меня были Gentoo, SuSE и Fedora в производственной среде ... Я предпочитаю производственную работу RHEL или CentOS., но каждый из вышеупомянутых дистрибутивов требовался с ограниченной емкостью для очень специфические особенности.

Gentoo сложно масштабировать ... это можно сделать, но это не "просто работает" распространение. Вы это признали.

SuSE не разделяет мнение в моем регионе, так что это может стать потенциальным препятствием для найма и поиска специалистов.

Fedora достаточно знакома инженерам Red Hat и CentOS, чтобы быть полезной (с большим количеством специалистов, которые могут ее администрировать). Проблема заключается в пути обновления между версиями ... Это влияет на Fedora, а также на RHEL / CentOS.

Однако, если вы делаете это правильно ( DevOps способ), вы не будете запускать полные обновления на месте. Развертывание систем и приложений должно быть автоматизированным и воспроизводимым до такой степени, чтобы вы выполняли повторное развертывание на восстановленных серверах, а не пытались обновить ОС.