- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

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

From ArchWiki

Описание
Обзор пользовательского репозитория Arch.
Обзор
Packages in Arch Linux are built using makepkg and a custom build script for each package (known as a PKGBUILD). Once packaged, software can be installed and managed with pacman. PKGBUILDs for software in the official repositories are available from the ABS tree; thousands more are available from the (unsupported) Arch User Repository.
Дополнительно
AUR Helpers
AUR Trusted User Guidelines
Полезные ссылки
AUR Web Interface
AUR Mailing List

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

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

## Предисловие

Пользователи могут найти и скачать файлы PKGBUILD, используя Веб-интерфейс AUR. Эти файлы используются для сборки пакетов, которые затем можно установить с помощью менеджера пакетов pacman (Русский).

- Следующие разделы этой статьи помогут лучше понять способы работы с репозиторием AUR:
  - краткое руководство по установке пакетов из репозитория AUR
  - как использовать репозиторий [community] в утилитах pacman и ABS.
- Посетите Веб-интерфейс AUR, чтобы получить информацию об обновлениях. Там же вы найдете статистику и ежедневно обновляемый список пакетов, доступных в репозитории AUR.
- Ознакомьтесь с #FAQ, чтобы получить ответы на часто задаваемые вопросы.
- Возможно, вы захотите поправить `/etc/makepkg.conf`, чтобы настроить оптимизацию сборки пакетов для вашей системы. Значительное улучшение во времени компиляции может быть получено на многопроцессорных системах правкой переменной MAKEFLAGS. Пользователи также могут настроить оптимизацию на основе аппаратных характеристик своего компьютера с помощью переменной CFLAGS. Об этом можно найти больше информации на странице Makepkg (Русский).
- Установите группу пакетов "base-devel" (`pacman -S base-devel`), потому что без них невозможна сборка пакетов из репозитория AUR (больше информации об этом вы найдете на форуме).

## История

Note: Следующие адреса оставлены только для истории. С тех пор они были заменены AUR-ом и теперь недоступны.

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

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

## Поиск на AUR

Web-интерфейс AUR может быть найден здесь, а интерфес, который может быть, к примеру, использован для доступа к AUR из скриптов, может быть найден здесь. Поиск названий пакетов и их описание идет при помощи сравнения LIKE в MySQL. Это дает возможность более гибких запросов (к примеру, попробуйте поискать 'tool%like%grep' вместо 'tool like grep'). Если вам необходимо искать описание, в котором содержится '%', экранируйте его так: '\%'.

## Установка пакетов из AUR’а

Установка пакетов из AUR’а (также известного, как репозиторий [unsupported]) относительно проста (вообще-то она абсолютно проста ;-). Необходимо:

1. Скачать PKGBUILD и другие требуемые файлы (например, патчи). Все они содержатся в архиве, доступном по соответствующей ссылке («Архив» или «Tarball» в англоязычной версии AUR’а);
2. Перейти в директорию, содержащую PKGBUILD и выполнить makepkg (команда «makepkg -s» автоматически разрешит все зависимости с помощью pacman (Русский));
3. Установить получившийся пакет с помощью pacman (Русский):

    $ pacman -U /путь/к/pkg.tar.xz

AUR Helpers (Русский) добавляют прямой доступ к AUR. Они различаются по возможностям, но все они страются помочь в поиске, получении, сборке и установке из PKGBUILD, которые находятся в AUR. Все эти скрипты могут быть найдены в репозитории [unsupported].

Note: В Arch Linux нет и никогда не будет официальных механизмов для инсталляции из репозитория [unsupported]. Пользователи должны сами проводить сборку пакетов.

Далее следует подробный пример установки некоторого пакета, названного "foo".

### Подготовка

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

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

    # pacman -S base-devel

Затем выберите директорию для сборки. Вы можете выбрать любую пустую директорию, в которой будет происходить компиляция пакета. Обычно выбирают что-то наподобие:

    ~/builds

или, если используется ABS (Arch Build System (Русский)), то:

    /var/abs/local

Более подробно о ABS читайте статью Arch Build System (Русский). Этот пример будет использовать `~/builds` в качестве директории для сборки.

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

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

Скачайте необходимые файлы для сборки. Для этого на странице информации о пакете скачайте архив `*.tar.gz` по ссылке в левом углу описания пакета. Этот файл должен быть сохранен в директорию для сборки или скопирован туда после скачивания. Для нашего примера архив будет называться `foo.tar.gz` (архив должны выглядеть как `<имяпакета>.tar.gz`, если он был правильно закачан в AUR).

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

