При установке пакетов с помощью Ubuntu Software Center или таких утилит командной строки, как apt
или apt-get
пакеты загружаются из одного или нескольких репозиториев apt. Хранилище 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 дистрибутив компонент
- Первая запись в строке определяет тип архива. Тип архива может быть как deb, так и deb-src . Deb подразумевает, что репозиторий содержит
.deb
пакеты, а deb-src подразумевает пакеты с исходным кодом. - Вторая запись – это URL хранилища.
- Третья запись указывает кодовое имя дистрибутива, например, beaver, xenial и так далее.
- Последние записи являются компонентами или категориями репозитория. Репозитории Ubuntu по умолчанию разделены на четыре компонента – main, restricted, universe и multiverse. Как правило, сторонние репозитории имеют только одну категорию.
Формат файлов в /etc/apt/sources.list.d/
каталоге такой же, как и для обычного sources.list
файла.
Большинство репозиториев предоставляют открытый ключ для аутентификации загруженных пакетов, которые необходимо загрузить и импортировать.
Чтобы иметь возможность добавить или удалить хранилище, вы должны войти в систему как пользователь с доступом sudo или root. Обычно инструкции о том, как добавить определенный репозиторий, включены в документацию программного обеспечения.
Установка add-apt-repository.
add-apt-repository
– это скрипт на Python, который позволяет вам добавить репозиторий APT в отдельный файл/etc/apt/sources.list
в каталоге /etc/apt/sources.list.d
Команду также можно использовать для удаления уже существующего хранилища.
Если эта опция add-apt-repository
недоступна в вашей системе, вы получите сообщение об ошибке «команда add-apt-repository not found».
Утилита 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 в формате.: <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
Мы рассмотрели как добавить подходящие репозитории в Ubuntu. Те же инструкции применимы к любому дистрибутиву на основе Debian, включая Kubuntu, Linux Mint и Elementary OS.