Как использовать extrepo в Debian для управления сторонними репозиториями

Что, если я скажу вам, что в Debian есть замечательный инструмент, который избавляет вас от необходимости вручную настраивать дополнительные репозитории ПО? Когда вы захотите установить приложения, которые обычно не находятся в стандартных репозиториях – например, Google Chrome, Brave Browser или VS Code – он будет готов вам помочь. Речь идет об инструменте extrepo.

Что такое инструмент extrepo?

Инструмент Debian extrepo – это утилита командной строки, разработанная для того, чтобы облегчить и сделать более безопасным для пользователей включение внешних репозиториев, которые не являются частью официального архива Debian.

Другими словами, вместо того, чтобы вручную искать URL репозиториев, ключи GPG и инструкции по настройке – extrepo автоматизирует этот процесс, используя список проверенных источников, поддерживаемых проектом Debian.

Ключевая фраза здесь – список проверенных источников. Другими словами, extrepo не является каким-то волшебным инструментом, позволяющим установить абсолютно всё, о чём вы только можете мечтать. Вместо этого он предоставляет вам доступ к относительно небольшому набору репозиториев, которые разработчики Debian уже подготовили и протестировали для вашей конкретной версии Debian.

Чтобы посмотреть, что доступно, просто перейдите по этой ссылке, выберите свой выпуск Debian – скажем, Trixie – и просмотрите предопределённые репозитории ПО, которые он предлагает.

Как использовать инструмент extrepo в Debian

В своей основе extrepo работает с каталогом репозиториев сторонних разработчиков, хранящимся в /usr/share/extrepo/repos.d/. Этот каталог содержит метаданные о каждом репозитории, включая его имя, описание, URL, ключ подписи и любые специальные шаги по настройке. Теперь позвольте мне показать вам, как вы можете использовать его на практике.

Установка

Установка инструмента extrepo, который не входит в стандартную установку Debian, не может быть проще. Достаточно выполнить одну простую команду APT, и всё готово.

sudo apt install extrepo

Установка инструмента extrepo на Debian. Откройте файл /etc/extrepo/config.yaml в вашем любимом текстовом редакторе терминала. Найдите строки с - contrib и - non-free и удалите <em>#</em> в начале каждой строки, а также пробел, который следует за ним, затем сохраните изменения и закройте редактор.

sudo nano /etc/extrepo/config.yaml

Включите политики. Обновленный раздел должен выглядеть следующим образом:

---
url: https://extrepo-team.pages.debian.net/extrepo-data
dist: debian
version: trixie
To enable repositories that host software with non-DFSG-free licenses,
uncomment "contrib" and/or "non-free" in the list below.
enabled_policies:
- main
- contrib
- non-freeCode language: YAML (yaml)

Зачем мы это сделали? При использовании команды Debians extrepo файл /etc/extrepo/config.yaml определяет, какие категории репозиториев программного обеспечения инструмент может разрешить в вашей системе. По умолчанию разрешены только репозитории, помеченные как main, которые содержат свободное от DFSG программное обеспечение.

Однако если вы хотите получить доступ к репозиториям, которые относятся к категории contrib (свободные программы, зависящие от несвободных компонентов) или non-free (программы, не соответствующие рекомендациям Debian по свободному ПО, например, проприетарные драйверы или приложения), вы должны явно разрешить их в этом файле конфигурации.

Если вы не сделаете вышеупомянутые изменения, некоторые репозитории, такие как Google Chrome, VS Code и так далее, покажут сообщение о том, что они не могут быть добавлены в вашу систему.

Поиск внешних репозиториев

Теперь давайте рассмотрим, как искать конкретный репозиторий. Все, что вам нужно сделать, это выполнить команду extrepo search, за которой следует название программы. Например, если вы хотите узнать, доступен ли Google Chrome, выполните команду:

extrepo search google_chrome

