Arch User Repository (Українська)
Репозиторій Користувачів Arch (AUR) — репозиторій, що керується спільнотою для користувачів Arch. Він містить опис пакетів (PKGBUILD), які дозволяють компілювати пакет з вихідного джерела з auppkg, а потім встановлювати його через пакетний менеджер Pacman. AUR був створений для організації та обміну новими пакетами спільноти та допомоги прискоренню включення популярних пакетів до репозиторію спільноти. Цей документ пояснює, як користувачі можуть отримати доступ і використовувати AUR.
Значна кількість нових пакетів, які входять до офіційних репозитаріїв, починаються в AUR. Користувачі можуть вносити свої власні скрипти побудови пакетів (PKGBUILD та пов'язаних файлів) в AUR. Спільнота AUR має можливість голосувати за пакети в AUR. Якщо пакет стає досить популярним, і якщо він має сумісну ліцензію та хорошу техніку упаковки, він може бути внесений до сховища спільноти (стаючи прямо доступним через Pacman або Arch build system (ABS)).
PKGBUILD
- це абсолютно неофіційно і вони не були ретельно перевірені. Будь-яке використання наданих файлів використорвуються на ваш страх і ризик.Початок
Користувачі можуть шукати і завантажувати PKGBUILD з веб-сторінки AUR. Такі (PKGBUILDs) скрипти можуть бути вбудовані в установчі пакети з використанням makepkg, а потім встановлений в систему за допомогою Pacman.
- Переконайтеся, що встановлено базові інструменти побудови пакетів (base-devel).
- Перегляньте розділ #F.A.Q. Часті запитання для отримання відповідей на найпоширеніші питання.
- Можливо, ви захочете налаштувати
/etc/makepkg.conf
щоб оптимізувати процес побудови на вашій системі перед створенням пакетів з AUR. Значне поліпшення часу збірки пакетів може бути реалізовано на системах з багатоядерними процесорами, налаштувавши зміннуMAKEFLAGS
, використовуючи кілька ядер для стискання, або за допомогою різних алгоритму стискання. Користувачі також можуть увімкнути оптимізацію компілятора, специфічних для апаратних засобів, через зміннуСFLAGS
. Дивіться makepkg#Tips and tricks для отримання додаткової інформації.
Також можна взаємодіяти з AUR через SSH: введіть команду ssh aur@aur.archlinux.org help
щоб отримати список доступних команд.
Історія
На початку, був лише ресурс ftp://ftp.archlinux.org/incoming
, і люди, які зробили внесок, просто завантажували скрипт побудови PKGBUILD, необхідних додаткові файли і сам пакет, який буде побудовано на сервер. Пакет та пов'язані файли залишалися там, поки Супроводжувач пакетів не побачить програму і не прийме її.
Пізніше народилися довірені репозиторії користувачів. Деяким особам у суспільстві дозволялося розміщувати свої власні сховища для використання будь-ким. На основі цього, AUR і розширився, з метою зробити його більш гнучким і більш корисним. Насправді, супровідники АУР все ще називають TU (Trusted Users - довірені користувачі).
У період з 2015-06-08 по 2015-08-08, АУР перетворився з версії 3.5.1 до 4.0.0, впровадивши використання репозиторіїв Git для публікації PKGBUILD
. Існуючі пакети були відкинуті, якщо не мігрували вручну до нової інфраструктури їх супровідниками.
Репозиторії Git для пакетів AUR3
Архів AUR на GitHub має сховище для кожного пакету, який був у AUR-3 під час міграції. Крім того, існує aur3-mirror репозиторій, який забезпечує те ж саме.
Встановлення та оновлення пакетів
Встановлення пакетів з AUR є відносно простим процесом. По суті:
- Просто, отримайте файли збірки, включаючи PKGBUILD та, можливо, інші необхідні файли, як-от модулі systemd і "заплатки" (часто це не є фактичний код).
- Переконайтеся, що файли
PKGBUILD
та супровідні файли не є шкідливими чи ненадійними. Це важливо. - Запустіть
makepkg
у каталозі, де збережено файли. Це завантажить код, скомпілює його та запакує. - Запустіть
pacman -U package_file
, щоб інсталювати зібраний пакет, у вашій системі.
Передумови
По-перше, переконайтеся, що необхідні інструменти встановлено , встановивши base-devel; Цей мета-пакет містить інструмент make та інші інструменти, що зазначені, як залежності і необхідні для компіляції з вихідного коду.
Далі виберіть відповідний каталог збірки. Каталог збірки — це просто каталог, у якому пакунок буде створено або «збірно» з джерела, і може бути будь-яким каталогом. Далі в цьому розділі буде використовуватись як як приклад, каталог збірки - ~/builds
.
Отримати файли збірки
Знайдіть пакет у AUR. Це робиться за допомогою поля пошуку у верхній частині домашньої сторінки AUR. Якщо клацнути назву програми в списку пошуку, відкриється сторінка з інформацією про пакет. Прочитайте опис, щоб переконатися, що це потрібний пакет, зверніть увагу на час останнього оновлення пакета та прочитайте коментарі.
Існує кілька методів отримання файлів збірки для пакету:
- Склонувати git-репозиторій із позначкою «URL-адреса клонування з Git» у описі пакету на сторінці AUR. Це найкращий метод, перевага якого полягає в тому, що ви можете легко отримати оновлення пакета через
git pull
.
$ git clone https://aur.archlinux.org/назва_пакета.git
- Завантажити "знімок", натиснувши посилання «Завантажити знімок» у розділі «Дії пакета» праворуч на сторінці AUR або в терміналі:
$ 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 clone --depth=1
) із вибірковим додаванням гілок: :$ git clone --depth=1 https://github.com/archlinux/aur; cd aur
$ git remote set-branches --add origin назва_пакета
$ git fetch
$ git checkout назва_пакета
- Використавши команду
За потреби отримайте відкритий ключ PGP
Перевірте, чи є файл підпису у форматі .sig або .asc частиною вихідного масиву PKGBUILD. Якщо це так, отримайте один із відкритих ключів, указаних у масиві validpgpkeys. Для отримання додаткової інформації зверніться до makepkg#Перевірка підпису.
Створіть пакет
Перейдій у каталог, що містить PKGBUILD.
$ cd назва_пакета
PKGBUILD
, будь-які файли .install, а також інші файли в git-репозиторії пакета, на наявність шкідливих або небезпечних команд. Якщо сумніваєтеся, не створюйте пакет, а зверніться за порадою на форуми чи список розсилки. Зловмисний код уже знаходили в пакетах раніше. [1]Перегляньте вміст усіх наданих файлів. Наприклад, щоб переглядати "по-сторінково" PKGBUILD
, виконайте:
$ less PKGBUILD
- Щоб переглянути зміни з моменту останнього коміту git, ви можете використовувати
git show
. - Щоб переглянути зміни з часу останнього коміту за допомогою vimdiff , виконайте
git difftool @~..@ vimdiff
. Перевагою vimdiff є те, що ви переглядаєте весь вміст кожного файлу разом із індикаторами змін..
Зберіть пакет. Після ручного підтвердження вмісту файлів запустіть makepkg як звичайний користувач.
Деякі корисні позначки:
-s
/--syncdeps
автоматично вирішує та встановлює будь-які залежності за допомогою pacman перед збиранням. Якщо пакет залежить від інших пакетів AUR, вам потрібно буде спочатку встановити їх вручну.-i
/--install
встановлює пакет, якщо він успішно зібраний. Це дозволяє пропустити наступний крок, який зазвичай виконується вручну.-r
/--rmdeps
видаляє залежності потрібні під час збирання після завершення, оскільки вони більше не потрібні. Однак під час наступного оновлення пакета може знадобитися перевстановити ці залежності.-c
/--clean
очищає тимчасові файли збірки після збирання, оскільки вони більше не потрібні. Ці файли зазвичай потрібні лише під час налагодження процесу збірки.
git clean -dfX
для видалення всіх файлів, які git ігнорує, таким чином видаляючи всі раніше створені файли пакунків, якщо проект ігнорує ці файли. Ви також можете використовувати, git clean -dfx
оскільки це призведе до видалення всіх файлів, які не відстежуються git, включаючи файли попередньо створених пакетів. Статус облікового запису
Інформація щодо статусу (поточного стану) облікового запису користувача, що є супровідником пакету.
Призупинення
При редагуванні користувача як довіреного Користувача можна встановити поле Призупинено, що призупиняє зазначеного користувача.Коли користувач призупинений, він не може:
- Увійти на https://aur.archlinux.org
- Отримувати сповіщення
- Взаємодія з інтерфейсом git
Неактивність
При редагуванні власного облікового запису або іншого, як довіреного користувача, неактивне поле може бути встановлено. Неактивні рахунки використовуються з двох причин:
- Відобразити дату, яку хтось відмітив як початок неактивності на сторінці свого аккаунту.
- Згенерувати поточну кількість активних (TU) Довірених користувачів на основі їх бездіяльності щодо нових пропозицій.