Linux привлекателен для пользователей своим разнообразием дистрибутивов, которые готовы удовлетворить потребности даже самых искушённых из них. Для старого и слабого железа — есть легковесные дистрибутивы. Для корпоративных сетей и серверов имеются стабильные версии Linux. Для домашнего компьютера — имеется игровой и мультимедийный Linux, и это не учитывая огромное количество самых обычных дистрибутивов. И среди всего этого разнообразия особняком стоят дистрибутивы Linux, в которых используются современные технологии и методы для повышения безопасности и стабильности.
Все кто знаком с Linux слышали про Fedora Silverblue, в которой корневая и пользовательская директории монтируются в режиме «только для чтения». А все данные, подверженные изменениям, размещаются в каталоге /var. Другой пример безопасного Linux — NixOS, основанный на менеджере пакетов Nix. Его же главной особенностью является декларативное описание конфигураций. А для его развёртывания надо указать конфигурационный файл, где указаны все необходимые для установки пакеты и настройки аутентификации.
Знакомство с ванильной осью
Есть ещё один безопасный дистрибутив — это Vanilla OS, неизменяемый и цельный дистрибутив на базе Ubuntu. И так как этот дистрибутив основан на одном из самых популярных дистрибутивов, то он может оказаться интересным и для простого пользователя. В нём реализована поддержка работы с приложениями, которые поставляются в изолированных контейнерах Flatpak и AppImage. Кроме того, Vanilla OS имеет собственный менеджер пакетов — apx, который можно использовать для установки пакетов из Ubuntu, Fedora или Arch Linux в специально созданные для них контейнеры.
При установке Vanilla OS делит систему на два раздела — A и B. Обновление системных приложений в Vanilla OS производится утилитой ABRoot, которая сохраняет целостность основной системы и использует транзакцию между A-B разделами, чтобы сделать обновление как можно более безопасным и надежным. Похожая система разделения на A-B разделы используется в Chrome OS. По сути получается, что на диск устанавливаются две копии одной операционной системы, и после обновления система попытается загрузиться с обновлённого раздела. Если обновление прошло неудачно, то система загрузится с другого раздела, и приложения останутся в предыдущей версии. Помните об этом при установке Vanilla OS, и выделите для неё не менее 50 ГБ дискового пространства.
Установка Vanilla OS
Загрузите ISO-образ с сайта https://github.com/Vanilla-OS/os/releases. На данный момент последней версией является Vanilla OS 22.10, датированная февралём 2023 года. Далее надо записать полученный образ на диск или флешку, и уже с неё загрузиться на целевой машине. Установка начинается с выбора языка и клавиатуры, установки времени и разметки жёсткого диска. Я тестировал на виртуальной машине, поэтому выбрал вариант «использовать весь диск». И только после создания пользователя и подтверждения всех введённых данных начнётся процесс установки, который займёт некоторое время. Многообещающая надпись «Всё сделано» оповестит вас об успешной установке и попросит перезагрузить компьютер.
Если вы думаете, что на этом всё, то глубоко ошибаетесь. После того как вы войдёте в систему в первый раз, вас встретит мастер начальной настройки. Вас попросят выбрать цветовую схему, пакетный менеджер (смело выбирайте и Flatpak, и Appimage), а также предложат на выбор — какие системные приложения установить, нужен ли вам офисный пакет LibreOffice и ещё некоторые дополнительные программы. После, вам надо решить — устанавливать или нет программу для резервного копирования «Timeshift», нужен ли вам инструмент для работы с виртуальными машинами «Open VM Tools», а также дополнительные мультимедиа кодеки и разрешать ли утилите Apport отправлять отчёты о сбоях. Затем, после ввода пароля, вы можете смело отправляться заваривать чай, так как установка выбранных пакетов, в зависимости от скорости интернета, может занять приличное время.
Но и это ещё не всё. После перезагрузки вновь откроется мастер настройки, но в этот раз вам просто надо будет дождаться, когда установятся все пакеты Flatpak. И только по завершению этой работы можно смело выдохнуть и приступать к исследованию свежеустановленной системы.
Установка приложений
Самое время проверить установку приложений. Запустим приложение центр приложений GNOME и зададим поиск приложения VLC. В информации о пакете говорится, что VLC доступен в виде Flatpak из репозитория Flathub. Теперь проверим консольную утилиту htop. Найдём её и откроем информацию, где видим, что htop доступен как apt приложение из репозитория самой Vanilla OS. Для приложения Appimage в Vanilla OS кроме настройки директорий, куда сохранять скачанные файлы Appimage, больше нет ничего. Сами файлы доступны либо на сайтах разработчиков приложений, либо на сайте AppImageHub (https://www.appimagehub.com), где собраны более тысячи программ в формате Appimage. Кроме того, разработчики Vanilla OS обещают в скором времени подключить возможность установки Snap пакетов.
В Vanilla OS можно использовать инструмент упаковки Apx для добавления приложений из разных систем Linux. Приложение, установленное посредством apx, запускается внутри контейнера, который тесно интегрирован с ОС. Возьмём к примеру ту же утилиту htop, которую мы рассмотрели выше. Мы помним, что htop доступен как apt приложение, но Vanilla OS не работает напрямую с apt. Если вы попытаетесь запустить в терминале, привычную по Ubuntu команду:
sudo apt install htop
она завершится ошибкой и сообщением, что команда apt найдена. Вместо неё в терминале надо ввести эту команду:
apx install htop
или
apx --apt install
которая установит выбранное приложение из репозитория Vanilla OS.
Инструмент Apx может устанавливать приложения в контейнеры Ubuntu, Fedora, OpenSUSE, Arch Linux, Pine и VoidLinux. Чтобы установить приложения из различных источников, используйте следующие флаги:
- apx —apt install PACKAGE_NAME #Устанавливает в контейнер Ubuntu
- apx —aur install PACKAGE_NAME #Устанавливает в контейнер Arch
- apx —apk install PACKAGE_NAME #Устанавливается в контейнер Pine
- apx —dnf install PACKAGE_NAME #Устанавливается в контейнер Fedora
- apx —zypper install PACKAGE_NAME #Устанавливается в контейнер OpenSUSE
- apx —xbps install PACKAGE_NAME #Устанавливается в контейнер VoidLinux
Этими контейнерами можно управлять из центра управления Vanilla OS. На первой вкладке содержатся настройки для обновлений операционной системы. Вторая вкладка отобразит список доступных подсистем (контейнеров), какие подсистемы уже подключены, и при необходимости нужную подсистему можно будет там же и подключить. Пиктограмма справа от контейнера либо подключит подсистему, либо запустит терминал подсистемы. Снизу будет выводиться список приложений, установленных в контейнерах.
Виртуализация и эмуляция
До сих пор мы рассматривали способы запуска приложений в контейнерных форматах. В Vanilla OS, как и во всех Linux дистрибутивах, есть возможность запуска как виртуальных машин, так и приложений Windows с помощью Wine. При первом запуске системы, в мастере начальной настройки, можно было установить приложение Boxes, которое является интерфейсом Gnome для QEMU, KVM и libvirt. Запустив это приложение вы можете создать новую виртуальную машину, указав ISO-образ и установив ее обычным образом.
Там же, в мастере начальной настройки, можно было установить утилиту Bottles. Если при начальной настройке приложение не было установлено, то его можно найти в центре приложений Gnome. Bottles — это внешний интерфейс Wine, что расшифровывается как Wine Is Not an Emulator. Bottles предоставляет предварительно настроенную среду с поддержкой большого набора программ и игр Windows на Linux, в которых удовлетворены все зависимости.
ABRoot и Vanilla OS
Существуют некоторые приложения, которые не интегрируются должным образом в систему, если они запущены в контейнере. Примером может послужить использование альтернативной оболочки. Сейчас мы установим оболочку Fish, которая предоставляет множество дополнительных возможностей, включая автодополнение командной строки в терминале. Нам необходимо выполнить два шага:
- установить оболочку Fish
- переключиться на нее.
Для этого, надо открыть терминал и выполнить следующую команду:
sudo abroot exec apt install fish
После удачной установки мне надо было перезагрузить систему и ввести в консоли:
chsh
Эта команда попросит ввести путь к альтернативной оболочке, который в нашем случае будет таким:
/.system/usr/bin/fish
Перезайдите или перезагрузите систему, чтобы оболочка fish активировалась.
При выполнении команды ABRoot система выдаст предупреждение о том, что инструмент ABRoot не должен использоваться для обычных задач. Думаю, что стоит прислушаться к этому предупреждению и постарайтесь использовать ABRoot как можно реже. После выполнения команд ABRoot применяет изменения, но они начинают действовать только после перезагрузки.
Заключение
Ubuntu — невероятно мощная, хорошо протестированная и стабильная операционная система. Для меня Ubuntu является рабочей лошадкой уже на протяжении многих лет. Vanilla OS, с ее неизменяемой файловой системой, системой ABRoot и всем остальным, что может предложить Ubuntu, обещает стать удивительным дистрибутивом. Учитывая, что дистрибутив находится на ранней стадии своего жизненного цикла, он находит множество положительных отзывов. С учётом грядущего внедрения поддержки пакетов Snap в Vanilla OS, количество поддерживаемого программного обеспечения будет просто огромным.
В начале марта 2023 года разработчики объявили о том, что последующие версии Vanilla OS будут основаны на Debian Linux. Поскольку сам дистрибутив Ubuntu основан на Debian, надеемся, что это не вызовет у команды никаких проблем с продвижением в текущем темпе.
Что вы думаете?
Показать комментарии / Оставить комментарий