--- - [Команды](#команды) - [Установка](#install) - [Удаление](#remove) - [Обновление пакетов](#upgrade) - [Информация о пакете](#info) - [Список пакетов](#list) - [Сборка](#build) - [Добавление репозитория](#addrepo) - [Удаление репозитория](#removerepo) - [Обновление изменений](#) - [Исправление](#) - [Версия](#) - [Переменные окружения](#) - [Дистрибутивы](#) - [Формат пакета](#) - [Архитектура](#) ## команды Аргумент имени пакета не обязан быть точными(для пакетов из репозитория ALR). ### install Команда `install` устанавливает пакет из репозиториев ALR. Любые пакеты, которых нет в репозиториях ALR, передаются в системный менеджер пакетов для установки. ALR проверит массив и сообщит, если точное совпадение не найдено. Также поддерживается использование `%` в качестве замены. Если найдено несколько пакетов, вы будете проинформированы о выборе пакета для установки. По умолчанию, если пакет уже был собран, ALR установит кэшированный пакет вместо повторной пересборки. Используйте флаг `-c` или `--clean`, чтобы принудительно пересобрать пакет. Примеры: ```sh alr in alr-bin # найдёт только alr-bin alr in alr # находит alr-bin и alr-git alr in it% # находит alr-bin, alr-git и itgui-git alr in -c alr-bin ``` ### remove Команда `remove` предназначена для удобства. Она просто перенаправляет команду удаления в системный менеджер пакетов. Пример: ```sh alr rm firefox ``` ### upgrade Команда `upgrade` просматривает установленные в вашей системе пакеты и проверяет, соответствуют ли они пакетам из репозиториев ALR. Если да, то их версии сравниваются с использованием алгоритма `rpmvercmp`. Если в репозиториях ALR содержится более новая версия, пакет обновляется. По умолчанию, если пакет уже был собран, ALR установит кэшированный пакет, а не пересоберёт его. Используйте флаг `-c` или `--clean`, чтобы принудительно пересобрать. Пример: ```sh alr up ``` ### info Команда `info` отображает информацию о пакете в репозиториях ALR. Если найдено несколько пакетов, вам будет предложено выбрать, какой из них вы хотите просмотреть. Пример: ```sh alr info alr-bin # находит только alr-bin alr info alr # находит alr-bin и alr-git alr info it% # находит alr-bin, alr-git и itgui-git ``` ### list Команда `list` отображает все пакеты из репозитория ALR, а также их версии. Эта команда принимает один необязательный аргумент. Этот аргумент представляет собой шаблон для фильтрации найденных пакетов. Существует флаг `-I` или `--installed`, который фильтрует пакеты, установленные в системе. Примеры: ```sh alr ls # выводит все пакеты alr alr ls -I # выводит все установленные пакеты alr ls i% # выводит все пакеты, начинающиеся с "i" alr ls %d # выводит все пакеты, заканчивающиеся на "d" alr ls -I i% # выводит все установленные пакеты, начинающиеся с "i" ``` ### build Команда `build` собирает пакет с использованием скрипта сборки `alr.sh` в текущем каталоге. Путь к скрипту можно изменить с помощью флага `-s`. Пример: ```sh alr build ``` ### addrepo Команда `addrepo` добавляет репозиторий в ALR, если он еще не существует. Флаг `-n` устанавливает имя репозитория, а флаг `-u` — это URL репозитория. Оба являются обязательными. Пример: ```sh alr ar -n default -u https://gitea.plemya-x.ru/xpamych/xpamych-alr-repo.git ``` ### removerepo Команда `removerepo` удаляет репозиторий из ALR и удаляет его содержимое, если он существует. Флаг `-n` указывает имя репозитория, который необходимо удалить. Пример: ```sh alr rr -n default ``` ### refresh Команда `refresh` загружает все изменения из всех репозиториев ALR, которые были изменены. Пример: ```sh alr ref ``` ### fix Команда `fix` пытается исправить проблемы с ALR, удаляя и пересобирая кэш ALR. Пример: ```sh alr fix ``` ### version Команда version возвращает текущую версию ALR и завершает выполнение. Пример: ```sh alr version ``` ## Переменные окружения ### ALR_DISTRO Переменная окружения `ALR_DISTRO` должна быть установлена в дистрибутив, для которого должен быть собран пакет. Это говорит ALR, какие переопределения использовать. Значения должны совпадать с полем `ID` в `/etc/os-release` или `/usr/lib/os-release`. Возможные значения включают: ```sh arch alpine opensuse debian ``` ### ALR_PKG_FORMAT Переменная окружения `ALR_PKG_FORMAT` должна быть установлена в формат упаковки, который следует использовать. Допустимые значения: ``` archlinux apk rpm deb ``` ### ALR_ARM_VARIANT Переменная окружения `ALR_ARM_VARIANT` указывает, для какого варианта ARM следует собирать, если ALR работает на ARM-системе. Возможные значения включают: ``` arm5 arm6 arm7 ``` ## Кросс-упаковка для других дистрибутивов Вы можете создавать пакеты для различных дистрибутивов, устанавливая переменные окружения `ALR_DISTRO` и `ALR_PKG_FORMAT`, как указано выше. Примеры: ```sh alr_DISTRO=arch alr_PKG_FORMAT=archlinux alr build alr_DISTRO=alpine alr_PKG_FORMAT=apk alr build alr_DISTRO=opensuse alr_PKG_FORMAT=rpm alr build alr_DISTRO=debian alr_PKG_FORMAT=deb alr build ```