Linux команда добавления репозитория

Как добавлять репозитории программ и ключи подписей в Linux?

У начинающих пользователей Linux часто возникает вопрос, каким же образом установить какое-либо программное обеспечение (ПО), которого нет в стандартных репозиториях дистрибутива? Такая необходимость возникает по нескольким причинам. Например, необходимо использовать самую актуальную версию ПО в то время как в репозиториях всё ещё имеется более старая. Или же нужно использовать экзотические программные продукты, поддержка которых изначально не предусмотрена разработчиками дистрибутива. В данной статье будет изложено на некоторых примерах, каким образом добавлять репозитории в Linux и устанавливать стороннее ПО для Debian-систем, таких, как Ubuntu.

Концепция репозиториев программ в Linux

Как известно, философия распространения и поддержки ПО в Linux основана на репозиториях — специализированных хранилищах пакетов, содержащих файлы какого-либо ПО. Эти хранилища могут быть как удалёнными, так и локальными. Практически любой дистрибутив Linux снабжается стандартными репозиториями. Которые, в свою очередь, содержат ПО, собранное, оптимизированное и протестированное для данного дистрибутива. Доступ к репозиториям осуществляется с помощью систем управления пакетами (СУП), также специфичными для каждого дистрибутива. Например, для систем Ubuntu, да и вообще для Debian-ориентированных дистрибутивов в качестве стандартной СУП является утилита APT. Любая СУП позволяет (во всяком случае должна) искать, устанавливать, удалять пакеты, очищать их конфигурацию, определять зависимости и как не трудно догадаться — добавлять и удалять репозитории. Для всех перечисленных задач можно использовать как командную оболочку, так и графические утилиты с удобным и наглядным пользовательским интерфейсом.

Для обеспечения безопасности пользователей репозитории должны подписываться ключами шифрования. Чтобы гарантировать, что установка пакетов ПО производится из надёжного источника. Владельцы репозиториев, подписав его своим закрытым ключом, выкладывают в общий доступ соответствующий открытый ключ для этого репозитория. Открытый ключ необходим для добавления удалённого подписанного репозитория, это контролируется средствами СУП. Как правило, открытый ключ необходимо импортировать отдельно. На первый взгляд это не очевидно, однако необходимо для обеспечения безопасности системы.

Добавление репозиториев в командной оболочке

Как это ни странно, но эффективнее и удобнее производить управление репозиториями из командной оболочки. Как правило, в Debian-системах используется СУП APT, поэтому все представляемые далее команды будут относиться к этой системе управления пакетами.

Пусть требуется добавить репозиторий для загрузки и установки интегрированной среды разработки «CodeLite». Информацию о репозитории и даже исчерпывающие инструкции по его настройке в системе приведены на официальной странице Wiki проекта. Итак, с помощью команды apt-add-repository (используя sudo) нужно добавить адрес репозитория. Эта команда попытается добавить соответствующую запись в файл /etc/apt/sources.list :

Здесь следует обратить внимание на ту часть записи, в которой указывается версия дистрибутива (bionic), в данном случае это Ubuntu 18.04 Bionic Beaver. Для каждой из версий существуют свои особенности в сборке ПО и формировании для неё пакетов. Обычно разработчики делают сборки для нескольких версий дистрибутивов и указывают соответствующие ссылки для них. Это следует учитывать, иначе пакеты могут быть некорректно установлены.
Далее необходимо обновить индекс базы данных состояния пакетов, поскольку был добавлен новый репозиторий:

Читайте также:  Мигающая строка при запуске windows

Теперь можно установить и сам пакет codelite:

В данном примере намеренно сначала добавляется репозиторий без импорта открытого ключа, чтобы продемонстрировать, что в случае отсутствия такого ключа APT заблокирует установку пакетов. При этом будет выдано соответствующее сообщение, предупреждающее, что репозиторий является непроверенным. О том, как добавлять ключи при настройке репозиториев, рассказывается в главе «Добавление ключей подписей репозиториев».

Необходимо также отметить, что вся информация о репозиториях для систем Ubuntu (а также и сами пакеты, которые можно найти и скачать вручную) хранится на ресурсе https://launchpad.net/. Хотя поиск и ручная навигация по данному ресурсу не самые удобные, но при желании найти то, что нужно вполне возможно. Например, страница с информацией о репозитории пакета yd-tools (графический индикатор для утилиты Яндекс.Диск) выглядит следующим образом:

