Гид по технологиям

Как добавлять репозитории в Linux

5 min read Linux Обновлено 31 Dec 2025
Добавление репозиториев в Linux
Добавление репозиториев в Linux

Человек смотрит на экран компьютера

Важно: добавление сторонних репозиториев даёт доступ к дополнительному ПО, но увеличивает риск установки неподписанных или несовместимых пакетов. Проверяйте надежность источника.

О чём эта статья

В этой статье объясняется, как добавлять репозитории в популярных семейств Linux‑дистрибутивов: Debian/Ubuntu (APT), Fedora/CentOS/RHEL (DNF/yum) и Arch Linux (AUR). Приведены команды, лучшие практики, варианты на случай проблем и чек‑листы для разных ролей (пользователь, сисадмин, разработчик пакетов).

Основная идея

Репозиторий — это URL или файл в системе, содержащий пакеты и метаданные. Менеджер пакетов опрашивает репозитории для поиска, установки и обновления ПО. Добавляя репозиторий, вы сообщаете менеджеру пакетов о новом источнике.

Ubuntu и дистрибутивы на базе Debian

Debian‑подобные системы (Ubuntu, Debian и производные) используют Advanced Package Tool (APT). Информация о репозиториях обычно хранится в файле /etc/apt/sources.list и в каталоге /etc/apt/sources.list.d/

Хотя можно редактировать /etc/apt/sources.list вручную, удобнее пользоваться утилитой add-apt-repository, которая автоматически обновляет списки и добавляет ключи, если нужно.

Установка add-apt-repository

Утилита поставляется в пакете software-properties-common. Установите пакет так:

sudo apt update
sudo apt install software-properties-common

Добавление репозитория с помощью add-apt-repository

Синтаксис:

sudo add-apt-repository [опции] репозиторий

Формат записи в sources.list выглядит так:

deb https://repositoryurl.com дистро компонент

Пример: добавить репозиторий “universe” в Ubuntu:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt update

Добавление PPA (Personal Package Archive):

sudo add-apt-repository ppa:ondrej/php
sudo apt update

PPA удобны для получения свежих версий ПО для Ubuntu, но помните, что их поддерживают пользователи, а не команда дистрибутива.

Fedora, CentOS и RHEL

RHEL‑совместимые дистрибутивы (Fedora, CentOS, RHEL) используют DNF или старый yum. DNF включает утилиту config-manager для управления репозиториями.

Использование DNF

Добавление нового репозитория:

dnf config-manager --add-repo URL_репозитория

Включение/отключение репозитория:

dnf config-manager --set-enabled имя_репозитория
dnf config-manager --set-disabled имя_репозитория

yum-config-manager

yum-config-manager входит в пакет yum-utils. Установите его (если его нет):

sudo dnf install yum-utils

Добавление репозитория при помощи yum-config-manager:

yum-config-manager --add-repo URL_репозитория

Включение репозитория:

yum-config-manager --enable имя_репозитория

На RHEL и CentOS иногда используются файлы .repo в /etc/yum.repos.d/ с секциями [название] и параметрами baseurl, enabled, gpgcheck.

Arch Linux и AUR

Arch использует pacman для официальных репозиториев. Для сторонних пакетов существует AUR (Arch User Repository) — сообщественный репозиторий «PKGBUILDs», из которых можно собрать пакеты.

Pacman не работает с AUR напрямую. Чтобы установить пакеты из AUR, используйте AUR‑помощник (AUR helper), например yay.

Установка yay из AUR вручную (пример)

Клонируем репозиторий и соберём пакет:

git clone https://aur.archlinux.org/yay-git.git
cd yay-git
makepkg -si

Примечание: не рекомендуем давать 777 на скачанные каталоги. Лучше использовать стандартные права:

sudo chown -R $(whoami):$(whoami) yay-git
cd yay-git
makepkg -si

После установки yay вы сможете искать и устанавливать пакеты из AUR:

yay -S package-name

Управление списком репозиториев и базовые практики

  • Храните сторонние репозитории в отдельных файлах в /etc/apt/sources.list.d/ или /etc/yum.repos.d/. Это упростит их удаление.
  • Всегда выполняйте обновление списка пакетов после добавления репозитория: apt update, dnf makecache или аналог.
  • Проверяйте подписи GPG: включайте gpgcheck там, где это возможно.
  • Ограничивайте доверие: добавляйте репозитории только от проверенных источников.

Примечание: иногда репозиторий предоставляет GPG‑ключ отдельно. Добавьте ключ перед обновлением списка:

Для APT:

wget -qO - https://example.com/repo.gpg | sudo apt-key add -
sudo apt update

Для DNF/YUM (пример):

sudo rpm --import https://example.com/repo.gpg
sudo dnf config-manager --add-repo https://example.com/repo.repo
sudo dnf makecache

Когда добавление репозитория не решает проблему

  • Если пакет несовместим с вашей версией дистрибутива, установка может привести к конфликтам зависимостей.
  • Репозиторий может не содержать нужной архитектуры (например, только x86_64, а у вас arm).
  • Если пакет подписан неверным ключом или не подписан вовсе, менеджер пакетов может отказать в установке по соображениям безопасности.

