Как пользоваться aur
Перейти к содержимому

Как пользоваться aur

  • автор:

pikaur — современный помощник AUR

С тех пор, как открыл для себя yay, стараюсь его установить в свежую ОС и использовать в дальнейшем. По сравнению со стандартным pacman, yay имеет преимущества, уже привык к нему. Но в комментариях не раз встречал pikaur, либо кто-то прямо советовал перейти на него, мол, сейчас он актуальнее, чем yay. Не хотелось этого делать, пока не изучу его в теории. Так в чем же преимущества .

Во-первых, имеет информативное оформление

Во-вторых, при нажатии v показывает информацию по устанавливаемым пакетам

В-третьих, pikaur предлагает повторение неудачно выполненной операции

Синтаксис схож с аналогами. Данный помощник установить у меня не получилось ни через pamac, ни через pacman, ни через yay. Ставил клонированием репозитория и сборкой на месте. Страница в AUR, страница на giters.com

Расположение файлов

~/.cache/pikaur/ ├── build/ # build directory (removed after successfull build) ├── pkg/ # built packages directory ~/.config/pikaur.conf # config file ~/.local/share/pikaur/ └── aur_repos/ # keep aur repos there; show diff when updating └── last_installed.txt # aur repo hash of last successfully installed package

Настройка

AlwaysShowPkgOrigin (по умолчанию: нет)

При установке новых пакетов указывать имя репозитория, даже если они взяты из официальных репозиториев Arch Linux.

UpgradeSorting (по умолчанию: versiondiff)

При обновлении пакетов сортируйте их по версии, имени пакета или репозиторию.

KeepBuildDir (по умолчанию: нет)

Не удалять каталог ~/.cache/pikaur/build/${PACKAGE_NAME} между сборками. Будет изменён флагом -k/—keepbuild.

SkipFailedBuild (по умолчанию: нет)

Всегда пропускать сборку в случае её сбоя и не показывать запрос на восстановление.

DontEditByDefault (по умолчанию: нет)

При запросе на редактирование PKGBUILD и файлов установки всегда по умолчанию принимается значение «нет».

NoEdit (по умолчанию: нет)

Не предлагать редактировать PKGBUILD и устанавливать файлы. Будет изменён флагами —noedit и —edit.

NoDiff (по умолчанию: нет)

Не запрашивать отображение различий в файлах сборки. Будет переопределен флагом—nodiff

GitDiffArgs (по умолчанию: —ignore-space-change, —ignore-all-space)

Флаги, которые необходимо передать команде git diff при просмотре файлов сборки. Должны быть разделены запятыми (,)

AlwaysUseDynamicUsers (по умолчанию: нет)

Всегда изолируйте сборку, используя динамических пользователей systemd. Будет переопределен флагом —dynamic-users.

Цвета Терминала от 0 до 15:

Версия (по умолчанию: 10)

VersionDiffOld (по умолчанию: 11)

VersionDiffNew (по умолчанию: 9)

RequireEnterConfirm (по умолчанию: да)

Требовать нажатия клавиши ввода при ответе на вопросы.

DiffPager (по умолчанию: автоматически)

Где использовать меньший размер страницы при просмотре различий в пакетах AUR. Варианты: всегда, автоматически или никогда.

PrintCommands (по умолчанию: нет)

Вывести каждую команду, которую в данный момент выполняет pikaur.

SudoLoopInterval (по умолчанию: 59)

Интервал в секундах, в течение которого команда sudo будет запускаться в фоновом режиме, чтобы не запрашивать пароль sudo более одного раза (-1, чтобы вообще отключить цикл sudo).

PacmanPath (по умолчанию: pacman)

Путь к выполняемому файлу pacman.

FAQ

Q Как обновить сразу все пакеты dev (-git) ?

pikaur -Sua --devel --needed

(опция —needed гарантирует, что та же версия пакета не будет пересобрана снова, а -a/—aur гарантирует, что только пакеты AUR будут обновлены)

Q Как переопределить исходный каталог по умолчанию, каталог сборки или место назначения встроенного пакета ?

Установите SRCDEST, BUILDDIR или PKGDEST соответственно в makepkg.conf. Для получения дополнительной информации см. документацию makepkg.

Q Как очистить старые или удаленные пакеты AUR в ~/.cache/pikaur/pkg ?

Этого можно добиться с помощью pacman-hook (paccache-clear.hook). Для официальных пакетов и пакетов AUR сохраняются последние 3 пакета, если пакет все еще установлен, и один пакет сохраняется, если пакет удален.

Exec = /usr/bin/env bash -c "/usr/bin/paccache -vrk3; /usr/bin/paccache -vruk1; /usr/bin/paccache --cachedir PATH/TO/.cache/pikaur/pkg/ -vrk3; /usr/bin/paccache --cachedir PATH/TO/.cache/pikaur/pkg/ -vruk1"

Измените значения, и все готово (вся команда в одну строчку).