Рис. 1: Сводная информация о репозитории на ресурсе launchpad.net для систем Ubuntu.

Как можно видеть, в данном случае выбрана ветка репозитория для версии Ubuntu 18.04 и соответствующие ей ссылки для загрузки готовых пакетов (и если нужно, также и архивов с исходными кодами) необходимо добавлять в файл /etc/apt/sources.list . Также указан отпечаток (Fingerprint — открытый ключ) для данного репозитория.

Использование графических утилит

В данном случае добавление репозиториев происходит далеко не так быстро, как в консоли. Но для новичков и малоопытных пользователей данный способ гораздо более прост и нагляден. В Ubuntu существуют различные менеджеры пакетов, такие как Muon (в основном для KDE), Synaptic (для любых окружений рабочего стола), а также стандартная графическая утилита «Программы и обновления» для окружения Unity. Все перечисленные инструменты объединяет наличие в главном меню пункта для настройки «Источников ПО» или «Другого ПО». Например, для Muon это выглядит так:

Рис. 2: Доступ к редактированию списка репозиториев в Muon для KDE

Редактирование списка репозиториев в Muon:

Рис. 3: Диалог для редактирования списка репозиториев в Muon.

То же самое, но с использованием Synaptic. Доступ к редактированию репозиториев осуществляется через меню «Настройки» и далее, пункт «Репозитории»:

Рис. 4: Диалог управления репозиториями в Synaptic.

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

Добавление ключей подписи репозиториев

Как уже было отмечено выше, в целях обеспечения безопасности пользователей, для загрузки пакетов из репозиториев необходимо импортировать в свою систему открытый ключ для этого репозитория. Если этого не сделать, то загрузка и установка пакетов будет временно заблокирована. А при попытке всё же их установить будет выдано сообщение примерно следующего вида:

Чтобы добавить нужный открытый ключ необходимы 3 вещи:

  1. Сам ключ (или последние его 8 символов), в данном случае это BE80DFE08E782DB0;
  2. Результат запроса к серверу ключей, на котором хранится закрытая часть ключа;
  3. Данные для добавления в систему открытого ключа.
Читайте также:  Слетает dns windows 10

Для второго пункта необходимо выполнить команду gpg с ключом «—keyserver». В качестве адреса нужно передать «keyserver.ubuntu.com»:

Данный вывод говорит о том, что запрос выполнен успешно. И теперь все необходимые данные для формирования открытого ключа есть. Теперь необходимо из данного набора данных выполнить экспорт открытой части ключа. И далее, добавить её в базу СУП APT. Это выполняется двумя командами, но удобнее их объединить сразу в один конвейер:

Теперь ключ добавлен и СУП сможет работать с репозиторием. Как видно, для добавления ключа использовалась команда APT apt-key add.
В заключение важно отметить, что при работе с ключами активно используется утилита gpg. Её значение для обеспечения безопасности и защиты данных среди свободных инструментов сложно переоценить. Умение работать с GPG, как можно видеть, существенно упрощает и работу с APT.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Как добавить репозиторий Apt в Ubuntu

При установке пакетов с помощью Центра программного обеспечения Ubuntu или утилит командной строки, таких как apt или apt-get пакеты загружаются из одного или нескольких репозиториев программного обеспечения apt. Репозиторий APT — это сетевой сервер или локальный каталог, содержащий пакеты deb и файлы метаданных, которые доступны для чтения инструментами APT.

Хотя в репозиториях Ubuntu по умолчанию доступны тысячи приложений, иногда вам может потребоваться установить программное обеспечение из стороннего репозитория.

В этом руководстве мы покажем вам два способа добавления репозитория apt в системах Ubuntu и Debian. Первый метод заключается в использовании команды add-apt-repository а второй — вручную добавить репозиторий с помощью текстового редактора.

Источники Apt

В Ubuntu и всех других дистрибутивах на основе Debian репозитории программного обеспечения apt определены в файле /etc/apt/sources.list или в отдельных файлах в каталоге /etc/apt/sources.list.d/ .

Имена файлов репозитория в каталоге /etc/apt/sources.list.d/ должны заканчиваться на .list .