В таких случаях рассмотрите альтернативы (см. ниже) и откат изменений: удалите файл репозитория и выполните очистку кеша.

Альтернативные подходы

  • Использовать контейнеры (Docker, Podman) для запуска ПО в изолированной среде.
  • Установить программное обеспечение из исходников при необходимости (но это усложнит управление обновлениями).
  • Использовать snap, flatpak или AppImage — универсальные пакеты, не требующие изменений системных репозиториев.

Ментальные модели и эвристики

  • “Минимум доверия”: добавляйте только те репозитории, которые необходимы.
  • “Отделяй слои”: держите системные репозитории отдельно от пользовательских/тестовых.
  • “Rollback готов”: перед крупными изменениями делайте точку отката (снимок VM или резервную копию конфигураций).

Чек‑лист по ролям

Пользователь:

  • Найти официальный источник или PPA.
  • Добавить репозиторий через явную команду.
  • Выполнить apt update или dnf makecache.

Системный администратор:

  • Проверить GPG‑ключи и политику gpgcheck.
  • Разместить repo‑файлы в /etc/*repos.d/ и документировать изменения.
  • Настроить приоритеты (APT pinning или DNF priorities), чтобы избежать случайных обновлений из сторонних репов.

Разработчик пакетов:

  • Поддерживать PKGBUILD/Spec-файлы и инструкции по установке ключей.
  • Тестировать пакеты на целевых версиях дистрибутива.

Критерии приёмки

  • Репозиторий добавлен и доступен: команда обновления списка завершается без ошибок.
  • Пакет устанавливается и запускается, зависимости удовлетворены.
  • GPG‑подпись присутствует или соблюдена политика безопасности организации.

Примеры команд (сводный лист)

APT (Ubuntu/Debian):

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4

DNF/YUM (Fedora/RHEL/CentOS):

sudo dnf config-manager --add-repo https://example.com/repo.repo
sudo dnf makecache
sudo dnf install package-name

Arch/AUR (yay):

git clone https://aur.archlinux.org/yay-git.git
cd yay-git
makepkg -si
yay -S package-from-aur

Механизм отката (быстрая инструкция)

  1. Удалите файл репозитория из /etc/apt/sources.list.d/ или /etc/yum.repos.d/.
  2. Выполните очистку кеша и обновление: apt update или dnf makecache.
  3. При необходимости удалите установленные пакеты и восстановите конфигурации из резервной копии.

Безопасность и конфиденциальность

  • Не добавляйте репозитории из непроверенных источников.
  • В корпоративной среде оформляйте внешние репозитории через прокси/кэширующие зеркала с ограничениями доступа.
  • Убедитесь, что политика подписывания пакетов соблюдается (gpgcheck=true).

Когда стоит выбрать альтернативу

  • Нужна изоляция — используйте контейнеры или Flatpak.
  • Требуется старое или экспериментальное ПО — лучше собирать пакет локально или использовать отдельную VM.

Диаграмма принятия решения

flowchart TD
  A[Нужен пакет, не найден в официальных репозиториях?] -->|Нет| B[Использовать официальный репозиторий]
  A -->|Да| C[Есть PPA/AUR/Repo от проверенного источника?]
  C -->|Да| D[Добавить репозиторий и проверить GPG]
  C -->|Нет| E[Рассмотреть контейнер/Flatpak/сборку из исходников]
  D --> F[Установить и тестировать]
  F --> G{Работает?}
  G -->|Да| H[Оставить репозиторий]
  G -->|Нет| I[Откатить и искать альтернативу]

Краткий глоссарий (1 строка)

  • Репозиторий — хранилище пакетов и метаданных; PPA — пользовательский репозиторий для Ubuntu; AUR — сообщественный репозиторий Arch; GPG — криптографическая подпись пакетов.

Заключение

Добавление репозиториев расширяет набор доступного ПО, но одновременно вносит риски совместимости и безопасности. Используйте рекомендованные инструменты (add-apt-repository, dnf config-manager, yay), проверяйте подписи и документируйте изменения. Если добавление репозитория вызывает конфликты, рассмотрите контейнеризацию или сборку из исходников.

Резюме:

  • Используйте подходящие инструменты для вашего дистрибутива.
  • Оценивайте доверие к источнику и безопасность подписей.
  • Документируйте и тестируйте изменения, чтобы можно было откатиться.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Восстановить домашнюю страницу в браузере
Браузеры

Восстановить домашнюю страницу в браузере

Искать файлы Google Drive из адресной строки Chrome
Продуктивность

Искать файлы Google Drive из адресной строки Chrome

Как сделать ПК бабушки и дедушки удобнее
Accessibility

Как сделать ПК бабушки и дедушки удобнее

Восстановление удалённых сообщений WhatsApp
Технические инструкции

Восстановление удалённых сообщений WhatsApp

Конвертация PDF в изображения в Linux — pdftoppm
Linux утилиты

Конвертация PDF в изображения в Linux — pdftoppm

Склеить и разделить аудио в Clideo
Аудио

Склеить и разделить аудио в Clideo