Debian testing как установить

Обновлено: 05.07.2024

Для любого сервера необходимо иметь возможность оперативно получить актуальное свежее программное обеспечение. Я расскажу, как настраивать список репозиториев в Debian - добавлять, удалять, редактировать разные repository в sources.list. Разберем внимательно эту тему, обратив внимание на различные нюансы, которые присутствуют, как и в любом другом деле.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Данная статья является частью единого цикла статьей про сервер Debian.

Цели статьи

  1. Рассмотреть различные ветки официальных репозиториев.
  2. Подробно рассказать, как настраивать репозитории в debian.
  3. Показать на примере, как настроить локальный репозиторий.
  4. Составить список актуальных репозиториев для старых версий Debian.

Введение

В первую очередь расскажу, что такое репозиторий (repository) своими словами. В общем случае это место, где хранятся и поддерживаются какие-то данные. Применительно к операционным системам и конкретно к Debian, репозиторий - это файловый сервер, который хранит у себя пакеты для установки на операционную систему . Это могут быть как пакеты программ, так и обновлений для сервера в виде новых ядер, системных утилит и т.д.

Существуют repository не только для операционных систем, но и для программ. Там могут быть как уже скомпилированные и готовые к установке пакеты, так и исходные коды программных продуктов. Большинство репозиториев содержат готовые пакеты. Это относится и к стандартным репозиториям Debian.

Помимо официальных списков реп (транскрипция от сокращения repo), есть сторонние, которые поддерживают производители программ либо энтузиасты. Нужно внимательно относиться к сторонним репозиториям, не добавлять их бездумно. Там может располагаться любое ПО, в том числе не то, что заявлено изначально. Либо они могут быть взломаны для размещения вредоносных программ.

Управлением пакетами и работой с repository lists в Debian занимаются отдельные утилиты:

  • apt
  • apt-get
  • synaptic
  • aptitude и др.

В данной статье мы не будем рассматривать их отличия, так как это тема отдельного повествования. Все они работают со стандартным списком источников, который в общем случае располагается в /etc/apt/sources.list.

Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:

Список репозиториев в sources.list

Изначально, содержимое sources.list будет зависеть от того, какой источник для пакетов вы выбрали во время установки debian. К примеру, в моем случае для системы Debian 10 он выглядит следующим образом.

Репозитории Debian в sources.list

Для Debian 11 bullseye немного изменился формат записи для репозитория security. Теперь он выглядит так:

Репозитории Debian 11 Bullseye

В общем случае файл sources.list имеет следующую структуру:

deb и deb-src тип архива, бинарные пакеты (deb) или пакеты с исходным кодом (deb-src)
http://site.example.com/debian url репозитория
distribution псевдоним релиза (bullseye, buster, stretch и т.д.), либо класс релиза (stable, oldstable и т.д.)
component main, contrib или non-free набор пакетов

Про псевдонимы релизов и наборы пакетов мы поговорим ниже более подробно в соответствующем разделе.

Помимо основного файла sources.list, репозитории могут располагаться в отдельных файлах в директории /etc/apt/sources.list.d. Формат файлов такой же, как и у основного. Обычно туда добавляют отдельно в каждый файл набор источников для какой-то определенной программы. Например, proxmox размещает в отдельном файле свой платный репозиторий.

Типы официальных репозиториев в Debian

Как я уже показал выше, в sources.list используются псевдонимы, либо классы релиза, а так же разные ветки наборов пакетов. С псевдонимами релизов все понятно. Они названы в честь персонажей мультфильма История игрушек (Toy story) - Wheezy, Jessie, Stretch, Buster, Bullseye и т.д. А вот насчет классов релизов поговорим отдельно. Существуют следующие официальные классы релизов Debian.

Stable

Стабильная ветка официального текущего релиза Debian. То есть это самая свежая и актуальная версия, которую рекомендуется использовать. Официальный репозиторий стабильной ветки содержит проверенный набор программ, зачастую не очень свежих версий. Это плата за надежность. В production рекомендуется использовать пакеты именно из репозитория stable.

В этом репозитории регулярно публикуются все актуальные обновления текущего релиза. Он формируется из ветки Testing, которая в момент релиза новой версии превращается в Stable.

Oldstable

Oldstable - кодовое имя предыдущего stable repository. Для этого репозитория выпускаются обновления безопасности. Ветка Oldstable формируется из Stable предыдущего релиза на момент публикации нового.

Testing

Testing содержит в себе текущее состояние разработки нового стабильного релиза. После его выхода, testing становится stable. Пакеты в testing попадают из репы unstable. В общем случае использовать репозиторий testing следует только для тестовых целей, чтобы посмотреть на новый релиз.

Для этого можно сделать чистую установку текущего релиза, затем изменить repo со stable на testing и обновиться. Вы получите свежую версию тестового релиза, который готовится к выпуску.

Unstable (sid)

Sid это repository с самым свежим программных обеспечением. Проблема только в том, что оно еще не протестировано достаточным образом для использования. Если вы точно уверены, что вам нужен новый софт и он не сломает вам систему, можете поставить его из unstable репозитория. Но в общем случае, делать это не рекомендуется.

Даже если софт из unstable не повредит работе системы, он может нарушить зависимости пакетов, так что потом может быть затруднительно вернуться на stable repo.

Experimental

Experimental repository содержит пакеты и утилиты, которые в данный момент только разрабатываются и находятся в состоянии alpha версии. Этот репозиторий предназначен только для разработчиков и тестировщиков. Если будете его использовать в рабочей системе, с большой долей вероятности, сломаете ее.

Backports

Backports repository выступает как некий компромисс между стабильностью основной ветки и свежим набором программ из ветки testing. Репозиторий backports содержит пакеты преимущественно из testing и немного из unstable (только для обновлений безопасности).

Пакеты из backports там, где это возможно, устанавливаются без новых библиотек, которых нет в стабильной версии. Это сделано, чтобы можно было с большей вероятностью опять вернутся на stable, в случае необходимости.

Если вам нужен софт из веток testing и unstable, лучше использовать backports. Репозиторий создан как раз для того, чтобы не прыгать между этими ветками.

Это все, что касается деления репозиториев по классам релизов. Есть еще небольшое разделение, которое явно нигде не описано и сразу не догадаешься, как оно работает и устроено.

Важное замечание. Я не рекомендую в качестве репозиториев указывать классы релизов - stable, oldstable и т.д. Всегда явно указывайте название релиза - bullseye, buster, stretch и т.д. Иначе в случае выхода нового релиза, вы при обычном обновлении получите обновление релиза, даже если не собирались его обновлять.

Security updates

Существует отдельный репозиторий только для security updates. Добавить его можно следующим образом:

Смысл этого repo в том, что сюда попадают только обновления безопасности и ничего другого. Вы можете настроить автоматическую установку пакетов из этого репозитория и не переживать о том, что что-то сломается. обновления сюда попадают максимально быстро после выпуска исправлений.

Stable-updates

Еще один отдельный репозиторий для установки пакетов через механизм stable-updates. Добавить его можно следующим образом.

Через этот repository вы будете по мере выпуска получать обновления, которые готовятся к публикации в очередном обновлении релиза. Так называемые Point Releases - 10.1, 10.2 и т.д. Случаются они не часто, примерно раз в 2-3 месяца, но проверенные для них обновления можно получить ранее как раз с помощью stable-updates.

Ветки main, contrib, non-free

Каждый официальный репозиторий Debian имеет по 3 ветки:

  1. main состоит из DFSG-compliant пакетов, которым не требуется другое ПО из других источников. Эти пакеты считаются частью дистрибутива Debian. Они полностью свободны для любого использования.
  2. contrib пакеты так же содержат DFSG-compliant ПО, но их зависимости могут требовать дополнительное ПО, которое может быть в других источниках, например ветке non-free.
  3. non-free содержит все остальное ПО, которое не соответствует DFSG.

