Приветствую всех. Сегодня я бы хотел поделиться впечатлениями от использования Linux-дистрибутива Gentoo.
Еще 2 года назад слово "Gentoo" для меня звучало страшно и непонятно. Как известно, человек существо любопытное, и поэтому за два года мое любопытство переросло в действия. Без всяких зазрений совести была снесена любимая Ubuntu и началось путешествие в мир генту...
Установка
Наслушавшись историй о том, что установка Gentoo - процесс долгий и мучительный, желательно наличие 2х недель отпуска, и интернета в глухой деревне - я долго и тщательно дожидался удобного момента для того, чтобы предаться заветному времяпрепровождению. Наконец, вожделенный момент наступил, жена уехала на неделю в командировку, в тот же вечер была снесена убунта, и...
Я установил Gentoo за 2 вечера. В общем и целом, это разочарование. Да, разочарование. Просматривая старые видяхи на ютубе и статьи про установку генты, мне обещали, что я буду каждую мелочь в системе конфигурировать руками через редактирование тестовых файлов. Я хотел погрузиться во внутреннее устройство системы и в конце двух недель неистового конфигурирования во всех подробностях знать, как работает система.
Отрадно, что развитие системы не стоит на месте, и большинство рутинных операций теперь происходят автоматически, и при этом не нарушается главный концерт Gentoo - что пользователю ничего не должно навязываться. Но, все-же, после установки системы, я не так много узнал о ее внутреннем устройстве.
Сложность
К сложностям нужно быть готовым. Лично я за первый месяц где-то раз 5 "сломал" систему так, что она не грузилась :) Обычно это связано было с тем, что я что-то забыл или напутал при настройке загрузчика grub2, и все это решалось поверхостным гуглением, запуском с загрузочной флешки и перепрохождением мануала настройки загрузчика на Gentoo Wiki.
Из плюсов - это интересно. Как правило, проблемы довольно понятные - сразу ясно, что за ошибка, и ее довольно легко нагуглить или решить как-то по-другому. Часто нужно прочитать какой-то мануал или статью, чтобы понять, что к чему, как решать проблему, какие обходные пути и к чему они приведут.
А проблемы будут возникать часто, буквально на каждом шагу. И каждая из них требует времени, внимания и знаний.
Вообще, Gentoo Wiki - основной источник знаний по установке и дальнейшей эксплуатации системы. Получаешь моральное удовлетворение, читая ее, потому что ты расширяешь возможности системы не только за счет установки какие-то сторонних пакетов, но и за счет получения новых знаний :)
Сборка ядра
Хочется отдельно коснуться темы сборки ядра. Очень важная часть установки - помогает оптимизировать ядро под ваше железо, а так же выкинуть гору ненужного из него. Для меня конфиг ядра - это темный лес. Попытался я разобраться при установке в настройках, и в итоге бахнул автоматическую генерацию ядра, благо такая опция есть. Если и вы так решите сделать - никому об этом не рассказывайте, ибо станете отщепенцем в сообществе генту, ибо "а зачем тогда вообще ставить генту?"
Но долго быть белой вороной мне не посчастливилось - уже через пару дней я огреб несколько проблем в системе в связи с отсутствием/наличием нужного флага в настройках ядра, и был вынужден заняться пересборкой ядра. Посмотрел пару видосиков на ютубе, порылся на вики, поизучал мое железо - настроил какие-то флаги оптимизации, выкинул поддержку кучи ненужного оборудования. Так что не так страшен черт, как его малюют.
К слову, с тех пор я уже раз 8 пересобирал ядро. Видимо, это придется периодически делать - потому что при установке некоторых пакетов требуется какие-то флаги, которые не всегда выставлены по дефолту. Также, я в том числе экспериментировал с апгрейдом ядра до новой версии и даунгрейдом обратно.
Программы и пакеты
Наличие
Как и везде, тут тоже не все так однозначно. По факту, я установил практически все, что мне требуется - есть или требуемая программа, или ее аналог. Скорее всего, мне не нужно что-то сильно узкоспециализированное, поэтому мне повезло.
Однако, зачастую пакеты и программы имеют не самую свежую версию в официальном репозитории, или последние версии не считаются полностью протестированными. Приходится ставить такие вещи "на свой страх и риск". Справедливости ради, у меня с такими пакетами пока что не было НИ ОДНОЙ проблемы. Вероятно, это мне повезло :)
Приведу пример. Мне нужна Java - это основной мой ЯП. В оф. репозитории есть официально поддерживающаяся и протестированная Java 8. На дворе 2021 год, боюсь, это немного устарело (хотя куча компаний используют Java 8 до сих пор, и еще будут использовать - но это выходит за рамки этой статьи). Однако, есть и Java 11, которую можно ставить как раз "на свой страх и риск". Поставил, работает, и ее мне вполне себе хватает. Но вот недавно вышла Java 16, а последняя версия с длительной поддержкой, кажется Java 14 - и неплохо бы иметь хотя бы ее.
Установка
Пакетный менеджер для Gentoo - это Portage. Сделан он по принципу, применяющемуся в BSD-системах. Смысл в том, что он не устанавливает готовый бинарник нужного приложения, а собирает его локально из исходного кода. Это позволяет более оптимально собирать пакеты под систему, отключать ненужные функции в помощью флагов и, в целом, иметь больше контроля над устанавливаемыми пакетами. В других системах пакетных менеджер устанавливает готовый универсальный "бинарь". К примеру, во всех пакетах я отключаю флаг gtk и systemd. Мелочь, а приятно :)
Обратная сторона - это, конечно же, сложность. Приходится разбираться с различной функциональностью portage, изучать флаги, иногда решать конфликты с ними и не только. Ну и сложность сборки тоже нельзя снимать со счетов: вполне нормально, когда установка какой-то программы занимает больше часа. Не знаю, как пользовались Gentoo в 2005м, подозреваю, тогда нужно было ставить сборку пакета на ночь. Иногда попадаются уже собранные бинарные версии программ в репозиториях, но это, скорее, исключение, подозреваю, связанное со сложностью поддержки ebuild'a.
Игры
Это может показаться странным, но практически первое, что я установил на систему - это Steam и Battle.net (PortBattleNET - порт клиента для Linux). Steam встал сразу, но чтобы нормально запустить игры, пришлось изрядно и долго поковыряться. Как итог - все игры, которые у меня работали на Убунте, заработали и тут: Magicka 2, Civilization VI, Portal II, Starcraft II.
Поддержка оборудования
В общем и целом, точнее, ситуация такая же, как и везде в Linux, и у меня ПОЧТИ все завелось из коробки. Однако, это все-же грустная часть моего повествования. Я так и не смог до сих пор запустить нормально Bluetooth. Непонятные проблемы после перезагрузки, чаще всего Bluetooth не работает. Я даже нашел баг в ядре, очень похожий на мою проблему. Однако при использовании Ubuntu с 19.10 на 20.04 похожая проблема с Bluetooth у меня ушла. Сейчас пока я живу без него, что доставляет мне дискомфорт. Буду копать дальше
Производительность
Скорость
Итак, у нас есть система, которая не забита лишним мусором и оптимизирована под наше железо. Кажется, она должна работать быстрее, чем другие системы. Так ли это?
Нет!
Шутка :) На самом деле, я еще не видел, чтобы система так быстро грузилась и работала! Загрузка до экрана логина - пара секунд. После - еще меньше, после чего система уже полностью загружена и никаких тормозов не наблюдается. В сравнении с виндой - это просто космос! В сранении с Убунтой - это тоже существенный буст. Остальные вещи не замерял, но по ощущениям - все быстро и без тормозов.
Потребление ресурсов
Так как система довольно минималистична, то и "кушает" она не очень много. В спокойном состоянии система есть 0-1% процессора и 600Мб оперативы. Это при том, что в качестве графической оболочки я поставил KDE - довольно тяжеловесное окружение рабочего стола.
Честно, скорость работы отдельных программ довольно сильно впечатляет. Думаю, это хорошее вознаграждение за трудны по установке, настройке и долгой сборке - работать действительно очень приятно
Выводы
Посоветую ли я ставить Gentoo? Само собой, нет. Даже если очень хочется - не ставьте. Но если очень-очень хочется, то можно попробовать. Только настройтесь на борьбу с системой, которая, возможно, не закончится, пока вы не изучите ее полностью. Я только в начале пути, поэтому мне еще много что предстоит узнать и перебороть, главное не сдаться раньше времени
Очень хочется понимать, в каком состоянии сейчас находится Gentoo: она развивается, догоняет, стабильно живет, или безнадежно остает от времени? К сожалению, чтоб это понять, мне нужно пару лет ей попользоваться и сделать выводы. А пока, если эту статью будут читать люди, разбирающиеся в вопросе - пишите в комментариях, что сейчас происходит с системой? Мне будет очень интересно. Спасибо