Ответ Sheridan.ru в «Я устал от кучи Linux дистрибутивов»8
Сколько же чуши и ты еще считаешь себя опытным сисадмином?
0. Пакетным манагером
1. Всякими значениями в конфигах по умолчанию
2. Небольшая разница в расположении конфигов и данных
3. Порядком запуска системы.
Всё остальное - одно и то же. Софт весь тот-же самый, принципы работы те-же самые.
0. Ядром, блеять. Ядром. У ядра 100500 опций, модулей и прочего. Вендоры постоянно бэкпортят из апстрима патчи с исправлениями и нововведениями. К примеру ядра EL7, не смотря на почтенную версию 3 сравнивать с ванильной нет никакого смысла, сколько там было всего бэкпортировано. Из достаточно свежих примеров. Собрался я заапгрейдить свой домашний сервер. Раньше он у меня был и гипервизор для лабы, и файлопомойка на 50Тб для домашнего порно и т.д. Лабу решил организовать отдельно, а домашний сервер оставить домашним сервером. В планах у меня было воткнуть туда Intel ARC A780 для быстрого транскодинга, чтобы можно было снаружи смотреть видео даже через узкие каналы. В качестве ОС я выбрал свой любимый Oracle Linux версии 9. Ядро было старовато для меня (нужна была максимальная поддержка Intel ARC), даже в версии UEK7, потому решил ставить UEK Next. Сказано - сделано. Только вот не заработало нихера, т.к. в UEK Next не были включены нужные опции. В итоге пришлось перейти на Федору, где все нужное есть в стоке, ибо манал я пересобирать ядро.
1. Установщик. Дистры с которыми я имею дело обычно EL и, гораздо реже, Ubuntu/Debian. Так вот. Удачи тому, кто хочет поставить второе на headless-сервер. У EL начиная с лохматых версий есть установка через VNC, достаточно ядру параметр подкинуть. Для Убунты нужно в обязательном порядке писать кикстарт, который для бубунты то еще отвратительное и плохо задокументированное говнище, подключаться через SSH и продолжать установку. Еще удачи тому, что захочет развернуть бездисковый сервер с Убунтой с загрузкой по iSCSI. В установщике с какой-то версии просто вырезали к херам эту опцию. В итоге опять кривой кикстарт, куча нелепых телодвижений для установки, и, самое главное, загрузки с iSCSI т.к. ванильная установка просто такого не знает. Форматы кикстартов у убунты и рхелов принципиально разные.
2. Средства настройки. Про уебищный update-initramfs в Ubuntu я вообще молчу. Сколько лет это говно уже сидит там, и только вот-вот его собираются сменить на нормальный dracut. С настройкой сети тоже зоопарк, Netplan, NetworkManager - вообще разные. Да, я в курсе, что можно в убунте НМ поставить, а в рхелах использовать cloud-init, но художественное выпиливание по дистрибутиву та еще задачас негарантированным результатом, а у нас есть ограниченное время на выполнения наших задач. Остальное расписывать мне лень. Просто приведу примеры. Apparmor vs SELinux, ufw vs firewalld, тысячи их. В итоге куча инструкций для одного дистра крайне слабо подходит для другого. Да, для человека с опытом это не будет невыполнимой задачей, но на это будет уходить куча времени, которое можно потратить с гораздо большей пользой.
3. Пакеты, библиотеки. В каждом дистре есть мэйнтейнеры пакетов. Который сбирают, тестируют и опакечивают софт и либы. Их можно собирать очень по разному. С поддержкой разных библиотек, разных фич. В итоге, один и тот же софт на разных дистрах может работать очень по разному.
И это я пробежался только по двум основным группам дистров - EL и Deb-based. А там внутри еще различий миллион, даже между Debian и Ubuntu. А еще ведь есть всякие Alpine, которые тоже достачно прочно свою нишу держат.
Так что да, в дистрах линукса творится полный зоопарк и это, местами, очень утомляет.
Что-ж, вы вынесли ответ в общее пространство. Сделаю так-же.
0. Если у вас нет специфического железа, то какое там ядро - да пофиг. Всё будет работать. "Манал я пересобирать ядро" - многое про вас говорит, да. Фига его там пересобирать? В первый раз да, долго. Ибо опций действительно много и приходится разбираться что куда, зачем и от чего зависит. Но выхлоп того стоит. Мало того, что начинаешь понимать как это работает, так ещё и можешь получить ускорение в разы. У меня, например, так было с федорой второй когда я стек апач-mysql-php изучал. Просто пересборка ядра втрое ускорило выдачу страницы.
1. О да, очень полезно сравнивать чтото по признаку, который используется несколько раз за всю карьеру. Да, "установщики" разные. Но только снаружи. Все они всегда сводятся к простым шагам: подготовить железо (диски); спросить за цель (сервер? десктоп?); скопировать stage, докинуть пакетов; создать юзеров; перегрузиться.
ВНЕЗАПНО, первоначально и headless серверам нужен монитор. Или подготовленный автоинсталл (лично делал заказчику загрузочную флешку, которая автоматом устанавливала centos на железо).
Вы слышали про загрузку с iSCSI но не слышали про PXE? Ну правда, сделайте уже шаг дальше.
2. Средства настройки везде ровно одно: текстовый редактор. Будет это mcedit, nano или vi - зависит от человека. А в итоге всё это по мере накопления знаний и опыта скатывается в описание конфигураций для puppet, chef или ansible. Для примера - вот роль деплоя factorio сервера на ansible
Initramfs - не средство настройки, а инструмент для предварительной загрузки системы, использующей модули ядра, которые нужны для дальнейшей загрузки. Это относится к ситуации, когда нет в ядре поддержки корневой ФС или когда ФС зашифрована. Поэтому предварительно загружается система с корнем в памяти, следом инициализируется всё что нужно для работы основного корня и монтируется этот самый основной корень. Использовать initramfs всегда - такое себе. Можно, но зачем?
Настройка сети в целом сводится к редактированию текстового файла. Настройка огнестены - к описанию правил iptables или nftables. apparmor и selinux это разные системы, с разной целью. Скажу так, чтобы не вдаваться в подробности: apparmor это малое подобие selinux.
Просто разберитесь в том как это всё работает и вы перестанете ругаться на некие "средства настройки", которые к тому же, никогда не обеспечивают полный набор возможных опций сервисов, ибо пишутся слишком generic, тобишь, чтобы удовлетворить как можно большее количество пользователей, а это мешает написать нормально. Со временем вы перестанете ими пользоваться.
3. Да, так и есть. Пакеты собираются по разному. Но когда ныряешь глубже и начинаешь понимать почему так - вопросы и претензии отпадают. Могу сразу с ходу назвать одну из главных причин: стабильность. Поясню: есть дистрибутив, у дистрибутива есть релиз. В релиз попал какой-то список пакетов. Эти пакеты майнтейнером протестированы и признаны рабочими. Когда надо добавить ещё один пакет - в зависимости ему ставятся пакеты из текущего релиза. Всё.
Если бы дистрибутивы релизились все строго одной датой, то скорее всего и зависимости были бы одной версии. Но так как даты релиза разные, то думаю дальше расжёвывать смысла нет.
Повторю: просто надо набраться опыта и все эти вопросы и претензии отпадут сами собой. И кажущаяся глубокая разница между дистрибутивами схлопнется в несколько понятных пунктов.