08 августа 2016

Что такое репозитории и для чего они служат в Linux?

Персональные архивы пакетов или PPA (Personal Package Archives) - это и есть репозиторий (сервер-хранилище).
Репозиторий, хранилище — место, где хранятся и поддерживаются какие-либо данные. Чаще всего данные в репозитории хранятся в виде файлов, доступных для дальнейшего распространения по сети. Репозитории подразделяются на официальные и неофициальные. Большинство дистрибутивов Linux, имеют официальные репозитории.

Официальные репозитории.

Официальные репозитории создаются разработчиками дистрибутива для поддержания в актуальном и безопасном состоянии системы. Если вы откроете в Ubuntu текстовый файл но адресу: /etc/apt/sources.list, то найдёте в нём следующие строки:


Закомментированные строки (строки, перед которыми стоит знак решётки (#), считаются закомментированными), как правило не читаются системой, а служат для пояснения администратору системы (администратор системы - пользователь, который во время установки системы ввёл свой пароль) к действующему официальному репозиторию или той строке, которая раскомментирована (без знака решётки - #) и следует за описанием.

Для управления официальными репозиториями предназначена программа  Программы и обновления (Источники приложений), в вкладке Программное обеспечение Ubuntu:


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


Приложения отображённые в Менеджере приложений Ubuntu также находятся в официальных репозиториях, а это значит что они прошли проверку на совместимость и безопасность, и могут быть в любое время установлены в системе (по мере необходимости).


Неофициальные репозитории

К неофициальным репозиториям относятся хранилища файлов пакета/пакетов, созданные обычными пользователями, так называемые Собственные репозитории.

Для чего создаются Собственные (неофициальные) репозитории?

Предположим вы хотите установить дополнительно какую-то программу из Менеджера программ Ubuntu, но в нём более поздняя версия для установки, чем на официальном сайте программы или этой программы просто нет в Менеджере программ, но она существует.
Один из продвинутых пользователей Linux создаёт свой собственный репозиторий с актуальной версией программы, где учтены все зависимости пакета и их совместимость с системными файлами. Специально для создания собственного репозитория создана площадка/ресурс под названием launchpad.net.

Как установить программу из Неофициального репозитория?

Сделать это можно как графически, так и в терминале.

1. Терминальный вариант.

Если вы являетесь новичком или просто обычным пользователем Ubuntu, то скорее всего обратили внимание, что на сайтах подобных Compizomania, установка приложения иногда производится с помощью терминальных команд. Для примера я выбрал установку программы i-nex.
 I-Nex - это программа с графическим интерфейсом, позволяющая посредством вкладок  просмотр информации аппаратных устройствах вашего компьютера, пдкючённых устройствах стационарного компьютера: мышь, клавиатура и т.д., а также об установленной системе, используемом ядре, оперативной памяти и многом другом.


Данной программы нет в Менеджере программ, поэтому как один из возможных способов её установки, это установка с помощью терминальных команд и подключения стороннего репозитория:

sudo add-apt-repository ppa:i-nex-development-team/daily
sudo apt update
sudo apt install i-nex


Разберём эти команды по порядку.

Первая команда sudo add-apt-repository ppa:i-nex-development-team/daily  подключает репозиторий программы (выделено красным), созданный непосредственно разработчиком.

Вторая команда sudo apt update, делает обновление системных файлов.

И третья команда sudo apt install i-nex, служит для непосредственной установки пакета i-nex.

 2. Графический вариант.

Графический вариант подключения репозитория и установки программы, делает тоже самое, только "в картинках", т.е. в окнах приложений.

Прежде всего заходим на launchpad.net, вводим в поиск название программы и нажимаем кнопку Search Launchpad:


Выбираете нужный репозиторий:


Просматриваете совместимость репозитория с вашим дистрибутивом и копируете название репозитория:


Откройте Программы и обновления, вкладка Другое ПО, нажмите кнопку Добавить, в Строку APT вставьте скопированный репозиторий  и Добавить источник:


После ввода пароля, добавленный сторонний репозиторий отобразится в перечне уже добавленных (если вы ранее добавляли неофициальные репозитории).  Нажмите кнопку Закрыть.


И обновите системные файлы:


Остаётся последнее, установить саму программу:

sudo apt install i-nex

Примечание. Все подключёные Неофициальные репозитории отображаются в приложении Программы и обновления, в вкладке Другое ПО. Независимо от того, как вы их подключали, посредством терминала или графически. А также в папке по адресу: /etc/apt/sources.list.d.



Заключение.

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

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

Но в то же время Неофициальный репозиторий может иметь "подводные камни", которые порой приводят к сбоям в системе.

Отчего это происходит?

1. Прежде всего, несмотря на благие намерения пользователя, создавшего репозиторий, он не всегда может быть компетентен в вопросах совместимости и безопасности создаваемых пакетов в репозитории, что приводит порой к конфликту пакетов и сбою в системе.
2. Создатель собственного (неофициального) репозитория программы может просто забросить свой проект, потешив своё самолюбие, победой над собой. И тогда в последующих версиях дистрибутива вы не сможете устанавливать программы из этого репозитория.

Будьте осторожны с Неофициальными репозиториями и подключайте только те, которые проверены сообществом и вами. А для установки программного обеспечения лучше пользоваться Менеджером программ, хотя там не всегда можно найти актуальную версию программы.

Удачи.