Установка и удаление пакетов в Arch Linux

Важно: AUR — это сообщество, не официальный репозиторий; доверяйте исходникам и ревью пакетов.
Краткое введение
Если вы только перешли с Debian‑подобной системы на Arch, управление пакетами может показаться непривычным. Arch использует pacman как основной менеджер пакетов: он синхронизирует локальную базу с зеркалами и устанавливает бинарные пакеты из официальных репозиториев. AUR (Arch User Repository) — это сообщество пользователей, где публикуют PKGBUILD для сборки пакетов. Для работы с AUR используются помощники (AUR helpers) вроде yay или paru.
В этой статье вы найдёте практические команды, пошаговые инструкции, рекомендации по безопасности и набор полезных шаблонов и чеклистов для разных ролей.
Менеджеры пакетов в Arch Linux
Arch по умолчанию поставляется с pacman, но при необходимости вы можете установить другие инструменты. Отличие AUR‑хелперов в том, что они упрощают установку пакетов из AUR, автоматизируют сборку и разрешение зависимостей.
Популярные варианты:
- pacman — официальный, для пакетов из репозиториев Arch.
- yay — популярный AUR‑хелпер с интерфейсом, похожим на pacman.
- paru — современная альтернатива yay, также активно развивается.
Некоторые прежние инструменты (yaourt, aurman) больше не поддерживаются и не рекомендуются.
Pacman
Pacman — основной менеджер пакетов. Он синхронизирует локальную базу пакетов с зеркалами и устанавливает/удаляет бинарные пакеты форматa .tar.zst (или .tar.xz для старых пакетов). Он удобен, быстр и интегрирован в экосистему Arch.
Краткое определение: pacman — официальный пакетный менеджер Arch Linux для управления бинарными пакетами из репозиториев.
yay
Yay — AUR‑хелпер, который упрощает поиск, сборку и установку пакетов из AUR, сохраняя знакомый синтаксис pacman. Поскольку pacman не умеет работать с AUR напрямую, yay или другой хелпер помогут автоматизировать процесс.
Установка yay (правильная и безопасная последовательность):
- Установите базовые инструменты для сборки (выполните как root или через sudo):
sudo pacman -S --needed git base-devel- Клонируйте репозиторий yay из AUR (выполняйте как обычный пользователь, не root):
git clone https://aur.archlinux.org/yay.git- Перейдите в каталог репозитория:
cd yay- Соберите и установите пакет с помощью makepkg (как обычный пользователь):
makepkg -siПримечание: ненужные chmod 777 на системных путях не требуются и создают риски безопасности. Всегда выполняйте сборку как обычный пользователь.
Обновление и апгрейд системы
Перед установкой новых пакетов рекомендуется синхронизировать базу пакетов и обновить систему.
Обновление с помощью pacman
- Синхронизировать локальную базу пакетов с зеркалами:
sudo pacman -Sy- Обновить все установленные пакеты до последних версий:
sudo pacman -Syu- Комбинированная команда для принудительной полной синхронизации и обновления:
sudo pacman -SyyuЗамечание: частое применение -Sy без последующего -u может привести к частичной синхронизации версий и потенциальным конфликтам при обновлении; лучше запускать полное обновление -Syu.
Обновление с помощью yay
Yay подхватывает как пакеты из официальных репозиториев, так и пакеты из AUR:
yay -SyuКоманда обновит сначала репозитории, затем бинарные пакеты, и наконец — AUR‑пакеты (с пересборкой при необходимости).
Установка пакетов
Добавление пакетов выполняется через команды менеджера пакетов.
Установка с pacman
Установить пакет из официального репозитория:
sudo pacman -S <имя_пакета>Пример:
sudo pacman -S cmatrixУстановка нескольких пакетов одновременно:
sudo pacman -S cmatrix vlc pythonПолучить информацию о пакете (после установки или если он доступен в репозитории):
pacman -Qi cmatrixУстановка с yay (AUR)
Синтаксис похож на pacman. Для установки AUR‑пакета используйте:
yay -S <имя_пакета>Yay автоматически клонирует PKGBUILD, собирает пакет и предложит установить зависимости. Он также кеширует сборки для последующего использования.
Удаление пакетов
Arch даёт полный контроль над удалением пакетов. Используйте соответствующие флаги для очистки зависимостей и конфигураций.
Удаление с pacman
Простое удаление пакета:
sudo pacman -R <имя_пакета>Удаление пакета вместе с его неиспользуемыми зависимостями и конфигурациями:
sudo pacman -Rns <имя_пакета>Если пакет отсутствует, pacman вернёт ошибку: error: target not found: <имя_пакета>
Удаление с yay
Yay принимает те же флаги:
yay -R <имя_пакета>
yay -Rns <имя_пакета>Удалить все неиспользуемые пакеты (orphans):
sudo pacman -Rns $(pacman -Qtdq)Внимание: перед выполнением подобных команд внимательно проверьте список удаляемых пакетов, чтобы не удалить нужные компоненты.
Советы по безопасности и проверке AUR
- Всегда просматривайте PKGBUILD и связанные скрипты перед сборкой. PKGBUILD — это рецепт сборки; он может содержать команды, которые выполняются на вашей машине.
- Проверяйте комментарии и рейтинги пакета в AUR, но не полагайтесь только на них.
- Сборку выполняйте как обычный пользователь, не root.
- Используйте зеркала с хорошей репутацией и периодически обновляйте базу mirrorlist.
Полезные утилиты для управления пакетами
- pacman -Qs <ключевое_слово> — поиск в репозиториях
- pacman -Qi <пакет> — информация об установленном пакете
- pacman -Ql <пакет> — список файлов пакета
- pacman -Ss <ключевое_слово> — поиск в всех репозиториях
- pacman -Qdt — показ orphan-пакетов (зависимости, не требуемые другими)
Чеклисты по ролям
Десктоп‑пользователь:
- Синхронизировать базу: sudo pacman -Syu
- Установить нужное ПО: sudo pacman -S <пакеты>
- Удалить ненужное: sudo pacman -Rns <пакет>
- Проверять обновления AUR с помощью yay: yay -Syu
Разработчик:
- Установить base-devel и git перед сборкой AUR
- Просмотреть PKGBUILD и build() функции
- Собрать пакет как обычный пользователь: makepkg -si
- Версионировать локальные PKGBUILD при правках
Системный администратор:
- Использовать список проверенных зеркал
- Планировать обновления для серверов (SLA)
- Тестировать major‑обновления в staging перед prod
- Контролировать автоматическое удаление orphan-пакетов
Mini‑методология безопасной установки пакета из AUR
- Найдите пакет в AUR и прочитайте описание.
- Клонируйте репозиторий PKGBUILD локально.
- Проверите PKGBUILD, .install и любые скрипты на предмет опасных команд.
- Соберите пакет локально (makepkg) как обычный пользователь.
- Установите готовый пакет и проверьте его работу.
- При необходимости сообщите об ошибках автору PKGBUILD.
Команды‑шпаргалка
| Действие | Команда |
|---|---|
| Синхронизация и обновление | sudo pacman -Syu |
| Установка (официальный репозиторий) | sudo pacman -S <пакет> |
| Установка (AUR через yay) | yay -S <пакет> |
| Удаление пакета | sudo pacman -R <пакет> |
| Удаление с зависимостями | sudo pacman -Rns <пакет> |
| Сборка пакета из PKGBUILD | makepkg -si |
| Поиск в репозиториях | pacman -Ss |
| Поиск по установленным | pacman -Qs |
Когда этот подход не подходит
- Если вы используете дистрибутив, основанный на Arch, с сильно изменённой принципом управления пакетами — убедитесь, что ваши утилиты совместимы с дистрибутивом.
- На изолированных серверах без доступа к зеркалам лучше использовать локальные репозитории и прокси‑кеши пакетов.
- Для корпоративных окружений стоит внедрить внутренний репозиторий и политику контроля пакетов.
Альтернативные подходы
- Ручная установка из tar.gz: скачайте архив, распакуйте, следуйте инструкциям разработчика — подходит для программ без пакета.
- Использование контейнеризации (Docker, Podman) для запуска ПО без установки в систему.
- Создание и обслуживание собственного локального репозитория для централизованного управления пакетами.
Модель принятия решения (Mermaid)
flowchart TD
A[Нужно установить пакет?] --> B{В репозитории?}
B -- Да --> C[sudo pacman -S <пакет>]
B -- Нет --> D{Есть ли пакет в AUR?}
D -- Да --> E[yay -S <пакет> 'проверить PKGBUILD']
D -- Нет --> F[Рассмотреть ручную сборку или контейнер]
E --> G[Проверить работу и удалить орфаны]
C --> G
F --> GРиски и mitigations
- Риск: вредоносные команды в PKGBUILD. Митигирование: вручную просматривать PKGBUILD и связанные скрипты.
- Риск: конфликт версий после частичной синхронизации. Митигирование: всегда использовать полный цикл обновления sudo pacman -Syu.
- Риск: удаление нужных зависимостей при очистке. Митигирование: просмотреть список удаляемых пакетов перед подтверждением.
Совместимость и миграция
- При миграции с Debian‑создавайте план: какие пакеты нужны, какие доступны в Arch, какие придётся собирать.
- AUR пакеты не являются официальными; проверяйте совместимость библиотек и ABI при переходе.
Краткий словарь (1‑строчные определения)
- pacman — официальный менеджер пакетов Arch.
- AUR — репозиторий сообщества с PKGBUILD для сборки пакетов.
- PKGBUILD — сценарий сборки пакета для Arch.
- yay / paru — AUR‑хелперы для автоматизации сборки и установки.
Шаблон чеклиста перед установкой из AUR
- Проверил наличие пакета в официальных репозиториях
- Просмотрел PKGBUILD и .install
- Проверил зависимости и возможные конфликты
- Собрал пакет локально как пользователь
- Тестировал установленный пакет
Социальная превью‑версия
OG title: Пакеты в Arch Linux: установить и удалить OG description: Быстрый путеводитель по pacman и yay: команды для обновления, установки и удаления пакетов, безопасность при работе с AUR.
Короткое объявление (100–200 слов)
Управление пакетами в Arch Linux — просто, если знать инструменты. Для официальных репозиториев используйте pacman: он синхронизирует зеркала и устанавливает бинарные пакеты. Для пакетов сообщества из AUR применяйте AUR‑хелперы вроде yay или paru. Всегда обновляйте систему командой sudo pacman -Syu и проверяйте PKGBUILD перед сборкой. Собирайте AUR‑пакеты как обычный пользователь, а не root, и удаляйте ненужные зависимости с помощью -Rns. Для серверов и корпоративных сред рекомендуем локальный репозиторий и тестирование обновлений в staging. В этой заметке — шпаргалка команд, чеклисты по ролям, mermaid‑схема принятия решения и советы по безопасности.
Итог
Pacman покрывает всё необходимое для установки и удаления пакетов из официальных репозиториев Arch. Для AUR используйте проверенные AUR‑хелперы (yay/paru), просматривайте PKGBUILD и выполняйте сборку как обычный пользователь. Планируйте обновления и следите за орфанами, чтобы система оставалась чистой и предсказуемой.
Ключевые рекомендации:
- Всегда синхронизируйте и обновляйте систему: sudo pacman -Syu
- Для AUR используйте yay и проверяйте PKGBUILD
- Собирайте как обычный пользователь, не давайте лишних прав
- Перед массовыми обновлениями тестируйте изменения на staging