Давайте поближе познакомимся с источниками хранения пакетов в дистрибутивах Linux. Поговорим про то, что такое репозиторий, какие они бывают и научимся их добавлять в систему.
Что такое репозиторий?
Независимо от того, как вы устанавливаете программы в дистрибутиве (через Менеджер программ или посредством терминала), всегда происходит взаимодействие с репозиториями. Это сервера в сети Интернет, где хранятся файлы пакетов и необходимая для их использования информация. Распространение пакетов в Linux децентрализовано, так как нет единого центра хранения, вы можете использовать репозитории, которые заданы разработчиками дистрибутива, можете добавлять собственные.
Какие бывают репозитории?
Исходя из последнего предложения в прошлом пункте можно говорить о том, что существует основные (говоря иначе, официально поддерживаемые) и дополнительные (подключаемые) репозитории. Дистрибутив Linux имеет обычно несколько официальных репозиториев, где хранятся пакеты в зависимости от их отличительных признаков:
- Main - репозиторий для основного и полностью бесплатного ПО.
- Restricted - репозиторий, который хранит проприетарное (не свободно распространяемое) ПО, официально поддерживаемое разработчиками (например, драйвера видеокарт NVIDIA).
- Universe - репозиторий для хранения бесплатного ПО, которое поддерживает сообщество дистрибутива.
- Multiverse - в этом репозиторий расположено проприетарное ПО, которое дистрибутив официально не поддерживает.
Дополнительные репозитории доступны для подключения пользователем как при помощи терминала, так и при помощи Менеджера программ. Например, в Ubuntu и основанных на ней системах такие репозитории называются PPA (Personal Package Archive). Это репозитории, которые заводят разработчики программ, чтобы распространять их среди потенциальных пользователей.
Процесс взаимодействия с репозиториями
Так как репозиторий это сервер, то для взаимодействия к нему нужно подключиться. Сделано это просто, так как адрес репозитория выглядит, как адрес обычного сайта. Давайте посмотрим как взаимодействовать с репозиториями на примере Linux Mint 21.
Система хранит адреса всех имеющихся репозиториев в каталоге apt, который расположен в системной папке etc.
Как видно, внутри папки apt находится директория source.list.d, внутри которой расположен файл с официальными репозиториями Linux Mint. Для наглядного взаимодействия с репозиториями можно использовать также программу под названием Источник приложений.
Добавление новых репозиториев через терминал в Linux Mint осуществляется при помощи следующей команды:
sudo add-apt-repository –y ppa:atareao/telegram
В примере добавили в систему репозитории для установки мессенджера Telegram. После ppa: мы видим адрес репозитория в виде имени автора и его названия. Мы также можем посмотреть привычный пользователю адрес, на котором расположен данный репозиторий.
Как видим по адресу расположены файлы, которые при обращении к репозиторию копируются в систему. Чтобы добавить репозиторий через Источник приложений нужно также знать имя разработчика и название.
После добавления репозитория можно в Linux Mint установить Телеграмм. Помним, что для дистрибутивов на DEB-пакетной базе это делается при помощи команды apt install:
sudo apt install telegram
Обратите внимание, что пакетный менеджер при установке Телеграмма обратился к добавленному нами репозиторию.
Подведем итоги
По идее, начинающему пользователю не нужно с самого начала взаимодействовать с дополнительными репозиториями, так как большая часть программ имеется в официальных и доступна сразу после установки. Но по мере знакомства с системой и понимания того, как она работает нужно будет с репозиториями научится работать. Ну или хотя бы понимать, откуда в дистрибутиве берутся устанавливаемые программы.
Напомню также, что на канале есть подборка постов, посвященных установке программ в Linux, как при помощи графического интерфейса, так и через терминал. Отчасти в этих постах неоднократно поднималась тема репозиториев.
Форматы установочных файлов в Linux
Портативные приложения в Linux
Я есть Рут! Суперпользователь в Linux-дистрибутивах
Установка Linux-программ через терминал
Установка программ Linux из исходников
Сразу скажу, что это вводный материал, он не раскрывает всей подноготной работы с источниками приложений. Про многое поговорим в следующих постах на канале. Поэтому не забываем подписываться, ставить лайки и комментировать заметки.