13

Ответ Tualua в «Я устал от кучи Linux дистрибутивов»8

Что-ж, вы вынесли ответ в общее пространство. Сделаю так-же.

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. Да, так и есть. Пакеты собираются по разному. Но когда ныряешь глубже и начинаешь понимать почему так - вопросы и претензии отпадают. Могу сразу с ходу назвать одну из главных причин: стабильность. Поясню: есть дистрибутив, у дистрибутива есть релиз. В релиз попал какой-то список пакетов. Эти пакеты майнтейнером протестированы и признаны рабочими. Когда надо добавить ещё один пакет - в зависимости ему ставятся пакеты из текущего релиза. Всё.

Если бы дистрибутивы релизились все строго одной датой, то скорее всего и зависимости были бы одной версии. Но так как даты релиза разные, то думаю дальше расжёвывать смысла нет.

Повторю: просто надо набраться опыта и все эти вопросы и претензии отпадут сами собой. И кажущаяся глубокая разница между дистрибутивами схлопнется в несколько понятных пунктов.

Лига Сисадминов

2.5K постов19K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

14
Кто ты?
Автор поста оценил этот комментарий
ответный пост

Гм, ты решил поработать на публику. Ну ок, будем значит общаться так.

Очень красиво получилось про ядро. Ты про него вспоминаешь, отмечаешь сложность. Я пишу, что да, сложно но только в первый раз. И ты тут-же выставляешь меня фриком с завышенным ЧСВ. Очень удобно, молодец! Я б так не смог :)

Про кнопку turbo я вспоминать, конечно, не буду. Но обращу внимание, что сложности возникают всегда только в первое время, когда непонятно что происходит. Чем дальше - тем проще. И, внимание, напомню что про ядро начал ты. И нет, я не призываю всем срочно бежать ядра собирать, это действительно не нужно как правило.

А, ты всётаки знаешь про kvm и прочий ipmi. Извиняюсь, я думал что раз есть проблемы с iSCSI, то вряд ли будешь знать. Ну ок.
Так вот, это тоже в том числе и монитор, да. Где там противоречие - непонятно.

Про initramfs... Мы продолжим спорить о терминах или у тебя есть чтото по существу мне сказать кроме того, что майнтейнеры пытаются предусмотреть всё, в том числе и те-же самые шифрованные ФС? initramfs не нужен в подавляющем большинстве установленных линухов. Но есть там, ну, потому что может быть понадобится. И в принципе пофиг, так как никакой существенной нагрузки оно не несёт. Но ты, друже, тут опять ссылаешься вместо фактов на некий "авторитетный источник" в виде "ну все же так делают, значит надо". Нет, не надо. Ах, да, initramfs это наследник initrd. initrd устарел где-то вместе с ядром 2.6 (сейчас 6.13)

Про настройку... Друже, ты неправ. Практически всё настраивается через правки текста. Исключения редки, например, pacemaker, которому не получится напрямую поправить конфиг.

В современной убунте и рхелах работает systemd, который умеет конфигурировать сеть. То есть мало того, что её можно настроить об ансибл (конечно, предварительно надо сразу при/после установки настроить в первый раз руками), так ещё и делается это абсолютно одинаково. Всякие networkmanager при этом просто удаляются из системы за ненужностью.

iptables умеет держать конфигурацию в формате iptables-save. Его и генерируем при деплое сервера. Пишем oneshoot сервис, который выполняет iptables-restore при загрузке. Всякие ufd и firewalld при этом тоже просто удаляются за ненадобностью.

Как я раньше и писал - всё в итоге скатывается к редактированию текстовых файлов. Просто надо отбрасывать в сторону всякие помогаторы и смотреть в корень.

И таки да, дистрибутивы различаются почти ничем существенным. У тебя список длиннее просто потому что у тебя пока мало опыта в линуксе и ты не особо стремишься его получить. Ну, например, с сетью: ну зачем тебе на сервере networkmanager? Да и на клиенте в корпоративной сети он тоже нафиг не нужен. Ну, разве что клиент это ноутбук, который пользователь таскает с собой по командировкам и там разные неизвестные сети (был вынужден это написать, потому что иначе отсуствие этого дисклеймера ты бы вменил мне как "нихрена ты не знаешь").

Ещё раз: всё файл. Все конфиги - текстовый файл. Исключение категорически редки. И никогда не настраивай при автоматизации посредника, который настроит сервис. Сразу настраивай сервис, а посредника можно просто удалить.

Набирайся опыта, друже, набирайся опыта...

Показать полностью
комментарии (19)
1
Автор поста оценил этот комментарий

Вопрос от нуба: зачем вообще нужно пересобирать ядро? Мне как-то ни разу не требовалось. Как вы понимаете, что пересборка ядра что-то ускорит и как понимаете, что именно нужно там в ядре поменять?

раскрыть ветку (1)
2
Кто ты?
Автор поста оценил этот комментарий

Вот прям нужно бывает сильно редко. Ну, например, дефицит места в embedded или требование "вкомпилировать модули в ядро". Лично мне было просто интересно, этакий челленж "смогу ли я?". Ну, смог. Дома везде gentoo на хостах, соответственно ядра собираю.


Ускоряется система в основном при принятии рисков и отказа от всякого. Вот, например, мне дома местами не нужны защиты от всяких Spectre и Meltdown. Отключено, и это даст какой-то буст. Выкинуть из ядра поддержку всего парка железа и оставить только то что есть на хосту - тоже даст какой-то буст, хотя бы при загрузке. Отключение дебага - тоже. Смена процесора с generic-x86 на core2/newer xeon - тоже. И так далее.


Что именно сменить в ядре? Ну, во первых, как выше написал - выкинуть поддержку железа, которого нет. Выкинуть поддержку всего, что не используется. Например, у меня на хосту в мастерской нет поддержки виртуализации в ядре, потому как она мне там не нужна. И iptables везде на nftables сменено. В общем-то просто читаешь опции и решаешь надо тебе это или нет. Да, опций много. Да, первое ядро можно неделю собирать по неопытности.

0
Автор поста оценил этот комментарий
Я и не делаю подобного. Просто это есть.
раскрыть ветку (1)
1
Кто ты?
Автор поста оценил этот комментарий

Да найти то можно что угодно. Применять найденное только нужно, предварительно обдумав.

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

Автор поста оценил этот комментарий
Насчет релизов. Сейчас же контейнеры есть. Коробочка, все в одном. Да, тетрис будет весит гигабайт, но будет работать.
Или я гоню?
раскрыть ветку (1)
1
Кто ты?
Автор поста оценил этот комментарий

Не стоит плодить контейнеры просто потому, что лень разбираться с зависимостями.

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества