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

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

В этом руководстве вы узнаете два способа добавления репозитория apt в системах Ubuntu и Debian. 

Первый способ — с помощью add-apt-repositoryкоманды, а второй — вручную добавить репозиторий с помощью текстового редактора.

Подходящие источники

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

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

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

deb http://repo.tld/ubuntu distro component...

Копировать

  • Первая запись в строке определяет тип архива. Тип архива может быть либо 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каталоге. Команду также можно использовать для удаления уже существующего репозитория.

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

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

sudo apt update
sudo apt install software-properties-common

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

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

add-apt-repository [options] repository

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

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

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

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

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

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

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

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

sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

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

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

sudo apt install mongodb-org

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

sudo add-apt-repository --remove 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

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

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

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

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

sudo add-apt-repository ppa:jonathonf/ffmpeg-4

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

Press [ENTER] to continue or Ctrl-c to cancel adding it.

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

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

sudo apt install ffmpeg

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

Ручное добавление репозиториев

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

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

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

sudo nano /etc/apt/sources.list

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

/etc/apt/sources.list

deb https://apache.bintray.com/couchdb-deb bionic main

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

echo "deb https://apache.bintray.com/couchdb-deb $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list

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

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

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

curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -

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

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

sudo apt update

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

sudo apt install couchdb