Распакуйте tar-архив. Для этого перейдите в директорию для сборки и выполните:

    $ cd ~/builds
    $ tar -xvzf foo.tar.gz

После этого в директории для сборки появится новая поддиректория "foo".

Warning: Внимательно проверьте все файлы. Перейдите в новую поддиректорию и внимательно проверьте `PKGBUILD` и все `.install` файлы на злонамеренные команды, которые могут повредить/заразить ваш компьютер. Если сомневаетесь, то НЕ собирайте пакет и обратитесь за советом на форум или почтовую рассылку.

    $ cd foo
    $ nano PKGBUILD
    $ nano foo.install

Соберите пакет. После ручной проверки целостности файлов запустите makepkg от обычного пользователя в директории, где находится `PKGBUILD`.

    $ makepkg -s

Опция `-s` воспользуется Sudo (Русский) для установки необходимых зависимостей. Если использование sudo нежелательно, то заранее самостоятельно установите необходимые зависимости и уберите опцию `-s` из вышеуказанной команды.

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

Установите пакет, используя pacman (Русский). Созданный пакет должен иметь имя:

    <имя приложения>-<номер версии>-<архитекрура>.pkg.tar.xz

Установите его при помощи опции pacman (Русский) "upgrade" :

    # pacman -U foo-0.1-i686.pkg.tar.xz

Такие вручную установленные пакеты называются посторонними — это пакеты, не представленные ни в одном из репозиториев, известных pacman'y. Чтобы увидеть список всех посторонних пакетов выполните:

    $ pacman -Qm

Note: Выше было приведено краткое описание сборки пакета. На страницах о makepkg и Arch Build System (Русский) информации гораздо больше, и они очень рекомендуются к прочтению начинающим пользователям.

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

Через комментарии пользователи могут сообщить мэйнтейнеру PKGBUILD о предложениях и улучшениях. Тем не менее, не стоит добавлять патчи или PKGBUILD в свои комментарии, так как они очень быстро устаревают и, в итоге, просто занимают место. Вместо этого отправляйте такие файлы на email мэйнтейнера или используйте сервисы pastebin, такие как http://aur.pastebin.com.

Одним из самых простых действий для всех пользователей Arch Linux будет голосование за понравившиеся пакеты через online интерфейс AUR. У каждого пакета есть право быть адаптированным доверенными пользователями и быть включенным в [community]. Количество голосов -- один из критериев для включения в [community].

## Добавление PKGBUILDs в UNSUPPORTED

Пользователи играют существенную роль в AUR: без их поддержки, участия и вклада AUR не сможет реализовать весь свой потенциал. Жизненный цикл пакета в AUR начинается и заканчивается при поддержке пользователя и требует его непосредственного участия.

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

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

После авторизации в AUR пользователь может отправить архив `*.tar.gz` директории с файлами пакета. Директория внутри архива должна содержать `PKGBUILD`, все `.install`, патчи и т.д. (НО НЕ СКОМПИЛИРОВАННЫЕ ИСХОДНИКИ). Примеры того, что может содержаться в такой директории, можно найти в `/var/abs` (если был установлен ABS).

Простейшим способом создания такого архива является команда:

    $ makepkg --source

Предположим, что вы создаете пакет для libfoo, тогда содержимое архива должно быть похоже на это:

    # List contents of tarball.
    $ tar tf libfoo-0.1-1.src.tar.gz
    libfoo/
    libfoo/PKGBUILD
    libfoo/libfoo.install

Когда создаете пакет, придерживайтесь следующих правил:

- Проверьте [core], [extra], и [community] на наличие в них уже готового пакета. Если пакет уже существует, но поврежден или в нем отсутствует необходимая функциональность, то напишите об ошибке на FlySpray.
- Поищите пакет в UNSUPPORTED (т.е. в AUR). Если он поддерживается, то о необходимых изменениях можно написать в комментариях.
- Внимательно проверьте, что то, что вы отправляете, не содержит ошибок. При создании PKGBUILD обязательно прочтите и придерживайтесь Arch Packaging Standards (Русский). Это необходимо для нормального функционирования и успешной работы AUR. Уважайте личное время каждого пользователя и не тратьте его на исправление плохих PKGBUILD.
- Пакеты, которые содержат бинарники, или если они созданы без должной аккуратности, могут быть удалены без предупреждения.
- Если вы сомневаетесь в пакете (или в каком либо из шагов его создания), то отправьте PKGBUILD в почтовую рассылку AUR (AUR Mailing List) или на форум в тему AUR, прежде чем добавлять его непосредственно в AUR.
- Убедитесь, что пакет является полезным. Будет ли кто-нибудь еще его использовать? Не очень ли он узкоспециализированный? Если он будет полезен более, чем ограниченной группе людей, то пакет подходит для AUR.
- Возможно, вам потребуется потренироваться перед тем, как отправить пакет в AUR. Попробуйте создать несколько пакетов для того, чтобы освоить процесс создания.
- Если вы отправляете архив `package.tar.gz` и в нем содержится файл '`package`', то вы получите ошибку 'Could not change to directory `/home/aur/unsupported/package/package`'. Чтобы решить эту проблему, переименуйте файл '`package`' во что-нибудь другое, например, '`package.rc`'. Во время установки в директории `pkg` вы сможете переименовать его обратно в '`package`'.

