Про Sabayon подробнее. Управление пакетами

Алексей Федорчук

Основные варианты распространения Sabayon’а, как было сказано ранее, представляют собой системы быстрого развёртывания. И, как любые СБР, пригодны к применению сразу после установки. Не смотря на это, они требуют индивидуального «допиливания». Что же до «болваночных» Minimal и SpinBase, они для этого и предназначены, так как иначе пригодны к практическому применению вообще.

Понятие «допиливания» включает в себя, как один из главных элементов, корректировку набора предустановленных на стадии развёртывания пакетов. Причём в обе стороны — как доустановки нужных, так и избавления от избыточных. И здесь во всей красе проявляет себя третья особенность дистрибутива Sabayon — его система пакетного менеджмента. Она называется Entropy и основывается на портежах Gentoo, из которых генерирует свои бинарные пакеты. Entropy имеет два фронт-энда — equo c текстовым интерфейсом командной строки, и Rigo — с интерфейсом графическим, основанным на библиотеке Gtk+ 3.

Разработчики Entropy утверждают, что в этой системе управления пакетами

Собрано все лучшее из Portage, Yum и APT.

Отступление. Более полную информацию об Entropy можно получить из официальной Wiki проекта, причём в англоязычном исполнении: русскоязычная версия несколько отстаёт от жизни. В частности, в качестве графического фрон-энда к этой системе там упоминается не актуальный на данный момент Rigo (о нём см. ниже), а устаревший Sulfur.

И, глядя на её консольный интерфейс, в это можно поверить. Будучи основана на портежах, она наследует их изощрённое разрешение зависимостей, определяемое USE-флагами при компиляции. С APT’ом её сближает быстродействие. А простотой синтаксиса она действительно схожа с Yum’ом. Более того, некоторые (не все, но наиболее употребимые) субкоманды eque имеют сокращённую форму, что напоминает о zypper’е. Хотя, по моему скромному ИМХую, до функционала последнего eque не дотягивает — возможно, потому тот и не фигурирует в приведённой выше цитате.

Утилита equo устанавливается по умолчанию во всех вариантах Sabayon’а. Графическая же её ипостась, Rigo (авторы называют эту программу браузером приложений) изначально присутствует по всех «графических» сборках, кроме минимальной. Разумеется, нет её и в SpinBase.

Рассмотрение Entropy начнём, разумеется, с её консольного фронт-энда — утилиты equo. Она требует указания субкоманды (в том числе с её внутренними опциями) и, за некоторыми исключениями, аргументов в виде имени пакета или ключевого слова.

Система Entropy работает с локальным кешем пакетов, который в свежеустановленной системе, разумеется, пуст. Поэтому использование её начинается с его обновления, выполняемого командой

# equo update

Субкоманда которой имеет краткую форму — up.

После обновления локального кеша рекомендуется обновить саму систему Entropy командой

# equo install entropy

В equo не предусмотрено специальной субкоманды для обновления отдельных пакетов — субкоманда install (в краткой форме i) служит и для установки, и для переустановки, и для обновления их.

Важно, что исполнение команды установки выполняется сразу по нажатии Enter‘а, без вывода информации об устанавливаемом пакете и без запроса подтверждения. Чтобы всё это иметь, субкоманда install требует внутренней опции ask, то есть такой формы:

# equo i --ask package_name

Обратная процедура, то есть удаление пакета, выполняется так:

# equo remove package_name

Очевидно, что здесь опция ask ещё более уместна, чем в предыдущем случае. Другие важные внутренние опции этой субкоманды (она имеет и краткую форму rm) — deep (удаление вместе с «осиротелыми» зависимостямии пакета), empty (включая также и виртуальные пакеты) и configfiles (с удалением более ненужных конфигов).

Для тотального обновления системы указывается субкоманда upgrade (или u) — внутренняя опция ask имеет силу и для неё. Процедуру эту рекомендуется проделать сразу же после установки системы.

Наконец, поиск пакетов выполняется субкомандой search (в краткой форме s). Вывод результатов его совмещён с информацией о найденных пакетах — отдельной субкоманды для этого не предусмотренно.

С остальными субкомандами утилиты equo (не очень многочисленными, но вполне достаточными) можно ознакомиться, указав для неё глобальную опцию help или, в краткой форме

$ equo --h

Очевидно, что для субкоманд, служащих получению сведений, достаточно прав обычного пользователя, тогда как для субкоманд, выполняющие действия (установку, удаление, апгрейд и так далее), необходимо предварительно получить права администратора (например, командой su, хотя и sudo с настройками по умолчанию также работает).

Кроме того, никто не запрещает и обращения к man-страницам. Правда, man (1) equo выведет только общие сведения об этой утилите и список её субкоманд. Для ознакомления с деталями применения последних надо обращаться к отдельным man-страницам для equo-search, equo-install и так далее.

Минимально необходимые сведения о графическом фронт-энде Entropy я привёл в одной из предыдущих заметок о Sabayon’е, и пересказывать их здесь не буду. По более полному знакомству к сказанному по ссылке добавлю только, что Rigo — это действительно скорее Applications Browser, подобный Центру приложений Ubuntu, Менеджеру программ из Mint’а или GNOME Software, нежели привычный менеджер пакетов вроде Synaptic’а или соответствующего модуля из YaST. Что, конечно, делает его лёгким в использовании, но существенно ограничивает функционал. В отношении которого ему далековато не только до YaST’а, но и до Synaptic’а.

Тем не менее, оба фронт-энда обеспечивают возможность установки системы действительно «с нуля», по тому же принципу, по которому осуществляется debootstrap в deb based дистрибутивах. То есть, загрузившись с любого образа дистрибутива в Live-режиме, выполнить из него ручную разметку целевого носителя, создание на нём необходимых разделов и файловых систем на них, монтирование будущего корня в «живую» файловую иерархию, установку на него минимального «базиса» (baselayout и что ещё для этого нужно в Gentoo), выполнение процедуры chroot и дальнейшее наращивание функционала системы средствами Entropy. И вот здесь и находит своё место в жизни образ SpinBase, ибо все остальные для выполнения этих действий являются избыточными. Хотя никто не запрещает в этом качестве использовать и их.

В этой связи уместно упомянуть о четвёртой особенности Sabayon’а — его системе Molecule. Она представляет собой инструмент для создания на базе официальных образов этого дистрибутива образы собственные, под свои цели и задачи. Однако практически я эту систему (пока?) не применял, и потому просто отсылаю заинтересованных к первоисточнику. Возможно, вернусь к этой теме когда и если (если и когда) в Sabayon’е будет нормально поддерживаться Cinnamon. Хотя подозреваю, что тогда с этой задачей справятся и майнтайнеры дистрибутива, выпустив соответствующий iso-образ официально.

Описанные (или упомянутые, как Molecule) особенности Sabayon’а имеют значение более-менее для всех, кто интересуется этим дистрибутивом хотя бы чисто платонически. Я же перейду к той его фиче, которая интересна лично для меня — поддержке ZFS. Хотя, возможно, привлечёт внимание и кого-либо ещё.

Содержание