В Debian и производных от него дистрибутивах очень гибкая система управления пакетами. Я вкратце расскажу об одном из приемов такого управления - Apt Pinning. Он позволяет настроить приоритеты для пакетов, которые подлежат установке. Работает это так: создается файл /etc/apt/preferences примерно такого вида:
Package: *
Pin: release a=stable
Pin-Priority: 650
Package: *
Pin: release a=testing
Pin-Priority: 600
Package: *
Pin release a=unstable
Pin-Priority: 550
Package: *
Pin release a=oldstable
Pin-Priority: 510
Каждая запись (записи отделяются пустой строкой) определяет Pin. В строке Package: указываем пакет, можно использовать метасимвол *, в строке Pin: указываем тип пина (можно посмотреть в руководстве по apt), обычно это release - название выпуска Debian, ну и в Pin-Priority, соответственно, приоритет. Пакеты с пинами приоритетом меньше 500 установлены не будут вообще (если специально не попросить).
Найденные подводные камни:
1. В пинe release не работают codename релизов, т.е. etch, lenny и т.п. работать не будет.
2. При наличии в apt.conf(.d) опции Default-Release тоже работать не будет.