### Поддержка и сопровождение пакетов в AUR

- Если вы сопровождаете некоторый пакет и хотите обновить PKBUILD для вашего пакета, то просто отправьте его еще раз.
- Поддерживайте обратную связь и наблюдайте за комментариями других пользователей; пробуйте добавлять любые улучшения, которые они предлагают; относитесь к этому, как к процессу обучения!
- Пожалуйста НЕ отправляйте пакет просто так и НЕ забывайте о нем! Пока пакет находится в AUR, именно создатель пакета должен его сопровождать, проверять обновления и улучшать PKGBUILD.
- Если вы по каким-то причинам больше не хотите продолжать сопровождать пакет, то `disown` пакет при помощи web-интерфейса AUR и/или отправьте сообщение в почтовую рассылку AUR.

### Другие требования

- Запросы на отказ от владения пакетом и его удаление идут в список адресатов aur-general доверенным и другим пользователям.
- Включайте имя пакета и ссылку на страницу в AUR, предпочтительно в сноске.
- Запросы на отказ от владения пакетом будут выполнены в течение двух недель после того, как будет осуществлена связь с текущим мэйнтейнером по email, если он не отреагирует.
- Было реализовано слияние пакетов, пользователи могут повторно отправлять пакет под новым именем и запрос на слияние с комментариями и голосами старой версии.
- Запросы на удаление должны содержать следующую информацию:
  - Имя пакета и ссылка на страницу в AUR
  - Причину удаления, хотя бы короткую запись
    Заметьте, недостаточно указать в комментариях к пакету, что он должен быть удалён. Чтобы доверенные пользователи предприняли какие-либо действия, единственное место, куда следует отправлять данную информацию - список адресатов aur-general.
  - Включите информацию по поддержке.

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

## [community]

Репозиторий [community], поддерживаемый доверенными пользователями, содержит самые популярные пакеты из AUR. По умолчанию он включен в `pacman.conf`. Если же он отключен/удален, его можно подключить, раскомментировав/добавив 2 строки:

    /etc/pacman.conf

    ...
    [community]
    Include = /etc/pacman.d/mirrorlist
    ...

[community], в отличие от AUR, содержит бинарные пакеты, которые могут быть установлены непосредственно через pacman (Русский). Также файлы для сборки из исходников доступны в ABS. Некоторые из этих пакетов через какое-то время могут быть перемещены в [core] или [extra] репозитории, если разработчики посчитают их важными для дистрибутива.

Пользователи также могут получить доступ к сборочным файлам [community] правкой `/etc/abs.conf`, подключив репозиторий community в `REPOS` массиве.

## Репозиторий Git

Репозиторий Git в AUR поддерживает Thomas Dziedzic, предоставляя историю пакета наряду с другими вещами. Он обновляется по крайней мере один раз в день. Чтобы скопировать репозиторий (несколько сотен мегабайт):

    $ git clone git://pkgbuild.com/aur-mirror.git

Больше информации: Веб-интерфейс, readme, ветка форума.

## FAQ

#### Q: Что такое AUR?

A: AUR (Arch User Repository) - это место, куда пользователи Arch Linux могут загружать файлы PKGBUILD для приложений, библиотек и т.д. и предоставлять к ним доступ всему сообществу. Пользователи могут голосовать за понравившиеся им пакеты для перемещения их в репозиторий [community], после чего пакеты станут доступны для пользователей в бинарной форме.

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

A: Пакеты AUR - это просто рецепты сборки исполняемых файлов для последующей их установки pacman'ом. Обычно разрешено все, что удовлетворяет лицензионным требованиям программного обеспечения. Но в некоторых случаях прямо указано, что запрещено создавать ссылки на скачивание (контент запрещен к распространению). Это означает, что пользователь должен заранее подготовить ограниченный контент (restricted source) в каталоге сборки, до самой сборки пакета. Пиратство не поощряется, так что "варез" абсолютно недопустим. Если вы сомневаетесь в правовых аспектах, лучше сначала спросить.

#### Q: Как проголосовать за пакет в AUR?

A: Зарегистрируйтесь на web-сайте AUR для получения доступа к опции "Vote for this package" во время просмотра конкретного пакета.

#### Q: Кто такие TU?

A: TU (Trusted Users) - это люди, следящие за AUR и репозиторием [community]. Они поддерживают популярные PKGBUILDы в [community], помечают PKGBUILDы как безопасные и в целом поддерживают работу AUR.

#### Q: Какова разница между [unsupported] и [community]?

A: [unsupported] - это место, где хранятся все PKGBUILDы, присланные пользователями. Они должны быть собраны вручную с помощью [makepkg]. Когда PKGBUILDы набирают достаточное количество голосов, они перемещаются в репозиторий [community], где доверенные пользователи поддерживают бинарные пакеты, которые могут быть установлены с помощью pacman (Русский).

#### Q: Сколько голосов нужно набрать PKGBUILDу для перемещения его в [community]?

A: Обычно нужно как минимум 10 голосов для перемещения PKGBUILDа в [community]. Однако, если доверенный пользователь захочет сопровождать пакет, он скорее всего появится в репозитории.

#### Q: Как я могу создать PKGBUILD?

A: Лучшее руководство находится здесь - Creating Packages (Русский). Перед созданием PKGBUILDа посмотрите, нет ли его в AUR, чтобы исключить дублирование.

#### Q: Я пробую запустить `pacman -S foo`, но получаю ошибку, хотя знаю, что пакет находится в [community]

A: Скорее всего Вы не разрешили использование репозитория [community] в `/etc/pacman.conf`. Просто раскомментируйте строки, связанные с этим репозиторием.

#### Q: Пакет Foo в AUR устарел, что я могу сделать?

A: Во-первых, Вы можете пометить пакет как устаревший. Если пакет будет находиться в этом состоянии долгое время, можете написать человеку, поддерживающему пакет. Если Вы не получите ответа, Вы можете написать в список рассылки aur-general, чтобы доверенный пользователь пометил PKGBUILD как бесхозный, если вы готовы поддерживать пакет самостоятельно.

#### Q: Я хочу предоставить свой PKGBUILD; кто-нибудь может проверить его на наличие ошибок?

A: Если вы хотите, чтобы сообщество обсудило ваш PKGBUILD, отправьте его в список рассылки aur-general. Вы также можете получить помощь на IRC-канале #archlinux в сети irc.freenode.net. Вы можете использовать namcap для проверки вашего PKGBUILD и собранного пакета на наличие ошибок.

#### Q: Пакет Foo из AUR не собирается, когда я запускаю `makepkg`, Что мне делать?

A: Скорее всего, вы упустили какие-то мелочи.

1. Запустите `pacman -Syyu` перед сборкой чего-либо с помощью `makepkg`. Возможно, ваша система не обновлена.
2. Убедитесь, что установлены группы пакетов "base" и "base-devel".
3. Попробуйте использовать опцию "`-s`" с `makepkg` для проверки и установки необходимых для сборки зависимостей.

Прочитайте PKGBUILD и комментарии на странице пакета в AUR.

Возможно, причина гораздо серьезнее. Пользовательские установки CFLAGS, LDFLAGS и MAKEFLAGS могут вызвать ошибку. Возможно, PKGBUILD содержит ошибки. Если Вы не можете исправить ошибки самостоятельно, сообщите человеку, поддерживающему пакет.

#### Q: Можно ли ускорить повторяющийся процесс сборки?

A: Если вы часто компилируете код, используя GCC, скажем, GIT или SVN пакет, вы можете найти полезной утилиту ccache (compiler cache)

#### Q: Как я могу получить доступ к неподдерживаемым пакетам?

A: Смотрите #Установка пакетов из AUR’а

#### Q: Как я могу загрузить файлы в AUR не пользуясь web-интерфейсом?

A: Посмотрите burp, aurploader или aurup -- все с интерфейсом командной строки.
Retrieved from "https://wiki.archlinux.org/index.php?title=Arch_User_Repository_(Русский)&oldid=266438"
Category:

- Русский

## Navigation menu