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

Как добавлять репозитории в 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
Автор
Редакция

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

Как изменить или сбросить пароль в Hulu
Руководство

Как изменить или сбросить пароль в Hulu

Изменить email в Instagram быстро
Социальные сети

Изменить email в Instagram быстро

Сброс и защита пароля PlayStation Network
PlayStation

Сброс и защита пароля PlayStation Network

Разблокировать Android без пароля
Android.

Разблокировать Android без пароля

Сменить или сбросить пароль TikTok
Безопасность

Сменить или сбросить пароль TikTok

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

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