AUR руководство пользователя
From ArchWiki
| 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
- aur-sync (Perl) - для скачивания тарболов из AUR
- aur-install (bash)
- aurup (bash) - для закачки тарболов в AUR
- aurscripts (bash):
- aurcreate - создает "чистые" пакеты, готовые к загрузке в AUR
- aurdownload - скачивает и распаковывает пакет из AUR
- aurupdate - обновляет версию пакета и md5sums
- autoaur (bash, зависит от aurscripts, автоматически обновит все пакеты установленные из AUR)
- yaourt (bash, обертка для srcpac с поддержкой AUR)
- aurbuild (Python, самый популярный)
- qpkg (Python, работает также с пакетами не из AUR, на втором месте по популярности, но с более широкими возможностями?)
Все эти пакеты могут быть найдены в UNSUPPORTED.