Как добавлять и удалять пакеты в Arch Linux
Важное: при работе с AUR всегда просматривайте PKGBUILD и скрипты сборки прежде чем запускать makepkg или yay с правами root.

Короткое введение
Arch Linux поставляется с минимальным набором ПО и гибкой моделью управления пакетами. Pacman — это базовый инструмент для установки, обновления и удаления пакетов из официальных репозиториев. AUR (Arch User Repository) — это сообщественная коллекция PKGBUILD-скриптов и рецептов, которые позволяют собирать и устанавливать пакеты, отсутствующие в официальных репозиториях.
Опции менеджера пакетов влияют на рабочий процесс администратора и пользователя. Ниже — подробное руководство, шаблоны и практические приёмы для безопасной и предсказуемой работы с пакетами.
Какие менеджеры пакетов используются в Arch Linux
- Pacman — стандартный менеджер пакетов, предустановлен на всех системах Arch.
- yay — популярный AUR-хелпер, упрощающий установку пакетов из AUR; имитирует интерфейс Pacman.
- Другие AUR-хелперы (paru, trizen и пр.) существуют, но yaourt и aurman уже не поддерживаются.
Краткое определение: AUR — сообщественная база PKGBUILD, позволяющая пользователям публиковать инструкции по сборке и установке пакетов.
Pacman
Pacman отвечает за синхронизацию с зеркалами и за установку бинарных пакетов из официальных репозиториев. Он оптимизирован под формат пакетов Arch (.pkg.tar.zst или .tar.zst), разрешение зависимостей и транзакции.
Основная команда синхронизации и обновления:
sudo pacman -SyuВажно: избегайте частичных обновлений (например, выполнять только -Sy и долго откладывать -u), так как это может привести к несовместимости пакетов.
yay
Yay — один из наиболее распространённых AUR-хелперов. Его цель — минимизировать ввод пользователя и предоставить знакомый интерфейс, похожий на Pacman. Yay умеет искать, собирать и устанавливать пакеты из AUR и официальных репозиториев.
Установка yay (рекомендуемый и корректный пример):
- Установите инструменты для сборки и git (если ещё не установлены):
sudo pacman -S --needed git base-devel- Склонируйте репозиторий yay из AUR (клонировать следует в домашнюю директорию обычного пользователя, не в /):
git clone https://aur.archlinux.org/yay.git- Перейдите в каталог с репозиторием и соберите пакет (не выполняйте makepkg от root):
cd yay
makepkg -siЕсли репозиторий называется иначе (например, yay-git), замените имя каталога в команде cd на фактическое.
Примечание: команды выше выполняются от имени обычного пользователя; makepkg создаёт пакет и установит его через pacman.
Обновление и апгрейд пакетов
Перед установкой новых пакетов рекомендуется синхронизировать список пакетов и обновить систему.
Синхронизация и обновление с помощью pacman
- Обновить базу данных пакетов:
sudo pacman -Sy- Обновить систему (рекомендуемый способ):
sudo pacman -Syu- Принудительно перезагрузить базы и обновить:
sudo pacman -SyyuВажно: команда -Sy без -u может привести к частичному обновлению; лучше сразу применять -Syu.
Обновление с помощью yay
Yay объединяет работу с AUR и официальными репозиториями:
sudo yay -SyuYay при запуске предложит обновить AUR-пакеты и при необходимости пересобрать их.
Установка пакетов
Установка через pacman
Чтобы установить пакет из официального репозитория:
sudo pacman -S packagenameНапример, установить CMatrix:
sudo pacman -S cmatrixУстановка нескольких пакетов одновременно:
sudo pacman -S cmatrix vlc pythonПолучить информацию о уже установленном пакете:
pacman -Qi cmatrix
Альтернативно можно посмотреть, какие файлы установлены пакетом:
pacman -Ql cmatrixУстановка через yay (AUR и официальные репозитории)
Синтаксис похож на pacman:
yay -S packagenameYay автоматически собирает AUR-пакеты и устанавливает зависимости.
Удаление пакетов
Удаление через pacman
sudo pacman -R cmatrixЕсли пакет не найден, pacman выдаст сообщение:
error: target not found: packagenameУдаление через yay
yay -R cmatrixЧтобы удалить пакет вместе с неиспользуемыми зависимостями:
yay -Rns cmatrixЧтобы очистить систему от пакетов, которые не требуются никакими пакетами:
yay -YcСравнение: pacman vs yay vs ручная сборка
| Задача | pacman | yay | Ручная сборка (makepkg) |
|---|---|---|---|
| Официальные репозитории | Да | Да | Нет |
| AUR | Нет | Да | Да |
| Автоматическое разрешение зависимостей | Да | Да | Частично |
| Риск со стороны источника | Низкий | Средний | Высокий (если не проверять) |
Шпаргалка: часто используемые команды
| Команда | Описание |
|---|---|
| sudo pacman -Syu | Обновить базу и систему |
| sudo pacman -S pkg | Установить пакет |
| sudo pacman -R pkg | Удалить пакет |
| pacman -Qi pkg | Информация о пакете |
| yay -S pkg | Установить пакет (AUR + repos) |
| yay -Syu | Обновить систему и AUR |
| makepkg -si | Собрать локальный PKGBUILD и установить |
Мини‑методология: как безопасно установить пакет из AUR
- Найдите пакет на https://aur.archlinux.org/ и откройте страницу пакета.
- Прочитайте описание и комментарии. Обратите внимание на рейтинг и комментарии о безопасности.
- Склонируйте репозиторий AUR локально:
git clone https://aur.archlinux.org/<название-пакета>.git
cd <название-пакета>- Проверьте содержимое PKGBUILD и скриптов сборки (pkgbuild, install). Если вы не понимаете, спросите в сообществе.
- Соберите пакет как обычный пользователь:
makepkg -si- После сборки и установки проверьте работоспособность и отсутствия неожиданных сервисов.
Частые ошибки и способы устранения
- error: target not found: packagename — пакет отсутствует в репозитории или опечатка в имени. Проверьте имя и репозитории.
- failed to commit transaction (conflicting files) — пакет пытается установить файлы, уже принадлежащие другому пакету. Решение: проверить, какой пакет владеет файл, и при необходимости удалить конфликтный пакет.
- could not resolve host: mirror — проблемы с сетью или зеркалом. Попробуйте изменить зеркало в /etc/pacman.d/mirrorlist или временно использовать другой рефлектор.
- GPG signature failed — проверьте ключи GPG автора пакета и импортируйте ключ, если он доверенный.
Критерии приёмки
- Приложение успешно устанавливается без ошибок транзакции.
- Команда pacman -Qi <пакет> возвращает корректную версию и архитектуру.
- Приложение запускается и выполняет ожидаемые функции.
- Система не содержит незавершённых или частично установленных зависимостей.
Роли и контрольный список
Для Desktop-пользователя:
- Синхронизировать систему: sudo pacman -Syu.
- Установить приложение: sudo pacman -S <имя> или yay -S <имя>.
- Тестировать приложение в пользовательской сессии.
Для системного администратора:
- Обновлять зеркала и проверять логи обновлений.
- Планировать обновления на время низкой нагрузки.
- Делать резервные копии важных конфигураций перед массовым обновлением.
Для разработчика/пакетатора:
- Писать корректный PKGBUILD и тестировать сборку в chroot.
- Подписывать релизы и указывать проверяемые источники.
Модель принятия решений
flowchart TD
A[Нужно установить пакет?] --> B{Пакет в официальном репозитории?}
B -- Да --> C[Использовать pacman]
B -- Нет --> D{Есть готовый AUR-пакет?}
D -- Да --> E[Использовать yay или собрать вручную]
D -- Нет --> F[Собирать из исходников вручную и создать PKGBUILD]
C --> G[Проверить установку]
E --> G
F --> G
G --> H[Тестировать и документировать]Безопасность и приватность при работе с AUR
- AUR — это сообщественный ресурс. PKGBUILD и скрипты могут выполняться с правами пользователя при сборке. Всегда читайте PKGBUILD и вспомогательные скрипты перед запуском makepkg или использованием yay.
- Не запускайте пользовательские install-скрипты от root без проверки. Всегда минимизируйте привилегии.
- Проверяйте источники (url и контрольные суммы) в PKGBUILD.
Когда стоит не использовать AUR
- Если пакет управляет критичными системными сервисами в продакшене.
- Если PKGBUILD содержит непонятные бинарные payload или закодированные скрипты.
- Если вы не можете проверить происхождение исходников.
Краткое резюме
Arch Linux предоставляет гибкую экосистему управления пакетами. Pacman — надёжный инструмент для официальных репозиториев; yay и другие AUR‑хелперы упрощают работу с сообществом AUR. Всегда обновляйте систему корректно (sudo pacman -Syu), проверяйте PKGBUILD и следуйте минимальным привилегиям при сборке.
FAQ
Как установить yay, если у меня уже установлен AUR-хелпер? Если у вас установлен другой хелпер (например, paru), вы можете продолжать им пользоваться. Установка yay не обязательна.
Можно ли устанавливать DEB или RPM-пакеты в Arch? Формально можно использовать инструменты преобразования, но это не рекомендуется. Лучше искать аналогичные пакеты в AUR или собирать из исходников.
Что делать при конфликте файлов между пакетами? Определите, какой пакет владеет файлом (pacman -Qo <файл>), и решите, какой пакет оставить. В некоторых случаях требуется удалить конфликтующий пакет и установить нужный.
Похожие материалы
Лучшие виджеты для iPhone — обзор и инструкция
Темы WordPress: выбор, установка, управление
KVM на Arch Linux: установка и первая виртуальная машина
Эффект Зейгарник для продуктивности
Ремонт ноутбука: диагностика и практические советы