Алексей Федорчук
Роль менеджера пакетов в дистрибутиве VOID исполняет XBPS, то есть X Binary Package System — Система Бинарных Пакетов для Иксов. Почему для Иксов? Тайна сия велика есть, потому что и её утилиты работают из командной строки, и управляется она с любыми пакетами, не только иксовыми. Если же X символизирует таинственность — то спешу разочаровать читателя, ничего таинственного в этой системе нет. Ибо она обеспечивает обычные для такого рода систем функции, как то:
- поиск пакетов по имени или по шаблону;
- поиск доступных репозиториев;
- получение информации о репозиториях и пакетах;
- установку, переустановку и удаление пакетов;
- конфигурирование и реконфигурирование установленных пакетов;
- ведение базы данных установленных пакетов;
- создание локальных репозиториев;
- (почти) всё, что потребуется впредь.
В отличие от большинства аналогичных систем, каждая из перечисленных функций обеспечивается не опциями одной команды (как в yum
, zypper
, packman
etc.), а самостоятельными утилитами. Полный их список (в алфавитном порядке) таков:
xbps-create
— создание бинарных пакетов;xbps-dgraph
— построение dot-графов пакета;xbps-install
— установка и обновление пакетов и системы в целом;xbps-pkgdb
— сопровождение базы данных пакетов;xbps-query
— запрос информации и пакетах и репозиториях;xbps-reconfigure
— конфигурирование установленных пакетов;xbps-remove
— удаление пакетов;xbps-rindex
— работа с бинарными репозиториями.
Каждая из этих утилит имеет свой набор опций, полный список которых, вместе с кратким описанием, можно получить, дав одноимённую команду без параметров. И со временем все эти утилиты и их опции будут описаны на этих страницах, только в порядке не алфавитом, а тем, что определеяется логикой. А пока — несколько слов о том, что такое, товарищи, пакет, и что такое, братья, репозиторий в понимании дистрибутива Void.
Пакеты Void’а выглядят необычно, так как имеют суффикс *.xbps
. Однако это — самые обычные tar-архивы, сжатые утилитой xz
, которая постепенно становится стандартным компрессом для Linux-систем. Убедиться в этом легко — достаточно скачать любой пакет (откуда — скажу чуть позже) и дать команду file
:
$ file maim-3.4.46_1.x86_64.xbps maim-3.4.46_1.x86_64.xbps: XZ compressed data
Впрочем, непосредственно с файлами пакетов применителю практически не придётся иметь дело — XBPS, как и любая другая система пакетного менеджмента, изолирует его от них, отсылая в репозитории пакетов.
Как и везде, репозиторий Void’а — это хранилище пакетов, содерожащее метаинформацию о них в виде файла [arch]-repodata
, где arch
— одна из четырёх поддерживаемых дистрибутивом архитектур:
armv6l-repodata
armv7l-repodata
i686-repodata
x86_64-repodata
Не смотря на отсутствие суффикса, это тоже компрессированный файл, но уже сжатый утилитой gzip
:
$ file x86_64-repodata [Works/XBPS] x86_64-repodata: gzip compressed data, last modified: Sun Sep 20 09:11:57 2015, from Unix
Следовательно, его содержимое можно просмотреть такой командой:
$ zcat x86_64-repodata
И увидеть, что это довольно большой и не очень прозрачный XML-файл. Впрочем, нам в его содержимое вникать пока не обязательно, достаточно того, что благодаря этому файлу система XBPS воспринимает репозиторий как репозиторий, а не как файлопопмойку.
Фактически Void имет в настоящее время только один репозиторий, именуемый void-repo
, и располагается он здесь:
http://repo.voidlinux.eu (Germany, EU default)
Правда, он содержит в себе, кроме главной ветки, ещё четыре, которые воспринимаются как самостоятельные репозитории, то есть каждый имеет свой файл [arch]-repodata
:
void-repo-nonfree-3_1
— содержит так называемые «не совсем свободные» пакеты, то есть имеющие те или иные ограничения в распространении;void-repo-multilib-3_1
— включает 32-битные пакеты, предназначенные для запуска на 64-битных машинах;void-repo-multilib-nonfree-3_1
— ветка предыдущего, включающая «не совсем свободные» пакеты;void-repo-debug-3_1
— пакеты с отладочной информацией (только из главной ветки).
Ни один из этих дополнительных репозиториев по умолчанию не подключён, этим надо озаботиться самостоятельно (как — будет рассказано в ближайшем очерке).
Обращаю внимание на void-repo-nonfree-3_1
— именно в нём можно найти такие вещи, как фирменные видеодрайвера, flash-plugin
и так далее. Ввиду важности этого вопроса для многих применителей, дело о нём выделено в отдельное производство.
Кроме того, репозиторий Void имеет три официальных зеркала:
http://repo2.voidlinux.eu (Germany, EU) http://repo3.voidlinux.eu (Los Angeles, CA, US) http://repo4.voidlinux.eu (Paris, FR, EU)
Сравнив скорость доступа к ним, можно выбрать самое быстрое в данных условиях. Только нужно помнить, что они не полностью идентичны мастер-репозиторию: во втором германском и парижском зеркалах отсутствуют все дополнительные ветки.
Получив общее представление о пакетах и репозиториях дистрибутива Void, можно приступать к их практическому использованию. Однако сначала, как было обещано, несколько слов о содержимом репозитория non-free.