Difference between revisions of "Arch User Repository (Русский)"

From ArchWiki
Jump to: navigation, search
m (Updated translation (from english version), fixed mistakes and russian links)
m (Fixed links from "PKGBUILD" to "PKGBUILD (Русский)")
Line 33: Line 33:
 
==Предисловие==
 
==Предисловие==
  
Пользователи могут найти и скачать файлы [[PKGBUILD]], используя [https://aur.archlinux.org Веб-интерфейс AUR]. Эти файлы используются для сборки пакетов, которые затем можно установить с помощью менеджера пакетов [[pacman (Русский)]].
+
Пользователи могут найти и скачать файлы [[PKGBUILD (Русский)|PKGBUILD]], используя [https://aur.archlinux.org Веб-интерфейс AUR]. Эти файлы используются для сборки пакетов, которые затем можно установить с помощью менеджера пакетов [[pacman (Русский)]].
  
 
* Следующие разделы этой статьи помогут лучше понять способы работы с репозиторием AUR:
 
* Следующие разделы этой статьи помогут лучше понять способы работы с репозиторием AUR:
Line 46: Line 46:
 
{{Note|Следующие адреса оставлены только для истории. С тех пор они были заменены AUR-ом и теперь недоступны.}}
 
{{Note|Следующие адреса оставлены только для истории. С тех пор они были заменены AUR-ом и теперь недоступны.}}
  
В начале была {{ic|<nowiki>ftp://ftp.archlinux.org/incoming</nowiki>}}, и люди вносили свой вклад путем простой закачки [[PKGBUILD]], необходимых дополнительных файлов и собранного пакета на сервер. Пакет и связанные с ним файлы оставались на сервере, пока [[Package Maintainer]] не просматривал программу и адаптировал ее.
+
В начале была {{ic|<nowiki>ftp://ftp.archlinux.org/incoming</nowiki>}}, и люди вносили свой вклад путем простой закачки [[PKGBUILD (Русский)|PKGBUILD]], необходимых дополнительных файлов и собранного пакета на сервер. Пакет и связанные с ним файлы оставались на сервере, пока [[Package Maintainer]] не просматривал программу и адаптировал ее.
  
 
После были созданы Trusted User Repositories. Нескольким лицам сообщества было разрешено содержать свои собственные репозитории с общим доступом. AUR был создан с целью предоставить более гибкую и удобную систему. На самом деле, AUR-мэйнтейнеры до сих пор упоминаются как TU (Trusted Users).
 
После были созданы Trusted User Repositories. Нескольким лицам сообщества было разрешено содержать свои собственные репозитории с общим доступом. AUR был создан с целью предоставить более гибкую и удобную систему. На самом деле, AUR-мэйнтейнеры до сих пор упоминаются как TU (Trusted Users).
Line 56: Line 56:
 
==Установка пакетов из AUR’а==
 
==Установка пакетов из AUR’а==
 
Установка пакетов из AUR’а (также известного, как репозиторий [unsupported]) относительно проста (вообще-то она абсолютно проста ;-). Необходимо:
 
Установка пакетов из AUR’а (также известного, как репозиторий [unsupported]) относительно проста (вообще-то она абсолютно проста ;-). Необходимо:
# Скачать [[PKGBUILD]] и другие требуемые файлы (например, патчи). Все они содержатся в архиве, доступном по соответствующей ссылке («Архив» или «Tarball» в англоязычной версии AUR’а);
+
# Скачать [[PKGBUILD (Русский)|PKGBUILD]] и другие требуемые файлы (например, патчи). Все они содержатся в архиве, доступном по соответствующей ссылке («Архив» или «Tarball» в англоязычной версии AUR’а);
# Перейти в директорию, содержащую [[PKGBUILD]] и выполнить [[Makepkg (Русский)|makepkg]] (команда «makepkg -s» автоматически разрешит все зависимости с помощью [[pacman (Русский)]]);
+
# Перейти в директорию, содержащую [[PKGBUILD (Русский)|PKGBUILD]] и выполнить [[Makepkg (Русский)|makepkg]] (команда «makepkg -s» автоматически разрешит все зависимости с помощью [[pacman (Русский)]]);
 
# Установить получившийся пакет с помощью [[pacman (Русский)]]:
 
# Установить получившийся пакет с помощью [[pacman (Русский)]]:
  
Line 132: Line 132:
 
Пользователи играют существенную роль в AUR: без их поддержки, участия и вклада AUR не сможет реализовать весь свой потенциал. Жизненный цикл пакета в AUR начинается и заканчивается при поддержке пользователя и требует его непосредственного участия.
 
Пользователи играют существенную роль в AUR: без их поддержки, участия и вклада AUR не сможет реализовать весь свой потенциал. Жизненный цикл пакета в AUR начинается и заканчивается при поддержке пользователя и требует его непосредственного участия.
  
Пользователи могут '''обмениваться''' [[PKGBUILD]] при помощи раздела UNSUPPORTED в AUR. UNSUPPORTED не содержит бинарных пакетов, но позволяет пользователям загружать PKGBUILD, который потом может быть скачан другими участниками AUR. Такие PKGBUILD официально не поддерживаются и не проходят тщательную проверку, поэтому должны быть использованы на ваш риск.
+
Пользователи могут '''обмениваться''' [[PKGBUILD (Русский)|PKGBUILD]] при помощи раздела UNSUPPORTED в AUR. UNSUPPORTED не содержит бинарных пакетов, но позволяет пользователям загружать PKGBUILD, который потом может быть скачан другими участниками AUR. Такие PKGBUILD официально не поддерживаются и не проходят тщательную проверку, поэтому должны быть использованы на ваш риск.
  
 
===Отправка пакетов в UNSUPPORTED===
 
===Отправка пакетов в UNSUPPORTED===
Line 204: Line 204:
 
{{FAQ
 
{{FAQ
 
|question=Что такое AUR?
 
|question=Что такое AUR?
|answer=AUR (Arch User Repository) - это место, куда пользователи Arch Linux могут загружать файлы [[PKGBUILD]] для приложений, библиотек и т.д. и предоставлять к ним доступ всему сообществу. Пользователи могут голосовать за понравившиеся им пакеты для перемещения их в репозиторий [community], после чего пакеты станут доступны для пользователей в бинарной форме.}}
+
|answer=AUR (Arch User Repository) - это место, куда пользователи Arch Linux могут загружать файлы [[PKGBUILD (Русский)|PKGBUILD]] для приложений, библиотек и т.д. и предоставлять к ним доступ всему сообществу. Пользователи могут голосовать за понравившиеся им пакеты для перемещения их в репозиторий [community], после чего пакеты станут доступны для пользователей в бинарной форме.}}
  
 
{{FAQ
 
{{FAQ

Revision as of 06:37, 17 February 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary link Template:Article summary end

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

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

Предисловие

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

  • Следующие разделы этой статьи помогут лучше понять способы работы с репозиторием AUR:
  • Посетите Веб-интерфейс 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

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