Меня немного (чуть-чуть дофига) раздражает зоопарк линуксов. Раньше я его избегал с помощью Debian Stable, теперь пробую новый путь — ПравославнуюЪ ФряхуЪ.
Собственно, вот тут Станислав Никитин отлично описал, почему хороша или плоха FreeBSD. Я же прокомментирую и дополню его аргументацию:
Нормальный ZFS. Реально, работает лучше и быстрее, чем ZoL. А без ZFS я свою серверную жизнь уже не смыслю, потому что ZFS позволяет офигенно удобно делать датасеты под приложения со своими настройками, выбирать сжатие (например, для бинарных данных офигенно подходит gzip, а не lz4), и тому подобное.
Да. Ради ZFS вообще можно простить очень многое, уж больно хороша эта ФС. Apple пытается сделать что-то подобное с APFS, но пока что за пределами macOS на компьютерах данная ФС недоступна, и о её применимости на серверах говорить нечего.
Вменяемая и хорошая документация по всем базовым сервисам. При первой настройке фряхи мне не нужно было гуглить, потому что установщик простой и понятный, все маны есть в системе. Я просто сделал man ifconfig и понял, как настроить виртуальную сетку руками. Я просто сделал man rc.conf и понял, как это автоматизировать.
С документацией есть ещё один приятный момент: срок её устаревания гораздо больше. Я смог настроить pf по мануалу на русском языке 2010 года выпуска, к примеру. Документация к линукса устаревает ежедневно с новым пердежём Леннарта нашего Поцтеринга (при всём уважении к systemd).
Клетки (jails). Чуть сложнее в настройке, чем LXC, но заметно легче по ресурсам.
Я вот вообще не осилил LXC. А клетки вполне себе осилябельны, что по мне — весьма неплохо.
Отсутствие systemd. Да, в каких-то случаях он удобен, но вот когда тебе просто надо развернуть один маленький сервис, systemd может как облегчить жизнь, так и усложнить (например, чтение логов).
Я бы сказал не так. Проблема линуксов не в systemd. Проблема в том, что в каждом дистрибутиве он, сцуко, разный, с разным набором костылей от дистропроизводителя, и непонятно, что с этим делать. По сути и по факту systemd провалил задачу стандартизации управления Linux-машинами на разных дистрибутивах.
Обычные текстовые логи. Серьезно, грепать куда удобнее и быстрее, чем читать выхлоп journalctl :).
Вкусовщина, но допустим, что так.
Станислав выделяет несколько минусов, которые я считаю плюсами:
BSDшные версии утилит, которые зачастую несовместимы с GNUтыми ни синтаксисом, ни форматом входных данных.
ЭТО ЖЕ ОФИГЕННО! Во всяком случае, когда твоя основная машина работает на macOS, где все консольные утилиты по умолчанию BSD-шные, а шелл у меня и так испокон веков zsh, так что я вижу только преимущества в том, что на сервере подобный десктопному сет консольных утилит.
Непривычная настройка сети, маршрутизации. Я привык использовать ip route, а тут все через route с виндоподобным синтаксисом.
Смотрим предыдущий пункт. В macOS route работает точно так же.
Клетки довольно сильно отличаются по схеме работы от привычных LXC контейнеров.
…или «LXC-контейнеры сложнее, чем клетки». Нет, серьёзно, LXC я не осилил ни в каком виде.
Зубо- и мозгодробительные фаерволы, которых аж несколько штук.
Just use PF! Я вот iptables не осилил толком, каюсь, а с PF за два дня неспешного тыканья мы со Стасом разобрались. Возможно, если основная цель конкретной машины — роутинг, ей стоит ставить OpenBSD, ибо там PF свежее, но для простой (псевдо)домашней тачки это не принципиально.
В моих дальнейших планах — постройка Linux-free окружения как минимум дома (включая пресловутый «роутер на фряхе»). Насколько это получится и с чем я столкнусь в будущем — покажет время.