Критики linux иногда говорят весьма здравые вещи. Так, например, противопоставление «трех версий Windows» и «сотен вариантов дистрибутивов» вызывают отчасти справедливые комментарии в стиле «да эти ваши дистро отличаются друг от друга только картинкой на рабочем столе». И хотя на самом деле в большинстве случаев это совсем не так, в действительности на практике мне встречались такие «сборки», имеющие самостоятельное название, но при этом по сути представляющие собой модификации и твики одной из базовых версий Linux системы, которые любой более или менее «разбирающийся в пингвинах» юзер может «нарисовать» на своем компьютере за час-полтора. И потому приятно было встретить в сети описываемые ниже Arch дистро, которые реально решали задачи, справиться с которыми я на своем варианте системы самостоятельно в принципе не мог.
ObsidianOS // неизменность в качестве «опции»
Дистро Linux имеют различные «привычки», когда речь заходит об обновлении системы. «Пингвин» ведет себя по-разному. В частности, ObsidianOS получил скользящую или, как еще говорят, плавающую модель обновления. А это значит, что юзеру не нужно ждать выхода последнего «билда» релиза, чтобы обновить всю систему целиком. Приложения и сервисы обновляются по мере выхода апдейтов от разработчиков софта. Иными словами, ObsidianOS постоянно «держит нос по ветру» и может похвастаться самым свежим ПО. Однако у плавающей модели есть и свои минусы. Получив приложение или сервис с багами, юзер теоретически и весьма часто практически оказывается перед неприятным фактом: его системе сильно «поплохело» и по большому счету ее уже легче переустановить заново, чем фиксить.
Понятно, что Arch старается защищаться от таких угроз. И если Garuda LInux автоматически использует Btrfs снапшоты, при этом по дефолту вынуждено создавая очень сильно заколдованную файловую систему, то ObsidianOS предлагает более интересный вариант решения этой задачи — A/B partitioning. Вместо снапшотов системы, дистро работает с двумя корневыми разделами. Апдейты приходят на неактивный раздел, юзер же продолжает использовать активный. Если обновление проходит успешно, пользователь переключается системой на обновленный раздел. Если же «что-то пошло не так», то юзер остается на предыдущем действующим и не затронутым неудачным апдейтом. Ориентироваться в разделах юзеру помогают служебные предложения obsidianctl CLI tool и/или ObsidianOS Control Center.
Звучит симпатично и безопасно. Однако эксперты находят негативные аспекты и в таком решении. Они пишут, что главная проблема заключается в сохранении состояния пакетов. Допустим, вы установили любимый браузер в раздел A, который используете каждый день при «общении» с системой. Логично и правильно будет предположить, что в разделе B этого пакета не существует. А это значит следующее:
- вы накатили апдейт на партишен A и он начал ломать систему
- ObsidianOS перекидывает вас на партишен B
- Вы остаетесь без браузера
Впрочем, фикс для этой проблемы в виде довольно элегантного bash скрипта существует относительно давно. Он синхронизирует содержание обоих системных разделов ObsidianOS. Но это не автоматическое решение, а значит перед каждым обновлением юзер должен не забыть провести синхронизацию во избежании возможных потерь. Разрабы уже работают над OPM (ObsidianOS Package Manager), который будет устанавливать софт в отдельном «слое» поверх корневой системы, таким образом принципиально решая вопрос с доступностью приложений с любого раздела системы.
Специалисты подчеркивают тот факт, что на сегодняшний день экспериментальный и тестирующийся софт OPM в качестве дополнительных функций A/B-системы вполне естественным образом обеспечивает ObsidianOS такие характеристики, как неизменяемость и атомарность. И это означает, что, устанавливая пакты через OPM, вы не «записываете» новые данные в корневой раздел, таким образом придавая ему неизменный статус «read only».
BlendOS// всё повсюду и одновременно
Одной из самых притягательных черт Arch является Arch User Repository — «магазин» софта, за содержанием которого пристально наблюдает огромное сообщество «линуксоидов». Впрочем, у AUR есть довольно много проблем. Первая — это наличие серьезного количества вредоносного ПО. Вторая заключается в том, что ассортимент AUR оставляет желать лучшего. Но Linux не был бы гибкой и кастомизируемой системой, если бы не смог ответить на такие вызовы.
Один из несомненных козырей базирующейся на Arch BlendOS — дополнительный доступ к репозиториям таких основных дистрибутивов как Fedora, Debian, Ubuntu и CentOS Stream. И если такое предложение вам кажется не слишком впечатляющим, то добавьте еще поддержку Flatpak, как говорится, «сразу из коробки». Почему это хорошо? Ну вот, например, у вас есть выбор скачать Firefox для, скажем, Debian и для Arch. В первом случае вы получите пусть устаревшее, но стабильно работающее приложение, а во втором «накатите абсолютное новье», которое может работать с серьезными лагами. Какой именно софт оставить, а какой удалить BlendOS оставляет на ваше усмотрение.
Под «капотом» дистро Rodman контейнеры. А это значит, что вы создаёте контейнер для нужного вам дистрибутива и устанавливаете приложения, используя его встроенный менеджер пакетов. Для опытных линуксоидов синтаксис не представит никаких проблем. То есть что-то вроде apt.debian install vlc даст компьютеру команду установить VLC из репозитория Debian при помощи пакетного менеджера APT.
Наличие Rodman подчеркивает тот очевидный факт, что BlendOS — это неизменяемый дистро. Система «read only» получила также system.yaml файл, через который опытный юзер сможет «рассказать» системе о том, какой он ее видит. То есть определить желаемое состояние системы — пакеты, среду рабочего стола, ядро и драйверы.
CachyOS // Arch на острие копья инноваций
Как уже говорилось выше, Arch обычно представлен плавающими моделями дистро. А это значит, что как только разработчик выкатил новую версию своего софта, юзер Arch может получить ее на свою машину. Но, как всегда, есть нюанс. Вся эта история работает с установленными приложениями. При этом как ядро, так и пакеты остаются прежними. А они написаны таким образом, чтобы идти на как можно большем количестве самого разного железа. То есть ситуация в каком-то смысле похожа на концепцию драйверов для Windows. Вы можете установить «винду» и работать с периферийными устройствами на тех «общих дровах», что имеются в ее библиотеке. А можете зайти на сайт производителя или через специальное ПО скачать драйвера, которые специально написаны для конкретной модели мышки, тачпада или принтера. И окажется, что у вас появились новые возможности, а устройства стали работать быстрее и точнее. Иными словами, если у вас Linux машина с современным AMD или Intel чипами, то вам нужны более «точные» апдейты. И CachyOS вам их представляет.
Система идет с так называемым «пользовательским ядром» под логичным названием CachyOS Kernel, которое предлагает такие оптимизации как планировщик BORE, а также специально оптимизированные для современных процессоров методы компиляции LTO, PGO и BOLT. А еще у CachyOS есть собственный репозиторий, где находятся и компилируются пакеты с подобными улучшениями. И получается, что юзер этого любопытного Linux дистро в первых рядах получает новое программное обеспечение, которое оптимизировано для работы со свежим «железом».
Насколько заметна разница между работой Garuda Linux и CachyOS на компьютере с, к примеру, Ryzen 5 5600G CPU или Intel Haswell? Все зависит от кейса использования, конечно. Но опытные юзеры отмечают, что при тестировании обоих дистро CachyOS оказывалась быстрее в таких операциях, как AUR компиляция и запуск приложений, да и вся система в целом «бегала» заметно быстрее.