AUR руководство пользователя

From ArchWiki

Jump to: navigation, search
Article summary
Статья объясняет как пользоваться пользовательским репозиторием Arch (AUR)
Available in languages
Česky
English
Русский
简体中文
Related articles
AUR_Trusted_User_Guidelines
AUR
AUR Q & A
Aurbuild

Contents

[edit] Назначение

Репозиторий пользовательских пакетов (AUR) это репозиторий, поддерживаемый сообществом пользователей Arch Linux. Этот документ показывает как обычный пользователь может получить доступ к AUR и работать с ним.

[edit] Пользователь и AUR

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

[edit] Поделитесь своими PKGBUILD'ами через UNSUPPORTED

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

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

[edit] [community]

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

Пользователь может получить доступ к репозиторию AUR [community] добавлением/раскомментированием этой строки в файле pacman.conf:

Include = /etc/pacman.d/community

Если /etc/pacman.d/community не существует, он должен быть создан и заполнен следующим текстом:

[community]
Server = ftp://ftp.archlinux.org/community/os/i686/

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

SUPFILES=(arch extra !unstable community)

[edit] Голосование

Одно из самых простых проявлений активности всех пользователей Arch - это поиск пакетов в AUR и голосование за понравившиеся пакеты используя веб-интерфейс. Любой пакет может быть "усыновлен" доверенным пользователем (Trusted User - TU) для включения в [community], и количество голосов - один из решающих факторов для помещения в [community]. Так что вы должны быть заинтересованы в голосовании!

[edit] Отзывы и предложения

Пользователи могут оставлять коментарии о пакете (на странице информации о пакете) или помечать пакет как устаревший(на странице поиска пакетов).

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

[edit] Как пользоваться AUR

[edit] Использование пакетов из UNSUPPORTED

Для установки пакета из UNSUPPORTED вы должны выполнить следующие шаги:

  • найти пакет в AUR используя возможность поиска (мы будем использовать имя пакета foo как пример) и нажмите на имя нужного пакета в результатах поиска. Это приведет вас на страницу с информацией об этом пакете. Вы найдете там две ссылки:
 Архив :: Файлы 
  • Нажмите на Архив для сохранения файлов сборки на ваш диск. Файл будет иметь название foo.tar.gz, если он был правильно размещен автором.
  • Скопируйте foo.tar.gz в директорию где вы будете выполнять сборку например в /var/abs/local или ~/builds, и распакуйте его там (tar -xzf foo.tar.gz). Это создаст новую директорию, /var/abs/local/foo или ~/builds/foo которая содержит все файлы необходимые для сборки пакета.
  • ВАЖНО: Зайдите в этот каталог и проверьте все файлы на содержание вредоносных команд типа rm -rf / - если сомневаетесь - не собирайте этот пакет и поищите совета на форуме или в списке рассылки.
  • Предполагается использование fakeroot для сборки пакета (см. ниже), проверив файлы просто напишите команду makepkg как обычный пользователь в директории сборки (/var/abs/local/foo или ~/builds/foo). Исходные файлы будут скачаны, проверены и собраны в бинарный пакет.
  • makepkg должен создать тарбол с названием foo-1.0-2.pkg.tar.gz (1.0 - версия программы, 2 - версия PKGBUILD), который может быть установлен командой pacman. Например
 pacman -U foo-1.0-2.pkg.tar.gz

Пожалуйста заметьте: все приведенное здесь - это краткое описание процесса сборки пакета. Прочтение страницы ABS для получения более подробной информации очень рекомендуется, особенно начинающим сборщикам пакетов.

[edit] Использование fakeroot

fakeroot просто позволяет обычному пользователю выполнять действия требующие привилегий администратора в изолированном окружении без возможности изменить внешние файлы. Если какой-то процесс пытается изменить данные вне этого окружения, выдается сообщение об ошибке и сборка останавливается - это очень удобно для проверки качества/безопасности/пригодности PKGBUILD'а для дистрибутива. По умолчанию export USE_FAKEROOT="y" включен в /etc/makepkg.conf, следовательно, если вы ничего не меняли, это уже работает.

[edit] Выкладывание пакетов в UNSUPPORTED

После регистрации и входа в веб-интерфейс AUR, пользователь может присылать свои пакеты в виде тарболов (имяпакета.tar.gz) который содержит директорию с файлом PKGBUILD и возможно другими файлами для сборки пакета. Директория ДОЛЖНА содержать файл PKGBUILD, МОЖЕТ содеражать install-скрипт, патчи и т.д., НО она НЕ ДОЛЖНА содержать никаких бинарных файлов. Примеры пакетов могут быть найдены в /var/abs, и в частности /var/abs/PKGBUILD.proto и /var/abs/install.proto.

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

  • Проверьте [current], [extra], [community] и UNSUPPORTED - возможно такой пакет уже есть. В этом случае не присылайте дублирующие друг друга пакеты. (если существующий пакет не работает или имеет ошибки, сообщите разработчикам через систему FlySpray или с помощью комментария в AUR).
  • Тщательно проверьте, что то, что вы присылаете корректно. Все, кто присылает пакеты должны прочитать Arch Packaging Standards перед написанием PKGBUILD. Это необходимо для успешной работы AUR. Помните, пользователи не будут благодарны вам за то, что они потратят свое время разбираясь с вашим плохим PKGBUILD'ом.
  • Пакеты с бинарными файлами, дубликаты или очень плохо написанные могут быть удалены без предупреждения.
  • Если вы не уверены в своем пакете (или в процессе сборки/размещения), пошлите PKGBUILD в список рассылки AUR или в раздел AUR на форуме для публичного осмотра перед добавлением пакета в AUR.
  • Убедитесь, что пакет полезен. Захочет ли пользоваться вашим пакетом кто-то еще? Или этот пакет очень специфичен для вашего окружения? Если вы думаете, что он пригодится нескольким людям, значит он подходит для AUR.
  • Наберитесь некоторого количества опыта перед созданием пакетов. Соберите несколько пакетов для пробы и затем присылайте свои.

[edit] Поддержка пакетов в UNSUPPORTED

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

[edit] AUR-DMS (скрипты управления и загрузки)

[edit] Список AUR-DMS

  1. aur-sync (Perl) - для скачивания тарболов из AUR
  2. aur-install (bash)
  3. aurup (bash) - для закачки тарболов в AUR
  4. aurscripts (bash):
    1. aurcreate - создает "чистые" пакеты, готовые к загрузке в AUR
    2. aurdownload - скачивает и распаковывает пакет из AUR
    3. aurupdate - обновляет версию пакета и md5sums
  5. autoaur (bash, зависит от aurscripts, автоматически обновит все пакеты установленные из AUR)
  6. yaourt (bash, обертка для srcpac с поддержкой AUR)
  7. aurbuild (Python, самый популярный)
  8. qpkg (Python, работает также с пакетами не из AUR, на втором месте по популярности, но с более широкими возможностями?)

Все эти пакеты могут быть найдены в UNSUPPORTED.

Personal tools