Как подключить Backports в Debian?

Если вы пользуетесь стабильным выпуском дистрибутива Debian, то знаете, что в нём присутствуют пакеты только определённой версии. Например, php 5.6. И, пока не будет обновлён сам дистрибутив в этой ветке, вы не сможете установить более свежую версию ПО…

Как подключить Backports в Debian?

…До тех пор, пока не подключите дополнительный, но официальный репозиторий пакетов backports. Он предоставляет более новые версии определённых пакетов. Например, если в стандартном репозитории располагается nginx версии 1.6.2, то из backports вы можете установить версию 1.9.10, включающую в себя множество необходимых улучшений.

Чтобы добавить этот репозиторий, необходимо в каталоге /etc/apt/sources.list.d/ создать файл backports.list и прописать там единственную строку:

deb http://ftp.ru.debian.org/debian jessie-backports main

Или любое другое ближайшее к вашему серверу зеркало.

Всё это дело можно выполнить одной командой:

echo -e "deb http://packages.dotdeb.org jessie allndeb-src http://packages.dotdeb.org jessie all" > /etc/apt/sources.list.d/dotdeb.list

Затем обновить список доступных пакетов: aptitude update.

Пакеты из репозитория backports не будут устанавливаться по-умолчанию, как самые свежие версии. Их установку нужно выполнять командой:

aptitude install -t jessie-backports packagename

Где, вместо «packagename», нужно указать имя пакета.

Обновление уже установленных пакетов из ветки stable на ветку jessie-backports производится той же самой командой.

Конфликты с другими репозиториями

Конфликт может возникнуть, например, при использовании репозитория dotdeb. В моём случае, понадобилась установка только php7. Но при полном обновлении командой aptitude upgrade из репозитория dotdeb тянется nginx другой версии.

Всё было бы неплохо, если бы не факт, что nginx в dotdeb собран без поддержки openssl 1.0.2h. А это нужно для работы ALPN.

Выход из этой ситуации следующий: для пакетов из dotdeb, которые не требуется обновлять, следует понизить приоритет. Создаём файл dotdeb в каталоге /etc/apt/preferenses.d/ и прописываем туда содержимое:

Package: nginx* Pin: origin packages.dotdeb.org Pin-Priority: -10

В примере — nginx. Но его можно заменить на имя другого пакета.

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

Рекомендуем статьи по теме