Сейчас я использую Ubuntu и считаю, что это одна из лучших операционных систем, основанных на ядре Linux. Но так было не всегда. В этой статье я хочу вспомнить как я выбирал дистрибутив Linux, какие дистрибутивы я использовал и что думаю о них.
1. Ubuntu
Как я уже говорил в одной из прошлых статей, начинал я свое знакомство с Linux с Ubuntu 10.04. Тот дистрибутив поставлялся с окружением рабочего стола Gnome 2 и меня полностью устраивал. Многие говорят, что выпуск 10.04 был рассветом Ubuntu, а сейчас все только портиться. В этих словах что-то есть, но я не совсем с ними согласен. Да, тогда у нас были эффекты, больше настраиваемости, но сейчас система более стабильна и выглядит как не крути красивее чем тогда.
Буквально через один релиз в Canonical решили, что они хотят развивать собственную оболочку под названием Unity и начали использовать её вместо Gnome начиная с 11.04. Первая версия Unity была вообще не очень. Все те эффекты и настройки, которые мне так нравились убрали. Не было даже нормальной возможности добавить апплеты на панель и настроить их порядок, правда потом это вернули.
2. Arch Linux
Тогда я решил что надо что-то менять и поскольку я уже примерно год пользовался Ubuntu и немного в ней разобрался, хотелось чего-то более сложного. Тогда я случайно увидел видео на YouTube, в котором парень рассказывал как установить ArchLinux. В Ubuntu настраиваемость урезали, а вот ArchLinux предлагал невероятную настраиваемость и я этим очень заинтересовался.
Установить Arch Linux было уже не так уж сложно, когда есть видео, в котором всё детально объясняется. Сейчас таких видео вагон и маленькая тележка, да и на losst.ru статья есть. Примерно тогда же Gnome 2 перестали поддерживать и вышел Gnome 3. На тот момент мне он тоже не понравился своей низкой настраиваемостью и вместо Gnome я выбрал KDE.
В Arch Linux мне очень нравилась такие моменты:
- Настраиваемость системы - вы собираете систему если не с нуля, то с очень низкого уровня, вы сами выбираете пакеты, которые там будут использоваться, окружение, программы, поэтому можете разобраться как всё это работает на более низком уровне;
- Новизна пакетов - в Arch Linux используется система rolling обновлений, когда нет никаких релизов, а репозитории содержат всегда самую новую версию системы. В эти репозитории всегда добавлялись самые свежие версии пакетов, чтобы было на тот момент очень интересно;
- AUR - в пользовательском репозитории были практически все программы, которые мне были нужны. Там они собирались из исходников, что тоже было интересно.
В KDE 4 было всё, что нужно, окружение очень настраиваемое, на рабочем столе можно разместить огромное количество виджетов и различных панелей по вашему вкусу, в интерфейсе поддерживались различные темы и прозрачности. Я был доволен, но не долго.
3. Gentoo
Arch Linux я попользовался несколько лет и разочаровало меня в этой системе то, что считалось её преимуществом - новизна пакетов. Система при обновлениях часто ломалась, особенно часто ломалось окружение рабочего стола - восстановить всё это было не большой проблемой, но тогда полностью слетали все настройки и приходилось настраивать эффекты, виджеты и панели заново, а это занимало очень много времени. Да и с Arch Linux я уже на тот момент немного разобрался и хотел двигаться дальше - в сторону Gentoo.
На тот момент у Gentoo уже была неплохая документация и по ней можно было всё установить. В качестве окружения рабочего стола я всё же оставил KDE 4. Вот что мне понравилось в Gentoo:
- Ещё больше настраиваемости - если в ArchLinux вы только собираете систему с компонентов, то в Gentoo, вы эти компоненты ещё и должны скомпилировать из исходных кодов. У вас есть возможность выбрать возможности (флаги) которые в том или ином компоненте будут реализованы.
- Стабильные rolling обновления - в Gentoo не такие новые версии пакетов, как в Arch Linux, но система установки программ похожая. Здесь тоже используется модель rolling релизов и в репозиториях находится самая последняя версия системы. Здесь у меня KDE уже ломалась намного реже.
- Система Portage - для установки программ в Gentoo используется система, очень похожая на FreeBSD. Есть репозиторий, так называемый world, в котором хранятся инструкции как собирать программы, вы скачиваете всё это на свой компьютер, и можете собрать всё что угодно, если оно там есть со своими настройками. Это было намного интереснее, чем pacman и apt.
- Скорость - это практически не ощущалось физически, но в теории, поскольку все пакеты были собраны для моего компьютера они должны были бы работать быстрее.
Операционной системой Gentoo я тоже пользовался несколько лет и неплохо разобрался в том, как всё компилируется и настаивается на ещё более низком уровне, но сейчас конечно уже всё забыл. Искать что-то другое меня заставили сложности с установкой программ. Вы можете собрать из исходников хоть адронный коллайдер, если для него есть инструкция в репозитоирях. Но если в официальном репозитории инструкции нет, то у вас проблемы.
Пользовательских репозиториев для Gentoo мало, а те что есть поддерживаются плохо и часто не совместимы с актуальными официальными репозиториями. Сборка программ из исходников от разработчиков задача довольно трудная и занимает очень много времени. В то время я уже начал работать над сайтом и тратить день на поиски пути сборки какой-либо нужной мне программы очень не хотелось.
Ещё одна проблема Gentoo - это маленькое сообщество и небольшое количество разработчиков. Как результат мало информации в интернете и время от времени случающиеся проблемы с установкой пакетов даже из официальных репозиториев. Понятно, что у разработчиков нет времени чтобы за всем уследить, но когда надо срочно поставить какой-либо пакет, а он не ставиться это неприятно.
У KDE при использовании модели rolling релизов есть один значительный минус. Разработчики хранят все настройки окружения в файлах, которые расположены домашней папке. И при выпуске новой версии, время от времени синтаксис каких-либо настроек меняется и ваши настройки успешно уходят в никуда. Gnome хранит свои настройки в реестре Dconf, они стандартизированы и как бы я не был против реестра Windows, здесь реестр - оптимальное решение.
4. OpenSUSE
Я начал искать систему, у который бы было всё хорошо с установкой программного обеспечения, которая бы разрабатывалась не сообществом, а корпорацией чтобы точно было меньше ошибок и с окружением рабочего стола KDE. Такая система нашлась - это OpenSUSE.
Здесь мне понравилось:
- Проработанность и стабильность системы - система очень хорошо и стабильно работала на моём компьютере. Здесь уже не было никаких роллинг релизов и KDE наконец перестала падать и заставлять меня настраивать всё заново.
- Инструмент YaST - для настройки системы здесь использовался графический инструмент YaST, он позволял настраивать пользователей, группы, имя компьютера и многие другие вещи, которые раньше приходилось настраивать в терминале.
- Система доставки пакетов ABS - дистрибутив использует пакеты RPM, как в Fedora и RHEL, но в отличие от этих дистрибутивов в OpenSUSE есть специальный веб-сервис для установки программ. Он похож на AUR из ArchLinux и PPA в Ubuntu, с помощью него вы можете в графическом интерфейсе установить множество различных программ, которых нет в официальных репозиториях.
Тут я увидел, что если дистрибутив поставляется с определённым окружением рабочего стола, например, KDE, то это окружение заточено под этот дистрибутив и хорошо с ним работает. Например в OpenSUSE настройки KDE были хорошо интегрированы в саму систему, YaST, если я не ошибаюсь, написан на Qt и хорошо интегрируется с KDE, сюда же были интегрированы различные апплеты обновлений на панели и многое другое.
Но долго я OpenSUSE не пользовался. Здесь всё же не хватало некоторых программ, например, такие программы, как видеоредактор OpenShot версии 2.0 на тот момент были только в PPA для Ubuntu, аналогичная ситуация наблюдалась и для нескольких других программ.
5. Ubuntu
Я решил вернуться назад на Ubuntu и в качестве рабочего окружения пришлось выбрать Gnome, потому что Unity, вместе с которой тогда поставлялась Ubuntu мне все ещё не нравилась, а редакция Ubuntu Gnome была вполне себе неплохой. Начиная примерно с Ubuntu 16.04 я использую этот дистрибутив. Преимущества:
- Система уже настроенная - когда я пользовался ArchLinux и Gentoo, я наигрался с настраиваемостью, сейчас мне надо работать, а не настраивать каждый день систему. А Ubuntu с окружением Gnome можно начинать использовать сразу после установки. Достаточно сменить фон и возможно тему в Gnome Tweak Tool.
- Программное обеспечение - кто бы что не говорил, Ubuntu самый популярный дистрибутив, поэтому все разработчики стараются делать свои программы доступными для него, например, с помощью PPA. Сейчас это стало ещё проще, потому что появились такие пакетные менеджеры как snap и flatpack, а формат AppImage стал более популярным.
- Стабильность - Ubuntu очень стабильная, за всё время использования у меня ни разу не сбивались настройки Gnome, а сама система ломается очень редко даже если проводить над ней разные эксперименты.
Но и минусы у Ubuntu есть. Систему надо регулярно обновлять или переустанавливать. Не LTS версия поддерживается только 9 месяцев, а LTS - 2 года. Обновление работает не всегда хорошо и я ни разу им не пользовался для основной системы, а поэтому раз в два года систему приходится переустанавливать, чтобы получить обновления безопасности исправления ошибок и как минимум рабочие официальные репозитории.
6. CentOS для сервера
А вот для сервера losst я выбрал CentOS 7, потому что её не надо переустанавливать или обновлять. Она имеет очень длинный срок поддержки и стабильные роллинг обновления в рамках одного выпуска. Её раз установил и много лет уже всё работает без каких-либо обновлений.
Выводы
Таким образом Ubuntu - не идеал, и имеет свои недостатки, но я считаю, что это лучшее, что на данный момент есть для использования в качестве дистрибутива для работы. К окружению можно привыкнуть, а переустановка раз в два года - это не так уж страшно. И вообще у каждого дистрибутива своя цель и предназначение. Я не говорю, что Arch и Gentoo были плохими, просто всему своё время. А какой был ваш путь по дистрибутивам Linux? Что вы выбрали? Расскажите в комментариях!