Backports в Debian

Материал из ТХАБ.РФ
Перейти к: навигация, поиск

Backports в Debian - очень удобная штука, к которой часто в работе приходится обращаться. Данная статья имеет "заметочный" характер :) То есть публикуется как небольшая заметка для себя, чтобы каждый раз не лезть в поисковик. Ориентирована статья на Debian выпуска Squeeze и в будущих/предыдущих выпусках может быть неактуальна.

Что такое backports

backports - это официальный репозиторий (с Sept. 5th, 2010 (с)) Debian, который содержит бинарные пакеты в большей части из тестовой ветки дистрибутива (testing) и в меньшей - из нестабильного (unstable). Особенность этих пакетов в том, что они содержать более новые версии пакетов по сравнению со стабильной веткой, при этом, эти новые пакеты при установке не тянут за собой библиотеки из тестовой и нестабильной ветки Debian. Стоит с осторожностью использовать пакеты из backports, т.к. они не так хорошо оттестированы как пакеты из стабильной ветки и предоставляются "как есть". Для выполнения нижеописанного действия необходимы права root.

Использование репозитория backports в Debian Squeeze

Т.к. я работаю на Linux только в консоли, то я не затрону добавление репозиториев через графические инструменты. Такие как Synaptic и т.п.

Итак, для добавления backports репозитория необходимо отредактировать файл /etc/apt/sources.list (например с помощью vim), добавив в файл следующую строку:

backports ~ #  vim /etc/apt/sources.list
<...>
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
backports ~ # # далее обновляем кэш пакетов:
backports ~ # aptitude update
Из кэша: http://ftp.ru.debian.org squeeze Release.gpg
Игн http://ftp.ru.debian.org/debian/ squeeze/contrib Translation-en
<...>
Получено 510 kБ в 7с (72,7 kБ/с)

Текущее состояние: 811 новых [+810].

При добавлении репозитория, в конце строки содержатся 3 слова, которые указываются по желанию и имеют следующее значение:

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

сontrib — пакеты так же подчиняются принципам свободного программного обеспечения, но для удовлетворения их зависимостей нужны пакеты, не входящие в «main».

non-free — содержит пакеты, которые противоречат принципам свободного программного обеспечения или которые обременены патентами или другими юридическими тонкостями, что делает их распространение проблематичным. (например проприетарные драйвера NVIDIA)

Установка пакетов из backports

Все пакеты из репозитория backports по-умолчанию имеют меньший приоритет, нежели пакеты из основного репозитория. Это означает, что если пакет содержится в основном репозитории, то без явного указания - он будет установлен из основного репозитория. Если пакета нет в основном репозитории, но есть в backports, то установиться он из backports. При обновлении пакетов в репзитории и если пакет установлен из backports ... (??? откуда обновляется)

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

backports ~ # aptitude -t название_репозитория install название_пакета
backports ~ # # на примере пакета samba:
backports ~ # aptitude -t squeeze-backports install samba

Если используете apt-get, то замените aptitude на apt-get.


источник