Ця сторінка потребує супровідник
Призначений для користувача репозиторій Arch (Arch User Repository, AUR) - це підтримуване спільнотою сховище ПО для користувачів Arch. Він містить опису пакетів (файли PKGBUILD), які дозволять вам скомпілювати пакунок з вихідних за допомогою makepkg і потім встановити його, використовуючи pacman. AUR був створений, щоб об'єднати і надати в загальний доступ нові пакети від спільноти і сприяти швидкому включенню популярних пакетів в репозиторій community. На цій сторінці ви можете дізнатися як отримати доступ до AUR і як його використовувати.
Велика кількість пакетів, які включаються в офіційні репозиторії, починають свій шлях з AUR. У AUR користувачі можуть додавати свої власні збірки пакетів (PKGBUILD і інші необхідні файли). Спільноті надана можливість голосувати за ці пакети або проти них. Якщо пакет стає популярним, поширюється під відповідною ліцензією і може бути зібраний без додаткових складнощів, то, ймовірно, він буде перенесений в репозиторій community (безпосередньо доступний за допомогою утиліт pacman і abs).
Приступаючи до роботи
Користувачі можуть шукати і викачувати файли PKGBUILD через веб-інтерфейс AUR. Ці файли містять інформацію для складання звичайних пакетів, використовуючи makepkg. які можна встановлювати за допомогою pacman.
Спочатку був мережевий каталог ftp://ftp.archlinux.org/incoming. куди люди вносили свій внесок шляхом простої вивантаження файлів PKGBUILD. а також необхідних додаткових файлів і зібраного пакета. Пакет і пов'язані з ним файли залишалися на сервері до тих пір, поки мейнтейнера пакета [broken link. invalid section] не перевіряв і не приймав програму для включення в офіційний репозиторій.
Після були створені репозиторії довірених користувачів. Кільком учасникам спільноти було дозволено утримувати свої власні репозиторії із загальним доступом. AUR виріс на їх основі з метою надати більш гнучку і зручну систему. Насправді, AUR-мейнтейнери досі згадуються як довірені користувачі (TU, Trusted Users).
Пошук назв пакетів і в їх описі йде за допомогою оператора LIKE в БД MySQL. Це дає можливість створювати більш гнучкі запити (наприклад, спробуйте пошукати tool% like% grep замість tool like grep). Якщо вам необхідно знайти опис, в якому міститься символ%. екрануйте його так: \%.
установка пакетів
Важливо: У Arch Linux немає і ніколи не буде офіційного механізму для установки зібраних з AUR пакетів. Всі користувачі AUR повинні уявляти собі, як відбувається процес складання
Установка пакетів з AUR відносно проста. необхідно:
- Завантажити архів, що містить PKGBUILD і, можливо, інші необхідні файли, такі як юніти systemd і патчі (але, частіше за все, не сам вихідний код)
- Витягти архів (переважно в каталог, призначений лише для збирання з AUR) за допомогою команди tar -xvf pkgname .tar.gz
- Виконати makepkg -sri в каталозі з витягнутими файлами. Ця команда завантажить код, дозволить залежності за допомогою pacman. скомпілює, запакує і встановить всі отримані пакети, після чого видалить ті з них, які були потрібні тільки для зборки
підготовка
Для початку переконайтеся, що у вас встановлені всі необхідні утиліти:
Групи пакетів base-devel має бути достатньо. Вона включає в себе утиліту make та інші інструменти, необхідні для компіляції з початкових кодів.
Важливо: Передбачається, що група base-devel у вас вже встановлена, і тому пакети з AUR не оголошував жодних пакети з неї в якості залежностей, навіть якщо збірка без них буде неможлива. Будь ласка, переконайтеся в тому, що ця група пакетів встановлена, перш ніж повідомляти про помилки
Тепер виберіть відповідний каталог для збирання. Каталог збірки - це просто місце, в якому пакет буде створений або "зібраний", і їм може бути будь-який каталог в системі. У прикладах з наступних розділів як каталогу для збірки буде використовуватися
отримання файлів
Існує три відомих способу отримати необхідні файли без використання допоміжних програм для роботи з AUR:
- Скачайте необхідні файли для збірки. Для цього натисніть на посилання "Завантажити знімок" під заголовком "Дії над пакетом" справа. Цей файл повинен бути збережений в каталог для збирання або скопійований туди після скачування. У нашому прикладі архів буде називатися foo.tar.gz (стандартний формат - імяпакета .tar.gz. Якщо він був вивантажений в AUR правильно)
- Також ви можете скачати архів за допомогою терміналу, спершу перейшовши в каталог збірки:
- І ще один варіант - клонувати Git -репозіторій, який вказаний в графі "URL для git clone" в розділі "Інформація про пакет":
Збірка і установка пакета
Перейдіть в каталог для збирання (якщо ви цього ще не зробили), і розпакуйте скачаний раніше пакет:
Після цього в каталозі збірки з'явиться нова директорія foo.
Примітка: Якщо ви клонували git-репозиторій (git clone), процедура розпакування не потрібно. Каталог foo вже був створений при клонуванні
Зберіть пакет. Після ручної перевірки цілісності файлів запустіть makepkg від імені звичайного користувача:
Опція -s / --syncdeps автоматично дозволить і встановить перед складанням всіх необхідних залежності за допомогою pacman. -r / --rmdeps видалить залежності, необхідні тільки для зборки, а -i / --install встановить вийшов пакет.
Зворотній зв'язок
Одним з найпростіших дій для всіх користувачів Arch Linux є огляд AUR і голосування за вподобані пакети.
Кожен пакет може бути прийнятий ким-небудь з довірених користувачів в репозиторій community. Кількість голосів - один з важливих критеріїв, тому в інтересах користувачів активне голосування за пакети.
Поширення і підтримка пакетів
За допомогою AUR, користувачі можуть поширювати свої файли PKGBUILD. У репозиторії не зберігається жодних бінарних пакетів, але він дозволяє користувачам вивантажувати файли PKGBUILD. які потім можуть бути завантажені іншими. Файли PKGBUILD не проходять ретельну перевірку (і не підтримуються офіційно), тому ви використовуєте їх на свій страх і ризик.
Відправка пакетів
Правила відправки пакетів
При відправці пакетів в AUR дотримуйтеся наступних правил:
Створення нового пакета
Для отримання можливості відправки пакета в AUR у користувача повинен бути ключ SSH. Вміст публічного ключа .ssh / foo.pub необхідно скопіювати в дані користувача в Мою обліковий запис. Замість використання існуючого SSH-ключа рекомендується створити новий: в цьому випадку ви будете мати можливість відкликати ключ, якщо щось станеться.
Для підготовки до завантаження пакета просто клонуйте Git-репозиторій з необхідним ім'ям:
Клонування (clone) або відправка (push) в неіснуючий репозиторій автоматично створить його.
Тепер ви можете додати необхідні файли в локальну копію сховища. При внесенні змін до репозиторії обов'язково включайте в кореневій каталог файли PKGBUILD і .SRCINFO. Для створення файлу .SRCINFO можна використовувати команду mksrcinfo з пакета pkgbuild-introspection.
Примітка: Файл .SRCINFO містить вихідні метадані пакета. Для отримання додаткової інформації дивіться розділ Arch User Repository # AUR metadata [broken link. invalid section]
Оновлення / відправлення пакета
Для відправки нової версії пакету в AUR додайте нові PKGBUILD. SRCINFO і, при необхідності, інші файли (наприклад, файл .install або локальні файли патчів .patch) в staging area за допомогою команди git add. створіть Комміт з коментарем за допомогою git commit. і після цього відправте зміни в AUR за допомогою git push.
Приклад створення і відправки нового пакета:
Для оновлення пакету змініть файл PKGBUILD і запустіть наступні команди відстеження змін в репозиторії Git:
Для отримання додаткової інформації дивіться статтю Git.
Порада: Якщо ви забули додати в комерц файл .SRCINFO. і додали його в подальшому Ком, AUR відмовить в запису пакета, тому що .SRCINFO повинен бути присутнім в кожній зміні. Щоб вирішити цю проблему, можна використовувати git rebase з параметром --root або git filter-branch з параметром --tree-filter.
підтримка пакетів
Інші запити
Запити на видалення можуть бути відкинуті, в разі чого вам запропонують просто відмовитися від підтримки пакета.
Репозиторій git для пакетів AUR3
Є Архів AUR на GitHub, що містить всі пакети з AUR3 до переходу на AUR4.
Поширені запитання
Що таке AUR?
AUR (Arch User Repository, призначений для користувача репозиторій Arch) - це місце, куди користувачі Arch Linux можуть завантажувати файли PKGBUILD додатків, бібліотек і т. Д. І надавати до них доступ всьому співтовариству. Попутно користувачі можуть голосувати за вподобані їм пакети для переміщення їх в репозиторій community. після чого пакети стануть доступні для користувачів в бінарному вигляді.
Які типи пакетів дозволені в AUR?
Пакети AUR - це просто "скрипти збірки" виконуваних файлів для подальшої упаковки отриманих бінарних файлів в пакет і установки за допомогою pacman. Зазвичай дозволено все, що задовольняє вищевказаним принципам корисності, інструкцій і ліцензійним вимогам програмного забезпечення. Але в деяких випадках прямо вказано, що заборонено створювати посилання на скачування, наприклад, коли контент заборонений до розповсюдження, ви можете використовувати лише саме ім'я файлу в якості исходника. Це означає, що користувач повинен самостійно потурбуватися в отриманні таких файлів. Якщо ви сумніваєтеся в правових аспектах, краще спочатку запитати.
Як я можу голосувати за пакети в AUR?
Хто такі довірені користувачі / TU?
Довірений користувач (Trusted User. TU) - це користувач, обраний для супроводу AUR і сховища community. Вони підтримують популярні файли PKGBUILD в community і роботу AUR в цілому.
У чому різниця між AUR і репозиторієм community?
AUR - це місце, де зберігаються всі файли PKGBUILD. надіслані користувачами. Самі пакети повинні бути зібрані вручну за допомогою makepkg. Після завершення PKGBUILD набирають достатній інтерес з боку спільноти і підтримку довірених користувачів, вони збираються в пакети, які переміщаються в репозиторій community (підтримуваний довіреними користувачами), з якого вже можуть безпосередньо бути встановлені за допомогою pacman.
Що необхідно для переміщення PKGBUILD в репозиторій community?
Зазвичай необхідно як мінімум 10 голосів для того, щоб пакет міг бути переміщений в community. Однак, якщо довірений користувач захоче підтримувати пакет, він швидше за все зробить це відразу.
Отримання пакетом мінімально необхідної кількості голосів - не єдине вимога: у кого-небудь з довірених користувачів має з'явитися бажання підтримувати цей пакет. Довірені користувачі не зобов'язані переміщати пакет в репозиторій community. навіть якщо він має тисячі голосів.
У більшості випадків дуже популярні пакети залишаються в AUR по одній або декільком з наступних причин:
- У репозиторіях Arch Linux вже міститься інша версія пакету
- Пакет призначений для AUR (наприклад, це Інструмент для роботи з AUR)
- Пряме поширення заборонено ліцензією
Дивіться також статтю DeveloperWiki: Community repo candidates і розділ [[AUR Trusted User Guidelines # Rules for Packages Entering the [community] Repo]].
Як створити PKGBUILD?
Прочитайте статтю Створення пакетів. Перед тим, як створювати PKGBUILD перевірте, чи немає його в AUR, щоб виключити дублювання.
Я пробую запустити "pacman -S foo", але отримую помилку, хоча знаю, що цей пакет є в репозиторії community
Якщо community в вашому файлі /etc/pacman.conf включений, спробуйте спершу запустити pacman -Syu. щоб синхронізувати кеш пакетів і виконати повне оновлення системи, а потім знову спробуйте встановити пакет foo.
Пакет з AUR застарів, що я можу зробити?
По-перше, ви можете помітити пакет як застарілий. Якщо пакет буде перебувати в цьому стані тривалий час, найкраще написати електронного листа користувачу, який підтримує пакет. Якщо ви не отримаєте відповіді протягом двох тижнів, можете створити orphan request. Якщо пакет позначений як застарілий більш вже трьох місяців і в цілому не оновлювався протягом тривалого часу, будь ласка, додайте його в ваш orphan request.
Я хочу надати свій PKGBUILD; хто-небудь може перевірити його на наявність помилок?
Якщо ви хочете, щоб користувачі перевірили ваш PKGBUILD. відправте його в поштову розсилку aur-general. Виправити це для мене ви також можете в IRC-каналі #archlinux на irc.freenode.net. Крім того, ви можете використовувати namcap для перевірки PKGBUILD і зібраного пакета на наявність помилок.
Пакет foo з AUR не збирається, коли я запускаю makepkg; що мені робити?
Швидше за все, ви упустили якісь деталі.
- Запустіть pacman -Syyu перед складанням. Можливо, ваша система не була поновлена.
- Переконайтеся, що встановлені групи пакетів "base" і "base-devel".
- Спробуйте запустити makepkg з опцією -s для перевірки та встановлення необхідних залежностей перед початком збирання.
Як прискорити повторне складання?
Якщо ви часто компілюєте код, використовуючи gcc - скажімо, пакет, який використовує вихідний код з репозиторіїв git або svn, ви можете знайти корисної утиліту ccache (compiler cache).
Як отримати доступ до непідтримуваних пакетам?
Чому пакет пропав з AUR?
Пакет міг бути вилучений, якщо він не задовольняв правилами відправки пакетів. Для уточнення причини видалення дивіться архів aur-requests.
Якщо пакет був присутній в AUR3, не обов'язково, що він перейшов в AUR4. Ви можете спробувати знайти його в репозиторії git для пакетів AUR3.