DevPace
БлогСправкаНовостиСкачатьДемоТарифыПривязка устройстваВойтиНачать

Установка в Arch Linux и производных: PKGBUILD и makepkg

В Arch Linux и производных (Manjaro, EndeavourOS, Garuda) программы ставятся не только готовыми пакетами через pacman, но и сборкой из PKGBUILD — текстового рецепта, по которому пакет собирается прямо на вашей машине. Ниже — как это работает и как поставить так DevPace.

Что такое PKGBUILD и AUR

PKGBUILD — обычный shell-скрипт с описанием: откуда взять исходники, какие нужны зависимости, как собрать и что положить в пакет. Обрабатывает его утилита makepkg.

AUR (Arch User Repository) — это репозиторий именно таких рецептов, а не собранных пакетов. Когда говорят «поставить из AUR», имеют в виду: скачать PKGBUILD и собрать его локально. Важное следствие: пакеты AUR не проверяются мейнтейнерами дистрибутива, и PKGBUILD перед сборкой стоит прочитать — это просто текстовый файл.

Ключевая команда

makepkg -si

Разбор флагов:

Полезное дополнение: -c очищает рабочие файлы после сборки, а --noconfirm убирает вопросы (осмысленно только в скриптах). Запускать makepkg от root нельзя — утилита сама на это ругается, sudo она вызывает только там, где действительно нужно.

Почему сборка не мгновенная

Из PKGBUILD пакет компилируется, а не разворачивается. Для программ на Rust или C++ это означает несколько минут работы процессора при первой установке — в отличие от .deb и .rpm, где всё уже собрано заранее. Обновление обычно быстрее: часть артефактов кешируется.

Как это выглядит в DevPace

Отдельного пакета в AUR нет — PKGBUILD лежит прямо в репозитории клиента, в папке installer/linux/arch, вместе с файлом growth-layer-agent-git.install: он нужен для донастройки после установки (автозапуск и доступ к событиям ввода). Оба файла скачиваются в одну папку, дальше — обычный makepkg -si:

mkdir -p /tmp/growth-layer-agent-build && curl -fL -o /tmp/growth-layer-agent-build/PKGBUILD https://raw.githubusercontent.com/ak-alz/gla-client/main/installer/linux/arch/PKGBUILD && curl -fL -o /tmp/growth-layer-agent-build/growth-layer-agent-git.install https://raw.githubusercontent.com/ak-alz/gla-client/main/installer/linux/arch/growth-layer-agent-git.install && cd /tmp/growth-layer-agent-build && makepkg -si

Зависимости, которые makepkg подтянет через pacman: gtk3, glib2, gdk-pixbuf2 и xdotool. Агент собирается из исходного кода на Rust, поэтому первая установка занимает 5–10 минут в зависимости от процессора — это нормально, а не признак зависшей сборки.

Экран привязки устройства к аккаунту DevPace Результат тот же, что и при установке из пакета: агент поднимается в трее, и остаётся ввести одноразовый код в браузере.

Пример

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

Все остальные форматы — в статье установка DevPace на Linux; если пакетного менеджера нет вовсе, подойдёт универсальный tar.gz.