Общий синтаксис файла /etc/apt/sources.list имеет следующий формат:

  • Первая запись в строке определяет тип архива. Тип архива может быть deb или deb-src . Deb подразумевает, что репозиторий содержит пакеты .deb а deb-src подразумевает пакеты с исходным кодом.
  • Вторая запись — это URL-адрес репозитория.
  • Третья запись указывает кодовое имя распространения, например beaver, xenial и так далее.
  • Последние записи — это компоненты или категории репозитория. Репозитории Ubuntu по умолчанию разделены на четыре компонента: основной, ограниченный, вселенная и мультивселенная. Как правило, сторонние репозитории имеют только одну категорию.

Формат файлов в каталоге /etc/apt/sources.list.d/ такой же, как и для обычного файла sources.list .

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

Чтобы иметь возможность добавлять или удалять репозиторий, вам необходимо войти в систему как пользователь с доступом sudo или root.

Обычно инструкции по включению определенного репозитория включены в документацию по программному обеспечению.

Установка add-apt-repository (команда add-apt-repository не найдена)

add-apt-repository — это скрипт Python, который позволяет вам добавить репозиторий APT в /etc/apt/sources.list или в отдельный файл в каталоге /etc/apt/sources.list.d . Команду также можно использовать для удаления уже существующего репозитория.

Читайте также:  Значок wifi с крестиком windows

Если add-apt-repository недоступен в вашей системе, вы получите сообщение об ошибке «Команда add-apt-repository не найдена».

Утилита add-apt-repository включена в software-properties-common . Для его установки выполните следующие команды:

Добавление репозиториев с помощью add-apt-repository

Базовый синтаксис команды add-apt-repository следующий:

Где repository может быть либо обычной записью репозитория, которую можно добавить в файл sources.list например, deb http://repo.tld/ubuntu distro component либо репозиторий PPA в формате ppa: /

Чтобы увидеть все доступные параметры команды add-apt-repository введите в своем терминале man add-apt-repository .

По умолчанию в ubuntu 18.04 и новее add-apt-repository также обновляет индекс пакета, если открытый ключ репозитория импортируется.

Индекс пакетов — это база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.

Допустим, вы хотите установить MongoDB из официальных репозиториев.

Сначала импортируйте открытый ключ репозитория:

Добавьте репозиторий MongoDB, используя команду ниже.

Репозиторий будет добавлен в файл sources.list .

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

Если по каким-либо причинам вы хотите удалить ранее включенный репозиторий, используйте параметр —remove :

Добавление репозиториев PPA

Персональные архивы пакетов (PPA) — это служба, которая позволяет пользователям загружать исходные пакеты Ubuntu, которые создаются и публикуются с помощью Launchpad в качестве подходящего репозитория.

При добавлении репозитория PPA команда add-apt-repository создает новый файл в каталоге /etc/apt/sources.list.d/ .

Например, чтобы добавить PPA Джонатона F, который предоставляет FFmpeg версии 4.x, вы должны запустить:

При появлении запроса нажмите Enter , и репозиторий будет включен.

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

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

Команда apt установит пакет и все его зависимости.

Добавление репозиториев вручную

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

Для демонстрации мы включим репозиторий CouchDB и установим программное обеспечение. CouchDB — это бесплатная отказоустойчивая база данных NoSQL с открытым исходным кодом, поддерживаемая Apache Software Foundation.

Чтобы добавить репозиторий, откройте файл sources.list текстовом редакторе :

Добавьте строку репозитория в конец файла:

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

$(lsb_release -cs) выведет кодовое имя Ubuntu. Например, если у вас Ubuntu версии 18.04, команда напечатает bionic .

Другой вариант — создать новый файл репозитория в каталоге /etc/apt/sources.list.d/ .

При ручной настройке репозитория вам также необходимо вручную импортировать ключ публичного репозитория в вашу систему. Для этого используйте wget или curl :

Приведенная выше команда должна вывести OK что означает, что ключ GPG был успешно импортирован и пакеты из этого репозитория будут считаться доверенными.

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

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

Выводы

Мы показали вам, как добавлять репозитории APT в Ubuntu. Те же инструкции применимы к любому дистрибутиву на основе Debian, включая Kubuntu, Linux Mint и Elementary OS.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Оцените статью