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.


источник