DFSG - Debian Free Software Guidelines, критерии Debian по определению свободного ПО. В любом случае, пакеты из всех трех веток main, contrib и non-free полностью протестированы и подготовлены для работы с дистрибутивом Debian.

Теперь, зная всю теорию по репозиториям в Debian, мы можем проанализировать файл sources.list, который мы получили после установки. В нем подключены 3 репозитория с ветками main.

Это stable repo текущего релиза. Далее идет security repository для установки свежих обновлений безопасности.

И в завершении stable-updates для получения стабильных обновлений до очередного Point Release текущего дистрибутива.

Признаюсь честно, я много лет администрировал сервера с Debian, а до конца не понимал, что у меня записано в sources.list. Разобрался полностью только сейчас, когда писал статью. До этого просто копировал по привычке конфиги с репами. Догадывался о чем там речь, но точно не знал. Теперь восполнил пробел и поделился с вами информацией.

Добавить новый repository в debian

Теперь от теории перейдем к практике. Давайте вручную добавим новый репозиторий в Debian. К примеру, нам нужно установить на сервер стабильную версию MariaDB. Для этого добавим ее репозиторий. Это можно сделать либо в файле sources.list, но лучше создать отдельный в sources.list.d. Назовем его MariaDB.list.

После подключения репозитория, надо добавить его gpg ключ.

Теперь обновим кэш пакетов. Это нужно делать каждый раз после подключения нового репозитория.

Добавление репозитория в Debian

Можно выполнить поиск пакета, чтобы убедиться, что новый репозиторий подключен.

Новый репозиторий

Как я уже говорил, для настройки нового репозитория, вы могли просто добавить эти же 2 строки с параметрами в sources.list напрямую. Разницы никакой нет.

Зеркало официального репозитория yandex mirror

Repository yandex mirror можно так же использовать для сетевой установки систем.

Sources List Generator (генератор списка репозиториев)

В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.

Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.

К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:

  1. Репозиторий Stable
  2. Ветка main (просто отключил ветки contrib и non-free)
  3. Mirror - Russia
  4. Включить репозитории Security и Updates
  5. Добавить repo для софта - Docker, MariaDB, Nginx, NodeJS, Php, Webmin

В итоге получил вот такой sources.list

К нему еще список gpg ключей для импорта. В принципе, к списку у меня претензий нет. Все по делу. Нужно только проверить php и mariadb repository. Мне предложенные не знакомы.

В целом, я бы не рекомендовал использовать такие сервисы по генерации готовых списков. Я не вижу проблем, чтобы вручную все сделать и проконтролировать процесс.

Локальный репозиторий

Есть несколько способов создать локальный репозиторий Debian. Из того, что я пробовал, самым простым и удобным мне показался apt-mirror, но у него есть один баг, если его использовать как зеркало официальных репозиториев. Он не качает переводы в формате .gz и.xz, только .bz2. В итоге, когда будете использовать локальный репозиторий в качестве зеркала официального, получите ошибку:

Дальше создаем каталог для локального репозитория и конфиг.

Конфиг делаем примерно следующего содержания.

Выполняем инициализацию репозитория.

Теперь можно добавлять пакеты в локальный репозиторий следующей командой.

Для того, чтобы подключить локально новый репозиторий, его нужно добавить в sources.list.

После этого выполняете обновление кэша пакетов и увидите в списке репозиториев свой локальный.

Локальный репозиторий Debian

Архив репозиториев для старых версий

Ниже представляю готовые настройки репозиториев для прошлых версий.

Debian 9 stretch

Репозитории Debian 9 stretch пока еще находятся в основных репозиториях:

В скором времени они тоже переедут в архив. Случится это в июне 2022 года, когда кончится период длительной поддержки. Тогда их можно будет подключить по следующим адресам:

Debian 8 jessie

Репозитории Debian 8 jessie:

Debian 7 wheezy

Репозитории Debian 7 wheezy:

Debian 6 squeeze

Репозитории Debian 6 squeeze:

Возможные ошибки

Рассмотрим наиболее популярные ошибки, которые возникают при добавлении и обновлении репозиториев.

Репозиторий не содержит файла Release

Текст ошибки, по идее, дает готовый ответ. В репозитории нет обязательного файла Release. Но суть в том, что он скорее всего есть. Дело тут чаще всего в том, что вы добавили к себе репозиторий, который не содержит указанной вами ветки. К примеру, вы добавили репозиторий в дистрибутив Buster, а в репозитории нет поддержки этого дистрибутива. Предыдущие есть, а этого нет.

Ровно эту же ошибку вы получите, если будете использовать старую, снятую с поддержки версию Debian. В какой-то момент стандартные репозитории перестанут поддерживать вашу версию дистрибутива и вы получите ошибку. Вам надо будет либо обновляться до более свежей версии, либо использовать архивные репозитории.

Заключение

Постарался собрать весь материал, который касается настройки репозиториев в Debian в одном месте. Если есть какие-то ошибки или неточности, а так же дополнения, прошу сообщить в комментариях. Писал все сам, нигде не переводил у других и не копировал. Постарался раскрыть тему своими словами максимально понятно.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.

Эти требования должны обеспечить, что next-stable (testing) пакеты актуальны и находятся в довольно рабочем состоянии. Тем не менее, иногда, особенно когда пакеты реконструируются, пакеты недостаточно подходящие для выпуска могут попасть в next-stable (testing) дистрибутив. Так, можно получить немного удовольствия от использования постоянно развивающегося разрабатываемого дистрибутива.

Как использовать Debian Testing (next-stable)

Надежный способ установить testing с нуля - это произвести минимальную установку Debian Stable, а потом обновиться со stable до testing.

Кроме того, вы можете использовать testing image of the debian-installer, но обратите внимание, что установщик testing дистрибутива больше подходит для тестирования самого установщика, чем для установки testing дистрибутива. Bugs in the testing installer should be filed against the debian-installer pseudopackage.

Чтобы обновиться до testing, если вы уже установили стабильный выпуск, отредактируйте файл /etc/apt/sources.list, заменяя 'stable' (или текущее кодовое имя стабильного выпуска) в строках apt на 'testing' (или кодовое имя следующего стабильного выпуска). Могут потребоваться дополнительные изменения в этом файле. Вы также можете сделать это с помощью synaptic.

Кодовое имя следующего стабильного выпуска, например "bookworm", будет отслеживать "bookworm", даже когда "bookworm" перейдет в статус стабильного или старого стабильного выпусков, в том время как "testing" будет отслеживать только тестируемые выпуски. Если вы предпочитаете отслеживать jessie, когда он станет стабильным, обновите файл /etc/apt/sources.list заменив "stable" или "testing" на кодовое имя следующего тестируемого выпуска.

После установки или корректировки источников программного обеспечения, регулярно запускайте apt-get update && apt-get upgrade, чтобы получить новые версии и обновления безопасности. Если вы заметили, что некоторые пакеты не обновлены, вы должны попробовать запустить apt-get dist-upgrade, но будьте осторожны, эта команда попытается установить или удалить пакеты, поэтому тщательно проверяйте все предлагаемые действия до процесса выполнения.

Рекомендации по Testing/Sid для пользователей

Примечание

2016-07-14, обновляя Stretch из Jessie могли удалиться некоторые пакеты, которые нужны для запуска Gnome, и конечном итоге, вы могли оказаться в командной строке. Для восстановления Gnome, зайдите под пользователем root и выполните следующие команды:

Другие пакеты, возможно, также нужно будет переустановить, используйте опцию reinstall, как показано выше, если будут ошибки.

Соображения

Пример из видов временной поломки которые могут произойти в next-stable (testing) дистрибутиве: было обновление perl-5.6.0 до perl-5.6.1 из-за которого perl не мог найти свои модули, если они были из пакета собранного с помощью perl-5.6.0. Однако, вручную установив переменную PERL5LIB на /usr/lib/perl/5.6.0, можно было решить проблему даже до того, как в testing поступит исправленная версия пакета.

Testing меняется чаще чем stable, но не так часто как unstable, поэтому ожидается, что новые стабильные версии программ будут установлены так скоро, как они будут готовы для next-stable (testing). Рано или поздно testing "замораживается' для неминуемой подготовки к становлению стабильным выпуском. Смотрите также DebianStability.

По сравнению со stable и unstable, testing имеет худщую скорость получения обновлений безопасности. Если речь идет о безопасности, не выбирайте testing.

Сегодня решил сделать небольшую заметку по том, как установить пакет из testing или unstable в Debian, поскольку это довольно актуальное действие для пользователей, которые используют данный дистрибутив.

Суть вопроса

Как известно, Debian довольно уникальный дистрибутив, который придерживатся двух принципов: свобода и стабильность. То есть разработчики включают в него только свободное ПО, хорошо протестированное и, соответственно, довольно стабильное. Но, к сожалению, стабильное, часто означает устаревшее, ведь чтобы программа работала без сбоев, нужно ее тестировать довольно долго. Как правило, за это время разработчики успевают выпустить уже новую версию програмы. Поэтому, стабильные выпуски Debian включают в себя много ПО, которое на несколько версий ниже, чем актуальная версия программы, на сайте разработчика. Как же получить свежую версию такогй программы в Debian?

Вам, вероятно, известно, что перед тем, как выпуск Debian становится стабильным, он проходит несколько стадий разработки. Это так называемые: testing, unstable и experimental выпуски, и в них ПО более свежее, часто актуальное. Поэтому, если вам нужна более новая версия пакета в своем Debian, ее можно установить из репозиториев этих веток дистрибутива.

Как установить пакет из testing или unstable в Debian

Это довольно простая процедура, которая, если вы делаете это первый раз, состоит буквально из 4 шагов:

  • добавлене нового источника в sources.list;
  • установка текущего выпуска дистрибутива основным;
  • обновление индексных пакетов;
  • установка нужной программы.

В дальнейшем вам нужно будет выполнять лишь два последних пункта. Ну а теперь, перейдем к практике, во время которой мы, для примера, установим свежую версию браузера Iceweasel.

Установка Iceweasel в Debian из unstable

  • Открываем от имени администратора файл sources.list:

Вместо mousepad подставляете свой текстовый редактор;

По сути, вы копируете два раза свой основной источник и заменяете в нем имя ветки на unstable и testing.

  • Сохраняем изменения.
  • Для того, чтобы во время установки программы, из добавленных источников не потянулись ненужные зависимости, нужно указать системе, что текущая версия дистрибутива является основной. Для этого нужно добавить соответствующую пометку в файл /etc/apt/apt.conf:

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

Теперь осталось обновить индексные файлы, дабы система узнала о новых источниках:

И, наконец, можно установить наш Iceweasel, для этого нужно использовать следущую конструкцию:

Так, если мы хотим установить Iceweasel из unstable, комманда будет следующая:

После 3-х лет компиляния генты, я задался целью поставить debian. Так как lenny содержит довольно старые версии пакетов, было решено поставить squeeze. Но есть вопросы.

1.Хочу пойти по пути gentoo - поставить минимальную систему, а дальше доустанавливать/настраивать нужное. Для stable есть так называемый netinst. А для testing я не нашел, как быть? Где взять?

2.Далее мне интересно - каким образом ставить по минимому? Когда были попытки ставить lenny, после установки базовой системы, я захотел ставить иксы, но он начал подтягивать все все драйвера для граф плат, устройст ввода? как это избежать? Поставить отдельно иксы, отдельно дрова и т.п.


1.Хочу пойти по пути gentoo - поставить минимальную систему, а дальше доустанавливать/настраивать нужное. Для stable есть так называемый netinst. А для testing я не нашел, как быть? Где взять?

> А для testing я не нашел, как быть? Где взять?

но он начал подтягивать все все драйвера для граф плат, устройст ввода? как это избежать?


попробуй:
apt-get install xserver-xorg-video-vesa xserver-xorg-input-evdev

Всем спасибо, щас попробую. А так я понял что мне нужно. Я привык к portage, к его работе. А теперь мне нужно изучить apt (:

Кстате, еще вопрос. В генте все ставиться в первозданном виде. Ну к примеру - гном не сконфигурен ниразу. Как с этим в debian? Есть ли вообще минимальная начальная настройка?


ставь с netinst потом изменишь репы на testing и обновишся.

а по пункту 2, у вас мания компиляции, болезнь гентушника. просто используй дебиан такой какой он есть, он just works а компиляция нужна только в особых случаях.

>а по пункту 2, у вас мания компиляции, болезнь гентушника. просто используй дебиан такой какой он есть, он just works а компиляция нужна только в особых случаях.

не, я не о том. Я не собираюсь в дебиане компилять, ну если только иногда. Я просто не хочу ставить лишнее и все)


> Для stable есть так называемый netinst. А для testing я не нашел, как быть? Где взять?

Далее мне интересно - каким образом ставить по минимому? Когда были попытки ставить lenny, после установки базовой системы, я захотел ставить иксы, но он начал подтягивать все все драйвера для граф плат, устройст ввода? как это избежать? Поставить отдельно иксы, отдельно дрова и т.п.


слушать инсталлера, при tasksel снять все галочки

для того чтобы не тянуло лишние пакеты.
но, в этом варианте надо уже больше головой думать что ставить ))

если выбрать desktop environment при установке, то поставиться гном, но в каком виде? что там будет? если выбрать notebook - то что там будет? интересно мне

В установщике используется очередная подстройка над apt - taskel. Чтобы понять, что он захочет поставить, если выбрать desktop environment - посмотри

taskel --task-packages dektop

Для notebook, соответственно,

taskel --task-packages laptop

Я Debian устанавливаю, как правило, в режиме expert.
1. Когда установщик предлагает установить списки пакетов (как то desktop/laptop/etc.) отклоняю все. Для этого достаточно скачать netinstall disk.
2. После перезагрузки
- sudo aptitude update
- sudo aptitude install bash-completion -R (-R не устанавливать рекомендованные зависимости). После установки релогин.
- sudo aptitude install xserver-xorg-video-(видимокарта) xserver-xorg-video-v4l xserver-xorg-video-vesa xserver-xorg-video-fbdev xserver-xorg-input-evdev x11-xserver-utils x11-utils mesa-utils libgl1-mesa-dri xserver-xorg-input-synaptics -R

Потом alsa, alsa-tools, alsa-oss, oss-compat.
Далее gnome-core, wicd, gnome-bluetooth, synaptic, gconf-editor, firmware-iwlwifi
В конце - gdm

Обычно, дописываю некоторые из рекомендованных зависимостей вручную.


>а по пункту 2, у вас мания компиляции, болезнь гентушника

ахха, это не болезнь, а весьма здоровое желание не ставить ненужный хлам

ТС, я вообще не понимаю, зачем тебе Debian, там нет никаких преимуществ перед Gentoo

сам уже метался между этими дистрами, в итоге остался на генте

>ТС, я вообще не понимаю, зачем тебе Debian, там нет никаких преимуществ перед Gentoo

