Ubuntu из коробки умеет тянуть пакеты из своих репозиториев, но иногда тебе нужен софт, которого там нет или он там в каменном веке. Решение одно — подключить сторонний репозиторий. Делается это либо через add-apt-repository, либо руками через sources.list и ключи GPG.

APT живёт пакетами из репозиториев. По умолчанию — официальные Ubuntu-хранилища. Но если хочешь что-то свежее или специфичное, нужно подключать внешний источник.

Репозитории прописываются либо в /etc/apt/sources.list, либо отдельными файлами .list в /etc/apt/sources.list.d/.

1. Проверка и установка add-apt-repository

add-apt-repository — питоновский скрипт, который умеет подключать и удалять репозитории. Если команда не найдена — ставим:

sudo apt update
sudo apt install software-properties-common

2. Добавление репозитория через add-apt-repository

Формат команды:

sudo add-apt-repository 'deb [options] URL DISTRO COMPONENTS' 

Пример — MongoDB:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
sudo apt update
sudo apt install mongodb-org

Удалить репозиторий:

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

3. PPA — персональные репозитории

Пример: свежий FFmpeg от Jonathon F:

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

PPA автоматически создают .list в /etc/apt/sources.list.d/ и тянут свой GPG-ключ.

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

Иногда проще и быстрее сделать руками. Можно открыть /etc/apt/sources.list в nano:

sudo nano /etc/apt/sources.list

И добавить строку, например для CouchDB:

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

Или сразу через echo:

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

5. Импорт ключа

Без ключа APT будет ругаться на недоверенный источник.

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

Если в ответ OK — ключ в системе.

6. Обновление индекса и установка

После добавления репозитория всегда:

sudo apt update

Дальше можно ставить софт:

sudo apt install couchdb

Итог

Добавить репозиторий в Ubuntu можно двумя способами: быстро через add-apt-repository или вручную, если хочешь полный контроль. Главное — не забывать про ключи и apt update, иначе система будет смотреть на твой новый репозиторий, как на подозрительную коробку на вокзале.