Q Как восстановить оригинальный PKGBUILD после редактирования ?

Перейдите в каталог пакета

cd ~/.local/share/pikaur/aur_repos/$ИМЯ_ПАКЕТА

Просмотрите текущие изменения файла PKGBUILD с помощью git diff, а затем сбросьте их с помощью git checkout — ‘*’.

Q Как увидеть список обновлений без синхронизации базы данных ? (например, инструмент «checkupdates» от pacman)

На практике используйте инструмент checkupdates для проверки обновлений репозиториев и используйте pikaur только для AUR (переключатель -a/—aur):

checkupdates && pikaur -Qua 2>/dev/null

Q Pikaur работает медленно при запуске от имени пользователя root (или через sudo)

Если вы обнаружите, что инициализация команды занимает много времени, обязательно периодически очищайте кэш: pikaur -Scc. Корневой pikaur использует динамических пользователей SystemD, чтобы изолировать процесс сборки от корня, и требуется некоторое время для смены владельца кэша сборки на нового временного пользователя.

Q Как мигрировать с Yay?

Это приведет к переносу кэша установленных пакетов AUR, поэтому вы все равно сможете увидеть различия Git для следующего обновления каждого пакета:

mv ~/.cache/yay/* ~/.local/share/pikaur/aur_repos/ find ~/.local/share/pikaur/aur_repos -mindepth 1 -maxdepth 1 -type d | xargs -r -I '<>' -- sh -c 'cd "<>" && git rev-parse HEAD > last_installed.txt'

Q Как понизить версию пакета?

Это покажет список комментариев, чтобы выбрать один из них для понижения версии

pikaur -G cd git log # choose from the list git checkout pikaur -Rns # Uninstal current version pikaur -P # Uninstal current version makepkg -si # If previous command failed to install cd .. && rm -rf # Remove the temp directory

Arch User Repository

Используйте AUR на свой страх и риск! Команда Manjaro не будет оказывать поддержку по любым вопросам, которые могут возникнуть в связи с установкой программ из AUR. Когда Manjaro обновляется, пакеты AUR могут перестать работать. Это не проблема Manjaro

Хотя Manjaro очень близок к Arch Linux и в основном совместим с ним —будучи основанным на самом Arch Linux— невозможно получить доступ к их официальным репозиториям для использования в Manjaro. Вместо этого Manjaro использует свои собственные репозитории для гарантии того, что все доступные программные пакеты, такие как системные обновления и приложения, были полностью протестированы на совместимость и стабильность перед выпуском. По-прежнему можно получить доступ к дополнительным программным пакетам из Arch User Repository’ (AUR).

AUR управляется самим сообществом пользователей Arch Linux. Хотя этот репозиторий является неофициальным, пакеты программ, впервые размещенные здесь, могут попасть в официальный репозиторий Arch Linux (community), если они станут достаточно популярными.

AUR, как хранилище, поддерживаемое сообществом, представляет потенциальные риски и проблемы.

Возможные риски при использовании пакетов AUR:

  • Несколько версий одних и тех же пакетов.
  • Устаревшие пакеты.
  • Сломанные или частично работающие пакеты.
  • Неправильно настроенные пакеты, которые загружают ненужные зависимости, или не загружают необходимые зависимости, или и то, и другое.
  • Вредоносные пакеты (хотя это случается крайне редко).

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

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

Опять же, нет никакой гарантии, что любое установленное программное обеспечение будет работать правильно, если вообще будет работать.

Info Вам следует ознакомиться с процессом ручной сборки, чтобы быть готовым к устранению проблем.
Доступ к AUR

Использование графического интерфейса Pamac

Откройте Pamac — название в меню Add/Remove Software и перейдите на страницу Preferences. На странице Preferences → выберите вкладку Сторонние → и переместите ползунок, чтобы включить поддержку AUR. Убедитесь, что у вас есть необходимые файлы для сборки приложений из исходного кода

user $ pamac install base-devel git COPY TO CLIPBOARD

Использование командной строки Pamac

Info Настоятельно рекомендуется перейти по этой ссылке Веб-страница AUR и изучить соответствующую страницу (страницы) для любого и всех программ, предназначенных для установки

. Эти страницы содержат комментарии как существующих пользователей, так и разработчиков пакетов, которые могут содержать ценную информацию (например, предупреждения и/или решения проблем). Для поиска и установки пакетов программ из AUR используется следующий синтаксис:

user $ pamac search -a [имя программного пакета] COPY TO CLIPBOARD

Например, если вы хотите установить Google Chrome, сначала перейдите по этой ссылке all Google Chrome build scripts и проверьте, какой пакет вы хотите собрать. Или вы можете спросить pamac — о кандидатах на Google Chrome. Просто используйте команду поиска и Google Chrome в качестве запроса. Просмотрите результаты или сузьте параметры поиска — только помните, что pamac не может сообщить вам о проблемах со сценариями сборки — только о соответствующей странице. Например, перейдя по этой ссылке на buildscript for Google Chrome

user $ pamac search Google Chrome COPY TO CLIPBOARD

В примере мы выбрали стандартную версию Google Chrome. Для сборки пакета google-chrome с помощью pamac введите следующее и нажмите клавишу Enter

user $ pamac build google-chrome COPY TO CLIPBOARD

Вам будет представлен результат выбранной сборки со всеми зависимостями, и вам будет задана пара вопросов.

  1. Запрос на редактирование файлов сборки. Это мера предосторожности, чтобы убедиться, что скрипты сборки не содержат вредоносных действий.
  2. Запрос на продолжение загрузки и установку зависимостей, затем загрузка исходных текстов, сборка и установка приложения.
  3. Прежде чем что-либо произойдет, вас попросят ввести пароль.

Использование графического интерфейса Octopi

Смотрите это руководство для включения поддержки AUR в Octopi.

Установка из AUR вручную

Руководство

Для этого выполните следующие действия:

  • Убедитесь, что у вас есть необходимые файлы для сборки приложений из исходного кода

user $ pamac install base-devel git COPY TO CLIPBOARD

  • Клонируйте PKGBUILD

user $ git clone https://aur.archlinux.org/google-chrome.git COPY TO CLIPBOARD

  • Измените каталог на клонированную папку

user $ cd google-chrome COPY TO CLIPBOARD

  • Для создания/компиляции пакета выполните:

user $ makepkg -s COPY TO CLIPBOARD

Это соберет пакет и подключит все необходимые зависимости. Примечание: он не будет извлекать зависимости из AUR, только из Manjaro Repos.. Если вы перечислите содержимое папки

user $ ls COPY TO CLIPBOARD

вы, вероятно, найдете несколько новых файлов. Вас интересует тот, который заканчивается .pkg.tar.zst.

  • Последним событием будет запуск $sudo pacman -U для этого файла.

user $ sudo pacman -U google-chrome-ver.rel.bugfix.build-pkgrel.pkg.zst COPY TO CLIPBOARD

И вы сделали это. самый безопасный способ установки из AUR. По сути, это то, что делает за вас большинство сценариев установки.

Примечание: Вместо использования sudo pacman -U google-chrome-ver.rel.bugfix.build-pkgrel.pkg.zst можно также использовать:

user $ makepkg -i COPY TO CLIPBOARD

Примечание: Чтобы объединить вышеуказанные шаги в один:

user $ makepkg -is COPY TO CLIPBOARD

Обновление пакетов, установленных из AUR

Следующая команда обновит все пакеты в системе, включая сборки AUR

Как установить программу из Arch User Repository (AUR) – пользовательского репозитория Arch

Пользовательский репозиторий Arch (Arch User Repository, AUR) — это поддерживаемое сообществом хранилище ПО для пользователей Arch. Он содержит описания пакетов (файлы PKGBUILD), которые позволят вам скомпилировать пакет из исходников с помощью makepkg и затем установить его, используя pacman. AUR был создан, чтобы объединить и предоставить в общий доступ новые пакеты от сообщества и способствовать скорому включению популярных пакетов в репозиторий community.

Большое количество пакетов, которые включаются в официальные репозитории, начинают свой путь с AUR. В AUR пользователи могут добавлять свои собственные сборки пакетов (PKGBUILD и другие необходимые файлы). Сообществу предоставлена возможность голосовать за эти пакеты или против них. Если пакет становится популярным, распространяется под подходящей лицензией и может быть собран без дополнительных сложностей, то, вероятно, он будет перенесен в репозиторий community (непосредственно доступный при помощи утилит pacman и abs).

Поиск программ и пакетов в AUR

Для поиска пакетов в AUR можно воспользоваться веб-интерфейсом, доступным по адресу https://aur.archlinux.org/ Для дополнительного удобства, язык веб-интерфейса можно переключить на русский.

Если вам нужно получить доступ к поиску в AUR из скрипта, то подходящий интерфейс вы найдёте здесь https://aur.archlinux.org/rpc.php

Зависимости для установки из AUR

Поскольку при установке из AUR файлы компилируются из исходного кода, то должны быть установлены программы, содержащиеся в группе base-devel:

pacman -S --needed base-devel

Также у вас должен быть установлен git:

sudo pacman -S git

Загрузка исходного кода, сборка и установка из AUR

На странице каждого пакета после надписи Git Clone URL: или URL для git clone: (для русского языка) имеется ссылка на git репозиторий данного пакета. Скопируйте эту ссылку и составьте команду: git clone + URL, получится примерно так:

git clone https://aur.archlinux.org/имя_пакета.git

После окончания клонирования перейдите в директорию клонированного пакета:

cd имя_пакета

Проверьте, что именно будет делать программа установки:

less PKGBUILD

Внимание: этот файл может содержать любые команды Bash, в том числе и зловредные. makepkg никогда не должен запускаться как рут, это является некоторой защитой, но не нужно рассчитывать только на это. Если у вас есть сомнения, не собирайте пакет, а попросите помощи на форумах.

Запустите следующую команду как обычный пользователь:

makepkg -si

Она выполнить все необходимые действия, загрузит исходные коды и необходимые файлы, проведёт все нужные манипуляции (применит патчи и т.д.), на самом последнем этапе pacman спросит об установке файла, нажмите Enter для продложения.

Опции makepkg:

  • -s/—syncdeps перед сборкой автоматически разрешает и устанавливает все зависимости с pacman. Если пакет зависит от других пакетов из AUR, вам нужно сначала установить их вручную.
  • -i/—install установить пакет если он успешно собран. В качестве альтернативы собранный пакет может быть установлен с pacman -U.

Другие полезные флаги для makepkg:

  • -r/—rmdeps после завершения сборки, удаляет зависимости, нужные на время сборки, поскольку после этого они не нужны. Тем не менее, эти зависимости могут понадобиться при переустановки или обновлении этого пакета в следующий раз.
  • -c/—clean очищает временные файлы сборки после окончания сборки, поскольку они больше не нужны. Эти файлы обычно нужны только для отладки процесса сборки.

Обновление программ из AUR

Если вы не удалили клонированный репозиторий программы, то перейдите в него:

cd имя_пакета

Загрузите последние изменения:

git pull

И установите новый пакет:

makepkg -si

Чтобы узнать, были ли обновления, перейдите в клонированную директорию пакета и наберите команду:

git status

Она даст однозначный ответ только если вы очистили временные файлы, используемые при сборке (задали ключ -c для makepkg).

Если вы удалили клонированную директорию пакета, то для обновления заново пройдите все шаги, начиная с клонирования репозитория.

Близкие статьи

  • Автоматическая установка и обновление пакетов AUR (100%)
  • Как в Arch Linux (BlackArch, Manjaro) посмотреть информацию о пакете (100%)
  • Как скачать пакет без установки в Arch Linux и Manjaro. Как скачать исходный код пакета AUR (100%)
  • Ошибка «ModuleNotFoundError: No module named ‘pikaur’» (РЕШЕНО) (91.1%)
  • Ошибка «TypeError: ‘AURPackageInfo’ does not have attribute ‘submitter’» (РЕШЕНО) (91.1%)
  • Как настроить Bluetooth на Arch Linux / BlackArch (RANDOM — 50%)

7 комментариев для “ Как установить программу из Arch User Repository (AUR) – пользовательского репозитория Arch ”

Александр :

==> ОШИБКА: Запуск makepkg от имени суперпользователя не разрешён,
т. к. это может причинить катастрофический вред системе. ==> ОШИБКА: У вас нет прав на запись для создания пакетов в ‘/home/arch/winusb’.
Прерывание… ==> ОШИБКА: An unknown error has occurred. Exiting…

Alexey :

Ну и? Теперь мне нужно расспрашивать, что делали, какую команду вводили, использовали ли sudo или работает из-под рута? Это плохая привычка постить ошибку без комментария: почему нельзя сразу всё написать? Почему я должен тратить своё время на наводящие вопросы: что делали, как вводили и т.д. Здесь телепатов тоже нет. А вообще в статье есть:

makepkg никогда не должен запускаться как рут

Александр :

su git clone https://aur.archlinux.org/winusb.git в каталог: cd winusb без root далее makepkg -si ==> ОШИБКА: У вас нет прав на запись для создания пакетов в ‘/home/arch/winusb’.
Прерывание… ==> ОШИБКА: An unknown error has occurred. Exiting… что с правами root происходит аналогичной команды, описано выше

Alexey :

Вы перед git clone пишите su или sudo? Так никогда не нужно делать. В этом и ошибка. Даже без команды ls -dl /home/arch/winusb понятно, что директория принадлежит руту, поэтому вы, как обычный пользователь, не можете в неё писать. А makepkg нельзя запускать от рута. Поэтому и получается патовая ситуация. Можете убедиться в этом сами, команда выведет вашего текущего пользователя:

whoami

а эта команда покажет владельца директории (там будет рут):

ls -dl /home/arch/winusb

Каталог /home/arch/winusb удаляете (sudo rm -rf /home/arch/winusb) и клонируете заново от имени обычного пользователя.

Александр :
Здорово! Всё получилось, не надо было от root клонировать.
archlinux :

Здравствуйте! Мне нужно изменить исходный код в программе (имеется ввиду не файл PKGBUILD). Как загрузить исходные файлы и распаковать их?

Arch User Repository (Русский)

Состояние перевода: На этой странице представлен перевод статьи Arch User Repository. Дата последней синхронизации: 28 мая 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

  • makepkg (Русский)
  • pacman (Русский)
  • PKGBUILD (Русский)
  • .SRCINFO
  • Aurweb RPC interface
  • AUR submission guidelines (Русский)
  • AUR Trusted User guidelines
  • Официальные репозитории
  • Система сборки Arch
  • Создание пакетов
  • Инструменты для работы с AUR
  • AUR Cleanup Day

Пользовательский репозиторий Arch (Arch User Repository, AUR) — поддерживаемое сообществом хранилище программ для пользователей Arch. Содержит описания пакетов (файлы PKGBUILD), которые позволяют скомпилировать пакет из исходников утилитой makepkg и затем установить его с помощью pacman. AUR был создан с целью организации совместного доступа к новым пакетам, которые были созданы сообществом, а также чтобы ускорить добавление популярных пакетов в репозиторий extra. В статье описано, как получить доступ к AUR и как с ним работать.

Многие пакеты, в настоящее время находящиеся в официальных репозиториях, когда-то начинали свой путь в AUR. В AUR пользователи могут добавлять собственные сборки пакетов ( PKGBUILD и другие необходимые файлы). Сообществу предоставлена возможность голосовать за понравившиеся пакеты. Если пакет стал популярным, распространяется под подходящей лицензией и собирается без излишних сложностей, то он может быть перенесён в репозиторий extra (доступный напрямую с помощью pacman и ABS).

Важно: Пакеты в AUR создаются пользователями, содержат полностью неофициальные PKGBUILD и не проходят тщательную проверку. Используйте их на свой страх и риск.

Приступая к работе

Искать и скачивать файлы PKGBUILD можно через веб-интерфейс AUR. Эти файлы позволяют собрать устанавливаемый пакет утилитой makepkg и установить его в систему с помощью pacman.

  • Установите мета-пакет base-devel .
  • Просмотрите раздел #Часто задаваемые вопросы.
  • Перед сборкой пакетов из AUR имеет смысл внести изменения в файл /etc/makepkg.conf , чтобы оптимизировать процесс сборки под вашу систему. На системах с многоядерным процессором можно добиться значительного ускорения сборки с помощью переменной MAKEFLAGS , использованием нескольких ядер при сжатии или выбором нестандартного алгоритма сжатия. Аппаратно-зависимые оптимизации компилятора можно включить переменной CFLAGS . Подробнее см. makepkg#Советы и рекомендации.

Получить доступ к AUR можно и через SSH: команда ssh aur@aur.archlinux.org help выведет список доступных команд.

История

В начале времён был лишь FTP-сервер ftp://ftp.archlinux.org/incoming , на который люди загружали свои файлы PKGBUILD, другие необходимые файлы и сами собранные пакеты. Пакет и связанные с ним файлы хранились на сервере, ожидая проверки сопроводителем пакета и добавления в официальный репозиторий.

Позднее некоторым участникам сообщества было разрешено содержать собственные репозитории с общим доступом. Так появились репозитории доверенных пользователей (Trusted User Repositories). AUR был создан как развитие этой идеи, чтобы сделать систему более гибкой и удобной. AUR-мэйнтейнеры до сих пор часто упоминаются как доверенные пользователи (Trusted Users, TU).

Между 2015-06-08 и 2015-08-08 состоялся переход AUR с версии 3.5.1 на 4.0.0, что было связано с началом использования Git-репозиториев для публикации файлов PKGBUILD . Существовавшие на тот момент пакеты были частично перенесены в новую инфраструктуру их сопроводителями.

Git-репозитории с пакетами AUR3

Архив AUR на GitHub содержит все пакеты AUR3 на момент миграции. Также существует репозиторий aur3-mirror с аналогичным содержанием.

Установка и обновление пакетов

Установка пакетов из AUR относительно проста:

  1. Скачайте файлы сборки, включая PKGBUILD и, возможно, другие необходимые файлы вроде юнитов systemd и патчей (но, чаще всего, не сам исходный код).
  2. Убедитесь, что PKGBUILD и прочие файлы не являются вредоносными или ненадёжными.
  3. Выполните makepkg в каталоге с сохранёнными файлами. Эта команда загрузит исходный код, скомпилирует его и создаст пакет.
  4. Выполните pacman -U файл_пакета , чтобы установить пакет в систему.

Подготовка

Прежде всего убедитесь, что в системе установлены необходимые инструменты: установите мета-пакет base-devel . В него входят make и некоторые другие инструменты, необходимые для компиляции из исходников.

Примечание: Пакеты из AUR предполагают, что мета-пакет base-devel уже установлен, поэтому зависимости, связанные с этим мета-пакетом, никогда не указываются в зависимостях пакетов из AUR.

Затем выберите подходящий каталог сборки. Каталог сборки — это просто место, в котором пакет будет «собран» из исходников. Им может быть любой каталог в системе. В примерах ниже в качестве каталога сборки используется ~/builds .

Получение файлов

Найдите пакет в AUR. Это можно сделать поиском на главной странице AUR (текстовое поле вверху). После перехода по одной из ссылок из списка результатов откроется страница информации о выбранном пакете. Прочтите описание, убедитесь, что это то, что вы искали; обратите внимание на дату последнего обновления пакета и прочтите комментарии.

Существует несколько способов получить необходимые файлы пакета:

  • Склонировать git-репозиторий, указанный в графе «URL для git clone» в разделе «Информация о пакете». Это предпочтительный метод, поскольку он позволяет получать обновления файлов пакета с помощью git pull :
$ git clone https://aur.archlinux.org/имя_пакета.git
  • Загрузить снимок (snapshot) с помощью ссылки «Загрузить снимок» под заголовком «Действия над пакетом» справа или командой:
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/имя_пакета.tar.gz

Примечание: Снимок пакета представляет собой сжатый архив, который необходимо распаковать (лучше всего — в каталог, отдельный от каталога для сборки пакетов из AUR): tar -xvf имя_пакета.tar.gz

  • Использовать зеркало archlinux/aur на GitHub, в котором каждый пакет находится в отдельной ветке. Рекомендуется клонировать только одну выбранную вами ветку (весь репозиторий слишком большой и клонироваться целиком будет очень медленно). Это можно сделать двумя способами:
    • использовать git clone —single-branch :
    $ git clone --branch имя_пакета --single-branch https://github.com/archlinux/aur.git
    $ git clone --depth=1 https://github.com/archlinux/aur.git; cd aur
    $ git remote set-branches --add origin имя_пакета
    $ git fetch
    $ git checkout имя_пакета

    Получение открытого ключа PGP (при необходимости)

    Проверьте массив source в файле PKGBUILD на предмет наличия в нём файла подписи (суффикс .sig или .asc), и, если таковой присутствует, получите любой открытый ключ из массива validpgpkeys. Подробнее см. makepkg#Проверка цифровых подписей.

    Сборка пакета

    Перейдите в каталог, содержащий PKGBUILD пакета:

    $ cd имя_пакета 

    Важно: Внимательно проверьте PKGBUILD , файлы .install и любые другие файлы в git-репозитории пакета на наличие вредоносных и опасных команд. Если возникли сомнения, отмените сборку и обратитесь за советом на форум или в почтовую рассылку. Ранее в пакетах уже находили вредоносный код. [1]

    Просмотрите содержимое всех предоставленных файлов. Например, для просмотра PKGBUILD с помощью less выполните:

    $ less PKGBUILD
    • Для просмотра изменений с момента последнего коммита выполните git show .
    • Для просмотра изменений с момента последнего коммита с помощью vimdiff выполните git difftool @~..@ vimdiff . Преимущество vimdiff в том, что можно увидеть полное содержимое каждого файла с отметками в местах изменений.

    Соберите пакет. После ручной проверки целостности файлов запустите makepkg от имени обычного пользователя. Некоторые полезные флаги:

    • -s / —syncdeps — при помощи pacman перед сборкой проверить зависимости и установить недостающие. Если пакет завит от пакетов из AUR, их необходимо установить вручную до сборки.
    • -i / —install — установить пакет после успешной сборки. Позволяет пропустить шаг по ручной установке.
    • -r / —rmdeps — удалить зависимости, необходимые только для сборки, так как они больше не требуются. Учтите, что они могут потребоваться при переустановке или обновлении пакета.
    • -c / —clean — удалить временные файлы после сборки, так как они больше не требуются. Эти файлы обычно необходимы только для отладки процесса сборки.

    Совет: Используйте git clean -dfx , чтобы удалить все файлы, которые git не отслеживает — это удалит все предыдущие файлы сборки.

    Установка пакета

    После сборки можно установить пакет с помощью pacman:

    # pacman -U имя_пакета-версия-архитектура.pkg.tar.zst
    • Если вы изменяли PKGEXT в makepkg.conf , то имя пакета может отличаться.
    • Пример выше даёт лишь краткое описание процесса сборки пакета. Настоятельно рекомендуется прочесть статьи makepkg и Система сборки Arch, в которых представлена более подробная информация.

    Переход на новую версию пакета

    Когда в AUR появляется новая версия пакета, для его установки в каталоге с PKGBUILD пакета сначала обновите файлы командой

    $ git pull

    после чего повторите процесс сборки и установки, описанный выше.

    Обновление пакетов

    AUR не имеет официальной поддержки, поэтому pacman не обновляет пакеты из AUR автоматически — это ваша задача. После установки обновлений из официальных репозиториев вам также нужно обновить (пересобрать и переустановить) все AUR-пакеты, зависящие от библиотек из обновившихся пакетов, — даже если в AUR не появлялось новых версий.

    Статус учётной записи

    Приостановленная

    Учётные записи могут быть приостановлены (suspended) доверенными пользователями или разработчиками. У приостановленных учётных записей теряется возможность:

    • входить на https://aur.archlinux.org;
    • получать уведомления;
    • взаимодействовать с интерфейсом git.

    Неактивная

    Вы можете отметить свою учётную запись как неактивную (inactive). Доверенные пользователи и разработчики также могут отмечать неактивными другие учётные записи. Это используется для двух вещей:

    • для отображения даты, когда кто-то был отмечен неактивным, на странице его учётной записи;
    • для подсчёта активных доверенных пользователей на основе их неактивности.

    Обратная связь

    Комментарии к пакету

    Веб-интерфейс AUR имеет возможность комментирования, благодаря которой пользователи могут сообщить мэйнтейнеру PKGBUILD о предложениях и улучшениях.

    Совет: Не стоит добавлять патчи или PKGBUILD в свои комментарии, так как они очень быстро устаревают и, в итоге, просто занимают место. Вместо этого отправляйте такие файлы на email ответственного сопроводителя или используйте pastebin.

    Python-Markdown предоставляет базовый Markdown-синтаксис для форматирования комментариев.

    • Эта реализация иногда имеет некоторые отличия от официальных правил синтаксиса.
    • Хеши коммитов Git-репозиториев пакетов и ссылки на Flyspray карты преобразуются в ссылки автоматически.
    • Длинные комментарии сворачиваются и могут быть показаны по требованию.

    Голосование

    Одним из самых простых действий для всех пользователей Arch Linux является обзор AUR и голосование за понравившиеся пакеты. Каждый пакет может быть принят кем-нибудь из доверенных пользователей в репозиторий extra. Количество голосов — один из важных критериев, поэтому в интересах пользователей активное голосование за пакеты.

    Авторизуйтесь на сайте AUR, чтобы появилась возможность «Проголосовать за пакет» при просмотре пакета. После входа также возможно проголосовать за пакет из командной строки при помощи aurvote AUR [ссылка недействительна: package not found] , aurvote-git AUR или aur-auto-vote-git AUR .

    Кроме того, если настроена ssh-аутентификация, можно проголосовать из командной строки с использованием ssh-ключа. Это означает, что не придётся сохранять или вводить пароль от AUR.

    $ ssh aur@aur.archlinux.org vote имя_пакета 

    Устаревшие пакеты

    Используйте Пометить пакет как устаревший для установки соответствующего флага. Укажите причину, по которой вы сочли пакет устаревшим, лучше всего — указав ссылку на объявление о релизе или его tarball.

    Также можно попробовать связаться с сопроводителем по email. Если ответа не последует в течение двух недель, можно отправить запрос Сделать сиротой для данного пакета. Смотрите AUR submission guidelines (Русский)#Запросы для дополнительной информации.

    Примечание: Пакеты VCS не считаются устаревшими, если изменилось значение pkgver . Не пытайтесь их пометить, поскольку сопроводитель просто снимет отметку и проигнорирует запрос. Сопроводители пакетов AUR не коммитят «пустые» обновления значения pkgver .

    Отладка процесса сборки пакета

    1. Убедитесь, что ваше сборочное окружение обновлено, прежде чем собирать что-либо.
    2. Убедитесь, что мета-пакет base-devel установлен.
    3. Используйте опцию -s с командой makepkg , чтобы проверить и установить все необходимые зависимости перед сборкой.
    4. Попробуйте стандартную конфигурацию makepkg.
    5. Смотрите Makepkg (Русский)#Решение проблем по часто возникаемым проблемам.

    Если у вас проблемы со сборкой пакета, первым делом почитайте PKGBUILD и комментарии на странице AUR.

    Вполне может оказаться, что PKGBUILD сломан для всех. Если вы не можете разобраться сами, сообщите сопроводителю пакета (например, текст ошибки в комментарии на странице AUR). Также можно поискать помощь на AUR Issues, Discussion & PKGBUILD Requests forum.

    Причина может оказаться очень нетривиальной. Нестандартные CFLAGS , LDFLAGS и MAKEFLAGS могут вызывать проблемы. Чтобы избежать проблем, которые могут быть вызваны специфичным окружением, собирайте пакеты в clean chroot. Если сборка не получается даже в clean chroot, тогда проблема скорее всего в самом PKGBUILD .

    Смотрите Creating packages#Checking package sanity об использовании namcap . Если вы хотите получить ревью PKGBUILD , отправьте его в aur-general mailing list или Creating & Modifying Packages forum. Также можно попросить помощь в IRC-канале #archlinux-aur на Libera Chat.

    Отправка пакетов

    При помощи AUR пользователи могут распространять свои файлы PKGBUILD. Инструкции и правила публикации описаны в статье AUR submission guidelines (Русский).

    Перевод веб-интерфейса

    Информацию о создании и поддержке перевода веб-интерфейса AUR смотрите в файле i18n.txt в дереве исходных текстов AUR.

    Часто задаваемые вопросы

    Какие типы пакетов разрешены в AUR?

    Пакеты AUR — это просто «скрипты сборки» исполняемых файлов для последующей упаковки полученных бинарных файлов в пакет и установки при помощи pacman. Обычно разрешено всё, что удовлетворяет принципам полезности, инструкциям и лицензионным требованиям программного обеспечения. Но в некоторых случаях прямо указано, что запрещено создавать ссылки на скачивание, например, когда контент запрещён к распространению, вы можете использовать лишь само имя файла в качестве исходника. Это означает, что пользователь должен самостоятельно озаботиться в получении таких файлов. Если вы сомневаетесь в правовых аспектах, лучше сначала спросить.

    Как я могу голосовать за пакеты в AUR?

    Кто такие доверенные пользователи/TU?

    Доверенный пользователь (Trusted User, TU) — это пользователь, выбранный для сопровождения AUR и репозитория extra. Они поддерживают популярные файлы PKGBUILD в extra и работу AUR в целом.

    В чем разница между AUR и репозиторием extra?

    Arch User Repository — это место, где хранятся все файлы PKGBUILD, присланные пользователями. Сами пакеты должны быть собраны вручную при помощи makepkg. Когда файлы PKGBUILD набирают достаточный интерес со стороны сообщества и поддержку доверенных пользователей, они собираются в пакеты, которые перемещаются в репозиторий extra (поддерживаемый доверенными пользователями), из которого уже могут напрямую быть установлены при помощи pacman.

    Пакет из AUR устарел, что я могу сделать?

    В то же время вы можете попробовать обновить пакет самостоятельно, отредактировав PKGBUILD локально. Иногда обновления не требуют изменений в процессе сборки или создания пакета, в этом случае достаточно просто обновить pkgver или массив source .

    Пакет foo из AUR не собирается, когда я запускаю makepkg; что мне делать?

    Возможно, вы упускаете что-то тривиальное; смотрите #Отладка процесса сборки пакета.

    ОШИБКА: Одна или больше PGP-подписей не могут быть проверены! Что мне делать?

    Скорее всего, у вас нет необходимого открытого ключа (ключей) в вашей личной связке ключей для проверки скачанных файлов. Смотрите makepkg (Русский)#Проверка цифровых подписей.

    Как создать PKGBUILD?

    У меня есть PKGBUILD, который я хочу опубликовать; кто-нибудь может проверить его на наличие ошибок?

    Существует несколько каналов, по которым можно отправить свой пакет на проверку; смотрите #Отладка процесса сборки пакета.

    Что необходимо для перемещения PKGBUILD в репозиторий extra?

    Обычно необходимо как минимум 10 голосов для того, чтобы пакет мог быть перемещен в extra. Однако, если доверенный пользователь захочет поддерживать пакет, он скорее всего сделает это сразу.

    Получение пакетом минимально необходимого количества голосов — не единственное требование: у кого-либо из доверенных пользователей должно появиться желание поддерживать этот пакет. Доверенные пользователи не обязаны перемещать пакет в репозиторий extra, даже если он имеет тысячи голосов.

    В большинстве случаев очень популярные пакеты остаются в AUR по одной или нескольким из следующих причин:

    • в репозиториях Arch Linux уже содержится другая версия пакета;
    • прямое распространение запрещено лицензией;
    • пакет предназначен для AUR (например, это инструмент для работы с AUR).

    Как ускорить повторную сборку?

    В чём разница между пакетами foo и foo-git?

    Многие пакеты AUR выпускаются в виде «стабильных» версий и «нестабильных», находящихся в процессе разработки. Пакеты разработки обычно имеют суффикс, обозначающий их систему контроля версий, и не предназначены для обычного использования, но могут содержать новые возможности или исправления ошибок. Поскольку эти пакеты скачивают только последние доступные исходные тексты при выполнении makepkg , их pkgver() в AUR не отражает изменения из апстрима. По той же причине эти пакеты не могут выполнять проверку подлинности для любого источника VCS.

    Почему пакет пропал из AUR?

    Возможно, пакет был принят доверенным пользователем и теперь находится в репозитории extra.

    Пакет мог быть удалён, если он не удовлетворял правилам отправки пакетов. Для уточнения причины удаления смотрите архив aur-requests.

    Примечание: Репозиторий git удалённого пакета обычно остаётся доступным. Смотрите AUR submission guidelines (Русский)#Запросы.

    Если пакет присутствовал в AUR3, то не факт, что он перенесён в AUR4. Вы можете попробовать найти его в репозитории git для пакетов AUR3.

    Как узнать, пропал ли из AUR какой-либо из установленных мной пакетов?

    Самый простой способ — проверить HTTP-статус страницы пакета AUR:

    $ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)

    Как получить список всех пакетов AUR?

    • https://aur.archlinux.org/packages.gz
    • Используйте aurpkglist из python3-aurAUR

    Смотрите также

    • Веб-интерфейс AUR
    • Почтовая рассылка AUR

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *