Інструмент extrepo в Debian для спрощення роботи з репозиторами

Що якби я сказав, що Debian має чудовий інструмент, який позбавляє вас від складнощів ручного налаштування додаткових програмних репозиторіїв? Коли ви хочете встановити програми, які зазвичай не доступні в стандартних репозиторіях — як Google Chrome, Brave Browser або VS Code — він готовий допомогти вам. Йдеться про інструмент extrepo.

Що таке інструмент extrepo?

Інструмент extrepo в Debian – це утиліта командного рядка, створена для спрощення та обезпечення процесу активації зовнішніх репозиторіїв, які не є частиною офіційного архіву Debian.

Іншими словами, замість того, щоб самостійно шукати URL репозиторіїв, GPG ключів та інструкції з налаштування, extrepo автоматизує процес, використовуючи кураторський список перевірених джерел, підтримуваних проектом Debian.

Ключове тут — “кураторський список перевірених джерел”. Іншими словами, extrepo не є магічним інструментом, що дозволяє вам встановлювати абсолютно будь-що. Натомість він забезпечує доступ до відносно невеликої кількості репозиторіїв, які вже підготовлені і протестовані для вашої конкретної версії Debian.

Щоб дізнатися, що доступно, просто перейдіть за цим посиланням, виберіть свою версію Debian — наприклад, Trixie — і ознайомтесь з попередньо визначеними програмними репозиторіями.

Як використовувати інструмент extrepo в Debian

Основою extrepo є каталог сторонніх репозиторіїв, збережених у “/usr/share/extrepo/repos.d/”. Цей каталог містить метадані про кожен репозиторій, включаючи його назву, опис, URL, ключ підпису та будь-які спеціальні кроки налаштування. Тепер я покажу, як ви можете використовувати це на практиці.

Встановлення

Встановлення інструменту extrepo, який не входить у стандартну установку Debian, надзвичайно просте. Вам потрібно лише виконати одну просту команду APT, і ви готові.

sudo apt install extrepo

Відкрийте файл “/etc/extrepo/config.yaml” у своєму улюбленому текстовому редакторі. Знайдіть рядки з “– contrib” і “– non-free”, і видаліть “#” на початку кожного рядка разом з пробілом, що йде за ним. Потім збережіть зміни та закрийте редактор.

sudo nano /etc/extrepo/config.yaml

Оновлений розділ повинен виглядати так:

---
url: https://extrepo-team.pages.debian.net/extrepo-data
dist: debian
version: trixie
# Для активації репозиторіїв, що містять програмне забезпечення з не-DFSG-вільними ліцензіями,
# розкоментуйте "contrib" і/або "non-free" у списку нижче.
enabled_policies:
- main
- contrib
- non-free

Чому ми це зробили? Коли ви використовуєте команду extrepo в Debian, файл “/etc/extrepo/config.yaml” визначає, які категорії програмних репозиторіїв інструмент може активувати на вашій системі. За замовчуванням дозволені лише репозиторії, позначені як “main”, які містять програми, вільні від DFSG.

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

Знаходження зовнішніх репозиторіїв

Тепер давайте подивимося, як шукати конкретний репозиторій. Все, що вам потрібно зробити, це виконати команду extrepo search, слідом за назвою програмного забезпечення. Наприклад, якщо ви хочете дізнатися, чи доступний Google Chrome, ви виконаєте:

extrepo search google_chrome

Чудово, ми можемо побачити, що репозиторій браузера Google Chrome доступний. Проте складною частиною є те, що ми не завжди знаємо точну назву репозиторію. Якщо ви помилитесь у написанні, команда extrepo може сказати вам, що його не знайдено, хоча він насправді є.

Щоб уникнути цієї плутанини, набагато надійнішим варіантом є самостійно переглянути список доступних репозиторіїв (після вибору відповідної версії Debian). Так ви побачите точні назви та уникнете здогадок.

Активація зовнішніх репозиторіїв з інструментом extrepo в Debian

Перед тим, як ви зможете використовувати репозиторій на Debian, вам потрібно спершу його додати/активувати. Для цього ми використовуємо команду extrepo enable. Наприклад, ось як ви б його використовували для налаштування репозиторію Google Chrome.

sudo extrepo enable google_chrome

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

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

sudo apt update

Отже, ви готові встановити необхідне програмне забезпечення.

sudo apt install google-chrome-stable

Наостанок, для вашої інформації, збережені GPG ключі репозиторію, які використовуються для перевірки пакетів з цих зовнішніх репозиторіїв, знаходяться в каталозі “/var/lib/extrepo/keys”.

Вимкнення зовнішніх репозиторіїв з інструментом extrepo в Debian

Вимкнення непотрібних або ненадійних зовнішніх репозиторіїв — це добра практика з точки зору безпеки та стабільності. Це запобігає непотрібним оновленням з зовнішніх джерел і забезпечує, що ваша система отримує пакети тільки з надійних джерел.

Вимкнення репозиторію, раніше активованого за допомогою команди extrepo, є досить простим завданням. Просто виконайте команду нижче, за якою слідує ім’я репозиторію. Наприклад, щоб вимкнути зовнішній репозиторій Google Chrome:

sudo extrepo disable google_chrome

Як і опція “enable”, команда не показує жодного виводу при виконанні. Але якщо ви перевірите файл конфігурації репозиторію, ви побачите, що він був вимкнений.

Якщо ви хочете повністю видалити репозиторій, просто видаліть його конфігураційний файл “.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); натомість вона оновлює базу знань extrepo про зовнішні репозиторії, щоб ви завжди мали свіжі визначення для роботи.

Висновок

Отже, ви можете побачити, що інструмент extrepo в Debian спрямований на спрощення життя при роботі з сторонніми репозиторіями. Замість того щоб шукати URL-адреси, ключі та інструкції з налаштування, ви отримуєте простий, надійний спосіб додавати, оновлювати та видаляти додаткові джерела безпосередньо з терміналу.

Це безпечно, швидко, і це допомагає тримати вашу систему в чистоті, спираючись на кураторський список перевірених репозиторіїв. Якщо ви користувач Debian, який хоче розширити свою систему за межі офіційних архівів, extrepo — це утиліта, яку ви захочете мати у своєму арсеналі.

Для отримання додаткової інформації відвідайте сторінку man в офіційній документації Debian.

Дякую за вашу увагу! Сподіваюся, ви знайдете цей посібник корисним. Як завжди, буду вдячний за будь-які відгуки.