Считаете ли вы, что Arch Linux подходит для серверной среды? Его модель скользящего выпуска и простота кажутся хорошими, потому что после его установки вам не нужно переустанавливать, как модель выпуска из других дистрибутивов.
Но что постоянное обновление не вызывает проблем со стабильностью? Несмотря на то, что Arch Linux является передовым, он использует самую последнюю СТАБИЛЬНУЮ версию программного обеспечения.
Вероятно, самая большая проблема с Arch как серверной операционной системой заключается в том, что неясно, где и когда приложения могут сломаться после обновления. Чаще всего вам нужно следить за тем, что происходит в вики и на форумах, прежде чем выполнять какое-либо обновление; с Debian и CentOS вы можете быть уверены, что любые обновления не повредят работу каких-либо приложений, поскольку чаще всего обновления, сделанные в ветке STABLE, будут исправлением безопасности / ошибок.
Хотя мне нравится Arch, я бы не стал использовать его в производственной среде. Прежде всего, в производственной среде вам нужно что-то стабильное и хорошо протестированное. Кроме того, поскольку он довольно урезан, вам нужно создавать собственные сценарии или настраивать вещи вручную (иногда это хорошо, потому что вы точно знаете, что работает в вашей системе, но очень плохо, потому что настройка его занимает слишком много времени). Кроме того, поскольку он не широко используется в производственных средах, в случае возникновения проблемы вы не найдете поддержки, которую вы бы нашли, если бы использовали Debian или Fedora (сообщество Arch велико, но, честно говоря, не такое большое как Debian или Fedora)
Подводя итог, я считаю, что он отлично подходит для настольных компьютеров, но не для производственных сред.
Да.
Плюсы:
действительно минимальная система из коробки, отлично подходит для производительности, особенно на недорогих машинах / VPS. Никаких ненужных сервисов - по сравнению с CentOS 7, который запустил несколько сервисов, связанных с виртуальными машинами, которые даже не были применимы ко мне, поскольку я работал на голом железе.
актуальное программное обеспечение и большие репозитории; Я потерял довольно много времени с CentOS, когда чего-то не было в репозиториях, и я был вынужден либо скомпилировать его из исходного кода, либо установить сторонние RPM / репозитории, а затем оказаться в аду зависимостей, потому что эти сторонние RPM были конфликтует с обновлениями из официальных репозиториев.
systemd, хотя другие дистрибутивы (даже Ubuntu) переходят на него, так что это не так уж важно, но этого следует ожидать от любого достойного дистрибутива.
инструменты настройки сети, которые имеют смысл. Нет ни Networkmanager для настольных компьютеров, ни firewalld (глядя на CentOS / RHEL).
менеджер пакетов, который делает именно то, что написано на жестяной коробке. Диспетчер пакетов не будет пытаться «помочь» вам, автоматически настраивая или запуская только что установленную службу (смотрите Ubuntu / Debian). Это также быстро, лучше, чем yum
, и, возможно, немного быстрее, чем apt-get
.
процесс установки, который не заставляет вас использовать какие-либо значения по умолчанию и предлагает много места для настройки - сравните это с CentOS / RHEL, который заставляет вас использовать LVM и свопинг, что не всегда нужно (на самом деле, почти никогда в моем случае)
/usr/bin/python
на самом деле последний Python 3, а не доисторический Python 2.7. Это всегда проблема для меня с большинством других дистрибутивов, и вы не можете легко изменить это (по крайней мере, не в масштабе всей системы), поскольку это сломает многие приложения, которые на него полагаются.
Минусы:
некоторые обновления требуют ручного вмешательства и могут сломаться. Я рекомендую иметь реплику вашей производственной среды на виртуальных машинах и тестировать там обновления, прежде чем развертывать их на реальных серверах.
нет рабочих конфигураций по умолчанию. Плохо для людей, которые просто хотят запустить apt-get и установить свой небезопасный стек LAMP по умолчанию, чтобы развернуть свое дрянное уязвимое приложение PHP и загрязнить Интернет. Конечно, это действительно преимущество для серьезных людей, поскольку заставляет вас просматривать файлы конфигурации перед запуском службы.
нет поддержки SELinux. Есть GRSecurity и его RBAC, но вам нужно время, чтобы привыкнуть к нему и настроить его.
Я бы не согласился с тем, что вы получаете меньше поддержки. Конечно, это правда. Это недостаток? На мой взгляд нет. В Arch очень мало того, что могло бы сломаться, и для этого потребуется поддержка кого-то, кто знаком с Arch. Обычно, если вам нужна поддержка, она понадобится вам для определенного программного обеспечения, и в этом случае вы спросите его разработчиков, и тот факт, что вы используете Arch, станет неактуальным.
Для меня использование Arch намного проще и требует меньше времени, чем использование CentOS и его Networkmanager, firewalld и других ненужных сервисов (их можно отключить, но это уже потраченное время). Кроме того, я знаю каждую службу, которая работает в системе, потому что я бы ее установил, нет подлое программное обеспечение это придирает меня к ошибке и хочет позвонить домой, хотя я только что установил систему.
Я всегда предлагаю одно из:
CentOS. Это бесплатный клон RHEL, что означает, что вы получаете очень длительный цикл поддержки (7 лет), в течение которого вы можете получить просто исправления безопасности и незначительные улучшения, поэтому поддерживать систему в исправлении очень и очень просто. Кроме того, многие «коммерческие» программы нацелены на RHEL, поэтому их проще установить на CentOS. Недостатки: я предпочитаю apt / dpkg yum / rpm, нелегко запустить на нем новейшее программное обеспечение, несколько спартанский выбор программного обеспечения.
Ubuntu LTS. На самом деле я до сих пор им не пользовался, но у него долгий цикл поддержки и он Debianish
Тестирование Debian. Мой любимый дистрибутив Debian, работает очень хорошо, и в нем дурацко огромный выбор пакетов, которые очень хорошо скомпонованы. На установку исправлений уходит больше времени, но проще устанавливать программное обеспечение (т.е. есть больше вещей, которые легко упаковываются).
Я бы посоветовал подумать о преимуществах использования Arch Linux для одного из этих трех и посмотреть, стоит ли оно того.
Я использую несколько серверов Archlinux с 2013 года в производственной среде, и это прекрасно работает.
Конечно, вы должны убедиться, что обновления идут хорошо, часто запуская их и всегда проверяя страницу Archlinux перед обновлением.
Но на этом все, в конце концов, у вас будет гораздо больше проблем с обновлением RedHat / CentOS с 6 до 7 (почти невозможно) или SLES / SLED с 11 до 12 и так далее.
У вас постоянно есть небольшие обновления, которые время от времени вызывают какие-то действия, но за последние 5 лет у меня никогда не было ничего серьезного.
А также вы всегда в курсе, если есть утечка безопасности в ядре, в openssl, в bash или что-то еще, у вас есть обновления в течение нескольких часов, а не дней или месяцев.
Мой сервер, например, полностью обновлен и защищен от Spectre v1, Spectre v2 и meltdown, я почти уверен, что только 1% людей, публикующих здесь сообщения, имеют серверы, защищенные от всех трех.
Это быстро, безопасно, стабильно (!), И у вас есть актуальное программное обеспечение, которое избавит вас от многих проблем.
Я настоятельно рекомендую использовать Archlinux на сервере, только недостатком является то, что вы должны знать, что делаете. Вы должны были установить систему LFS хотя бы один раз, чтобы понять основы построения и работы дистрибутива Linux.
Единственной серверной системой, которую я нашел более надежной, чем Archlinux в серверной среде, была Gentoo. Была одна система Gentoo без обновлений в течение 700 дней, и через 1 час эта система была обновлена и работала, единственное время простоя - однократная перезагрузка.
Но другие системы, такие как Debian / Ubuntu, RedHat, SUSE, просто напугают вас, когда будет обновление дистрибутива. RedHat даже активно отговаривает вас обновлять дистрибутив и рекомендует переустановить (согласно официальной документации).
Так что да, RedHat более стабильна при обновлении, чем Archlinux, но только потому, что вы не получаете больших обновлений. И когда вы их получаете, вы облажались.
Основное отличие серверных дистрибутивов заключается в том, что вы получаете только обновления безопасности, в то время как на Arch вы также получаете серьезные версии пакетов, которые могут сломаться.
Если вы хотите сделать Arch подходящим для серверов, все, что вам нужно сделать, это сменить зеркала (место, откуда вы получаете пакеты). Например:
Точно так же, если вы используете зеркала, специально разработанные для серверов, где вы получаете только незначительные изменения, тогда было бы безопасно использовать Arch на серверах.
Я бы сказал, да, с одной оговоркой, вы никогда не должны просто запускать pacman -Syu на производственном сервере и сохранять резервные копии с разными образами системного диска, которые могут быть перенесены через файловую систему в случае поломки.
НАМНОГО удобнее (гораздо меньше ломающихся паутины), чем Debian testing / sid. Если вам нужны современные пакеты и минимальная установка, Arch - лучший дистрибутив для этого, но требует большого комфорта с ручным управлением.