Компилять, компилять надоело. Это не дело, что гцц

40 минут на моей машине, глибц тоже около 40 минут. Про Qt полчу вообще.

Попробовал arch - это то что нужно, простота генты, только ничего компилять не надо. Вообщем мне понравился.

а дебиан, дебиан не пошел, там слишком все сложно (:


чушь, обновляться в генте надо раз в полгода по хорошему случаю

>чушь, обновляться в генте надо раз в полгода по хорошему случаю


вот иди это еще кому-нить расскажи. А тебе скажут - чушь, раз в год. А кто-то крикнет - чушь, раз в пять лет!

А я сидел на анстейбле, я люблю свежий софт, и по этому я обновлялся часто.

Допустим, у вас запущен сервер, и вы не хотите переходить на Testing (Squeeze) из Stable (Lenny), чтобы просто установить необходимый пакет или два.

Каков наилучший способ установки только определенных пакетов из Testing?

Вот что говорит последняя официальная документация: пакеты из смешанного источника архивов .

Многие люди, похоже, боятся смешивать стабильное с тестированием, но, честно говоря, тестирование само по себе довольно стабильно, и с правильными настройками и проверкой решений вы можете избежать «дрейфа стабильности», который ставит ваши основные пакеты на нестабильный путь.

"Тестирование довольно стабильно ??" , ты спрашиваешь. Да. Для того чтобы пакет мог перейти от нестабильного к тестируемому, он должен иметь ноль открытых ошибок в течение 10 дней подряд. Скорее всего, что, особенно для более популярных пакетов, кто-то собирается представить отчет об ошибке для нестабильной версии, если что-то не так.

Даже если вы не хотите смешивать окружения, все равно хорошо иметь такую ​​возможность на случай, если вы столкнетесь с чем-то, что требует более новой версии, чем в стабильной.

Вот что я рекомендую для настройки:

Сначала создайте следующие файлы в /etc/apt/preferences.d :

stable.pref :

testing.pref :

unstable.pref :

experimental.pref :

(Не бойтесь нестабильных / экспериментальных вещей здесь. Приоритеты достаточно низкие, чтобы никогда не устанавливать автоматические компоненты. Даже ветвь тестирования будет вести себя так, как она будет устанавливать только те пакеты, которыми вы хотите быть. в тестировании.)

Теперь создаем соответствующий набор для /etc/apt/sources.list.d :

stable.list Копирование из оригинала /etc/apt/sources.list . Переименуйте старый файл в нечто подобное sources.list.orig .

testing.list То же, что stable.list и с testing .

unstable.list : То же, что stable.list , кроме как unstable , и удалить списки безопасности.

experimental.list То же, что unstable.list и с experimental .

Чтобы установить тестовую версию пакета, просто используйте aptitude install lib-foobar-package/testing или просто перейдите в графический интерфейс aptitude и выберите версию в деталях пакета (нажмите enter в пакете, который вы просматриваете).

Если вы получаете жалобы на конфликты пакетов, сначала посмотрите на решения. В большинстве случаев первым будет «не устанавливать эту версию». Научитесь использовать варианты разрешения и разрешения для каждого пакета. Например, если вы устанавливаете foobar-package / testing, а первое решение - «не устанавливать foobar-package / testing», то пометьте этот выбор как отклоненный, и другие решения больше никогда не повернут по этому пути. В таких случаях вам, вероятно, придется установить несколько других пакетов тестирования.

Если он становится слишком проблематичным (например, пытается обновить libc или ядро ​​или какую-то другую огромную базовую систему), то вы можете либо отклонить эти пути обновления, либо просто полностью отказаться от первоначального обновления. Помните, что обновление будет происходить только до тестирования / нестабильности, если вы разрешите это.

РЕДАКТИРОВАТЬ: Исправлены некоторые приоритетные булавки и обновлен список.

Читайте также: