Как подключить тестовый репозиторий в Debian

Иногда нужная версия пакета оказывается в тестовой ветке дистрибутива. Например, информация о переходе на зимнее время в 2014 году в России появилась в tzdata версии 2014f. При этом apt предлагает поставить только 2014e.

apt-cache policy tzdata

tzdata:
Установлен: 2014c-0wheezy1
Кандидат: 2014e-0wheezy1
Таблица версий:
2014e-0wheezy1 0
500 http://ftp.ru.debian.org/debian/ wheezy/main i386 Packages
500 http://ftp.ru.debian.org/debian/ wheezy-updates/main i386 Packages
*** 2014c-0wheezy1 0
100 /var/lib/dpkg/status

Для подключения репозитория, добавляем в файл /etc/apt/sources.list информацию о тестовой ветке.

# Testing repository - main, contrib and non-free branches
deb http://ftp.ru.debian.org/debian/ testing main non-free contrib
deb-src http://ftp.ru.debian.org/debian/ testing main non-free contrib

# Testing security updates repository
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free

Чтобы не привести систему к непредсказуемому результату, задаем приоритеты репозиториям. Для этого надо отредактировать или создать (если нет) файл /etc/apt/preferences. Настройки также могут храниться в папке /etc/apt/preferences.d/, если она не пустая, то возможно файл лучше создать именно там.

Пример файла /etc/apt/preferences:

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Таким образом всем пакетам из стабильного репозитория мы задали вес 700, а пакетам из тестового – 650.

Обновляем кеш пакетов.

apt-get update

Проверяем

apt-cache policy tzdata

tzdata:
Установлен: 2014c-0wheezy1
Кандидат: 2014e-0wheezy1
Таблица версий:
2014h-1 0
650 http://ftp.ru.debian.org/debian/ testing/main i386 Packages
2014e-0wheezy1 0
700 http://ftp.ru.debian.org/debian/ wheezy/main i386 Packages
500 http://ftp.ru.debian.org/debian/ wheezy-updates/main i386 Packages
*** 2014c-0wheezy1 0
100 /var/lib/dpkg/status

Пакет из тестового репозитория можно поставить командой

apt-get install tzdata/testing

или командой

apt-get -t testing install tzdata