Установка и использование yay для AUR на Arch Linux

Pacman — штатный пакетный менеджер дистрибутивов на базе Arch — мощный, но он не умеет напрямую работать с репозиторием Arch User Repository (AUR). AUR — это сообщественный репозиторий, содержащий тысячи сторонних пакетов в виде сценариев установки, называемых PKGBUILD.
PKGBUILD — это текстовый файл, который описывает, где взять исходники пакета, как его собрать и как упаковать. Одной строкой: PKGBUILD — инструкция сборки пакета.
Если вы хотите устанавливать пакеты из AUR быстрее и удобнее, используйте AUR-хелпер, например yay. Yay не входит в официальные репозитории Arch и поэтому устанавливается через сам AUR.
Как установить yay на Arch Linux
Ниже — надёжный пошаговый метод установки yay. Команды выполняйте в терминале под учетной записью пользователя с sudo.
- Установите зависимости (если они ещё не установлены):
sudo pacman -S --needed base-devel git- Склонируйте репозиторий yay с AUR:
git clone https://aur.archlinux.org/yay.git- Перейдите в папку с исходниками:
cd yay- Соберите и установите пакет с помощью makepkg:
makepkg -siЕсли в процессе вы увидите ошибку “cannot find the fakeroot binary”, проверьте, что пакет base-devel установлен корректно (включая fakeroot) и повторите команду.
Этот способ работает не только в Arch Linux, но и в производных системах: Manjaro, EndeavourOS, Garuda и т.д.
Проверьте установку командой:
yay --versionЕсли команда выводит номер версии, yay установлен успешно.
Важно: AUR изначально создавался для Arch и его производных. На других дистрибутивах (Ubuntu, Mint) AUR напрямую не подходит. Для подобных систем есть аналогичные инструменты, например Pacstall, который вдохновлён AUR и использует собственные скрипты установки.
Альтернативные способы и когда их использовать
- Ручная установка пакета из AUR: клонировать нужный репозиторий PKGBUILD, изучить PKGBUILD, запустить makepkg. Это полезно, если вы не доверяете AUR-хелперу или хотите полностью контролировать процесс.
- Другие AUR-хелперы: paru, aura, trizen. Paru часто упоминают как альтернативу yay с похожим интерфейсом.
- Pacstall или Flatpak/Snap: если вы используете не-Arch дистрибутив, используйте Pacstall или универсальные форматы приложений.
Управление пакетами AUR с помощью yay
Yay во многом повторяет синтаксис pacman. Ниже — основные операции.
Поиск пакетов
Поиск по ключевому слову:
yay chrome
Чтобы искать и в официальных репозиториях, и в AUR, используйте флаг -Ss:
yay -Ss google-chromeДля последовательного сужения результатов можно указать несколько ключевых слов:
yay -S term1 term2Команда сначала найдёт все совпадения для term1, затем отфильтрует их по term2.
Установка пакетов
Установка пакета:
yay -S packagenameПример — установка Google Chrome из AUR:
yay -S google-chromeПроцесс может требовать ввода пароля sudo и иногда запросит подтверждение на действия в PKGBUILD.
Чтобы только скачать PKGBUILD без сборки, используйте флаг -G или –getpkgbuild:
yay -G google-chromeПоказать PKGBUILD в терминале:
yay -Gp google-chrome
Удаление пакетов
Удалить пакет:
yay -R packagenameУдалить пакет вместе с неиспользуемыми зависимостями:
yay -Rns packagenameПример удаления Google Chrome:
yay -R google-chromeОбновление пакетов
Запустив yay без аргументов, вы инициируете полное обновление системы, аналогичное pacman -Syu. Это синхронизирует официальные репозитории и AUR.
Чтобы обновлять только пакеты из AUR, используйте:
yay -SuaЕсли вы хотите исключить пакет из обновления, внесите его в IgnoreGroup/IgnorePkg в /etc/pacman.conf или управляйте версиями вручную.
Очистка неиспользуемых зависимостей
Чтобы удалить все неиспользуемые зависимости, установленные через yay, выполните:
yay -YcФлаг -Y ограничивает операцию пакетами, установленными именно через yay.
Дополнительные полезные команды
Показать статистику пакетов и состояние системы:
yay -PsПолучить справку по ключам:
yay --helpПоказать man-страницу:
man yay
Проверка PKGBUILD и безопасность
AUR позволяет любому добавлять PKGBUILD. Это делает AUR удобным, но вводит риски. Ниже — практическая методика проверки PKGBUILD перед установкой.
Короткая методика проверки PKGBUILD:
- Откройте PKGBUILD и внимательно прочитайте поля source, sha256sums и prepare/build()/package().
- Убедитесь, что источники скачиваются из надёжных URL (официальный GitHub, сайт проекта). Если источники — бинарные архивы с непроверенных URL, будьте осторожны.
- Проверьте скрипты на пост-установочные команды, которые выполняют сетевые операции или снимают ограничения безопасности.
- Сравните подписи/контрольные суммы, если доступны.
- Посмотрите комментарии и оценки в AUR: мнения других пользователей часто указывают на проблемы.
Практический чеклист при просмотре PKGBUILD:
- source: доверенный URL?
- sha256sums: заполнены и соответствуют источнику?
- build() и package(): нет подозрительных команд (curl | sh, команды удаления файлов вне служебных директорий)
- license: приемлемая лицензия
- поддержка: есть ли активный мейнтейнер и отклики сообщества
Критерии приёмки
- Команда yield:
yay --versionвозвращает номер версии. - Установка тестового пакета проходит без ошибок.
- PKGBUILD проверен вручную и не содержит вредоносных операций.
Риски и mitigations
| Риск | Влияние | Митигирование |
|---|---|---|
| Заражённый PKGBUILD | Высокое — выполнение вредоносного кода | Ручная проверка PKGBUILD, проверка источников, просмотр комментариев в AUR |
| Несовместимость с дистрибутивом | Среднее — ломает зависимости | Использовать тестовую систему, chroot или контейнер для сборки |
| Непредвиденное удаление зависимостей | Среднее | Всегда просматривать список пакетов перед удалением с -Rns |
Important: Если вы сомневаетесь в PKGBUILD, соберите пакет в изолированной среде (chroot, container) и не устанавливайте его на рабочую систему без проверки.
Playbook: безопасная установка пакета из AUR (быстрый SOP)
- Найдите пакет в AUR и прочитайте его страницу (комментарии, votes, last modified).
- Склонируйте репозиторий PKGBUILD: git clone
- Откройте PKGBUILD и проверьте source, sha256sums, build()/package().
- Если сомнений нет — соберите пакет: makepkg -si
- После установки проверьте работоспособность приложения и откатывайте при проблемах.
Mermaid-диаграмма принятия решения:
flowchart TD
A[Вы используете Arch или производную?] -->|Да| B[Хотите AUR-хелпер?]
A -->|Нет| C[Используйте Pacstall или snap/flatpak]
B -->|Да| D[Установите yay/paru]
B -->|Нет| E[Клонируйте PKGBUILD и используйте makepkg]Роль — чеклист (быстро)
Desktop user:
- Установить base-devel и git
- Установить yay
- Проверять PKGBUILD для новых пакетов
- Использовать -Rns для чистки
Sysadmin / power user:
- Тестировать сборку в chroot
- Добавлять критические пакеты в игнор обновлений, если нужно
- Вести список доверенных источников
Когда AUR не подходит (контрпример)
- Корпоративные окружения с жёсткой политикой безопасности: сторонние скрипты в AUR могут нарушать требования безопасности.
- Системы с ограниченным интернетом или без компилятора: сборка из исходников потребует ресурсов.
Сравнение быстрых альтернатив
- yay: удобен, активно используется, прост в настройке.
- paru: аналогичный функционал, отличается поведением по умолчанию и оформлением вывода.
- ручной makepkg: максимальный контроль, больше шагов.
- Pacstall (для не-Arch): похожая концепция, но отдельная экосистема.
Короткий глоссарий
- AUR: Arch User Repository — сообщественный репозиторий.
- PKGBUILD: сценарий сборки пакета.
- yay: AUR-хелпер для поиска, сборки и установки пакетов AUR.
- base-devel: группа пакетов, необходимая для сборки (make, gcc и т.д.).
- makepkg: утилита для сборки пакета из PKGBUILD.
- fakeroot: утилита, позволяющая собирать пакеты без прав root.
Советы по миграции и совместимости
- На Manjaro и других производных большинство AUR-пакетов работают так же, но проверяйте совместимость с версиями библиотек.
- Если пакет ломает систему после обновления, используйте /var/cache/pacman/pkg для отката или pacman -U с нужной версией.
Заключение
Yay делает установку из AUR быстрой и удобной, но не заменяет ответственность пользователя. Всегда просматривайте PKGBUILD, особенно если пакет малоизвестен. Используйте отдельную тестовую среду для критичных систем и выбирайте альтернативы на не-Arch дистрибутивах.
Важное: AUR — мощный инструмент, но он требует осторожности. Немного внимательности при проверке PKGBUILD сохранит систему в безопасности и поможет лучше понять, как пакеты собираются и устанавливаются.
Короткое резюме ниже.
Критерии приёмки
- yay установлен и выводит версию.
- Вы можете найти и установить тестовый пакет из AUR.
- PKGBUILD проверен вручную и не содержит опасных команд.
Конец статьи.
Похожие материалы
Убрать раздражающие функции Facebook — руководство
Приложения по умолчанию на Android — настройка и управление
Установить REMnux в VirtualBox — руководство
Список выполненного: мотивация и шаблоны
Как сохранить веб‑страницу для офлайн‑чтения