There is no officially supported way to do that, however you can do it.
The downgrade will probably result in more serious problems than the upgrade caused. The reasons:
- The package install/removal scripts weren't tested for downgrade.
- There could be package-specific configuration files, databases, whose format changed with a new version. In these cases, their format upgrade were developed, but their downgrade mostly weren't.
- The package dependencies aren't very tested in downgrade scenarios. It results, during the downgrade, some state of a system can appear in which incompatible packages are there coincidentally.
All of these problems are rare. But a typical Linux system has thousands of packages, so at least in one of them, you will surely confront problems. These you will have to fix by hand, individually.
The exact steps for a dist-downgrade are detailed in this answer.
(Not topic of the question, but it is very funny: on the same way, you can also switch between different Debian-based distributions, maybe even without a reboot. If there is multi-architecture support in both of them, you can even switch architectures without a reboot.)
Because your goal is to avoid some, similar, rare package-specific problems after an upgrade, you would likely avoid the ones what a dist-downgrade would cause.
Thus, I would suggest more a workaround solution:
Downgrade only the few packages with which you have a problem.
It is very simple:
- Temporarily add also the package sources of your old distribution into the
/etc/apt/sources.list. Thus, your
sources.list will - temporarily - contain the package sources for your both distribution version.
- Run an
apt-get update to load the caches.
apt-cache show mybuggytool will then show your
mybuggytool in all available versions, in both repositories. For example, you will see
mybuggytool in versions
1.1-crap and in
- Choose the more sympathetic one, which will be likely
- Install it with an
apt-get install mybuggytool=1.1-crap
- Remove (or comment out) the lines of your old disto from the
sources.list, and then
apt-get update again.
In this way, you will have the package of the buggy tool - but, from your old distribution. As the overwhelming majority of the libraries are developed to be backward compatible, you will face a problem with a much lower probability.
You may want to make exempt these packages from the future upgrades. It is detailed in this answer. The important part is:
- You can hold a package by the command
apt-mark hold mybuggytool.
- You can unhold it by
apt-mark unhold mybuggytool.