Здорово, мы видим, что репозиторий браузера Google Chromes доступен. Однако сложность заключается в том, что мы не всегда знаем точное имя репозитория. Если вы введете его неправильно, команда extrepo может сообщить вам, что он не найден, хотя на самом деле он там есть.

Чтобы избежать этих проблем, гораздо более надёжным подходом является самостоятельный просмотр списка доступных репозиториев (после выбора нужного выпуска Debian). Так вы увидите точные имена и не столкнётесь с догадками.

Включение внешних репозиториев с помощью инструмента Debians extrepo Tool

Прежде чем вы сможете использовать репозиторий в Debian, вам нужно будет сначала добавить/включить его. Вот тут-то и пригодится команда extrepo enable. Например, вот как вы можете использовать её для установки репозитория Google Chrome.

sudo extrepo enable google_chrome

После успешного выполнения команды вы не увидите никаких результатов. Она автоматически настраивает официальный репозиторий Google для браузера Chrome, включая импорт ключа подписи.

Теперь обновите список программного обеспечения. Вы заметите, что новый репозиторий теперь доступен для apt, и вы сможете устанавливать из него программы.

sudo apt update

Репозиторий Google Chrome был добавлен и успешно включен в Debian. Итак, вы готовы к установке нужного вам программного обеспечения.

sudo apt install google-chrome-stable

Установка программного обеспечения из нового внешнего репозитория Debian.И наконец, для справки, сохранённые в репозитории GPG-ключи, используемые для проверки пакетов из внешних репозиториев, находятся в каталоге /var/lib/extrepo/keys.

Отключение внешних репозиториев с помощью инструмента Debians extrepo

Отключение неиспользуемых или ненадежных внешних репозиториев – это хорошая практика безопасности и стабильности. Это предотвращает ненужные обновления из внешних источников и гарантирует, что ваша система получает пакеты только из доверенных источников.

Отключение репозитория, ранее включенного с помощью команды extrepo, – довольно простая задача. Просто выполните приведенную ниже команду, а затем имя репозитория. Например, чтобы отключить внешнее хранилище Google Chrome:

sudo extrepo disable google_chrome

Как и опция enable, эта команда не показывает никаких результатов при выполнении. Но если вы проверите файл конфигурации репо, то увидите, что оно было отключено.

Отключение внешнего репозитория в Debian. Если вы хотите полностью удалить репозиторий, удалите его конфигурационный файл .source.

sudo rm /etc/apt/sources.list.d/extrepo_google_chrome.sources

Вы также можете удалить ключ GPG, который используется для подписи пакетов из этого репозитория.

sudo rm /var/lib/extrepo/keys/google_chrome.asc

Наконец, обновите информацию о пакетах в системе.

sudo apt update

Обновление метаданных репозитория

Со временем метаданные репозитория, на которые опирается extrepo, могут измениться – например, могут быть добавлены новые репозитории, обновлены существующие или изменены криптографические ключи. В этом случае на помощь приходит команда extrepo update.

sudo extrepo update

Она указывает extrepo обновить свою локальную базу данных доступных репозиториев. Имейте в виду, что при этом переписывается конфигурационный файл APT для всех репозиториев, а также связка ключей GPG для него.

Важное замечание: extrepo update не обновляет ваши системные пакеты (как это делает apt update); вместо этого он обновляет базу знаний extrepos о внешних репозиториях, чтобы у вас всегда были самые свежие определения для работы.

Заключение

Как видите, инструмент Debians extrepo призван облегчить жизнь при работе со сторонними репозиториями. Вместо того чтобы копаться в URL, ключах и инструкциях по настройке, вы получаете простой и надежный способ добавлять, обновлять и удалять дополнительные источники прямо из терминала.

Это безопасно, быстро и обеспечивает чистоту вашей системы, полагаясь на список проверенных репозиториев. Итак, если вы пользователь Debian, который любит расширять свою систему за пределы официальных архивов, extrepo – это утилита, которая должна быть в вашем наборе инструментов.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (2)

Автар по умолчанию