The apt
tools don’t support rolling back, so there’s no straightforward way to undo an upgrade. You need to identify the packages you want to downgrade, and find the corresponding binaries to give to either apt
or dpkg
. There are a number of approaches you can use.
The most general one is to use snapshot.debian.org. This contains a copy of every single package uploaded to the Debian archives, and also provides snapshot repositories with a coherent set of packages for a given timestamp. In your case, you’d look for the appropriate version of the gimp
source package, then add the corresponding repository to your sources (see the main page for instructions).
Another approach which works in this particular instance, and which you’ve considered, is to add Debian 10 to your repositories, since the version of the gimp
package you want to downgrade to is available there. Currently this won’t result in any downgrading apart from the gimp
packages; you’ll only end up with libopenexr23
alongside libopenexr24
.
Finally, since you still have the older package in the apt
archives (/var/cache/apt/archives
), you can install it from there, either using dpkg -i
, or by turning your cache into a repository:
copy all the packages somewhere safe
create the Packages
file:
dpkg-scanpackages . > Packages
(in the directory you copied all the packages to; you’ll need dpkg-dev
for dpkg-scanpackages
)
compress the Packages
file:
gzip < Packages > Packages.gz
(this keeps both files)
create the Release
file:
apt-ftparchive -o "APT::FTPArchive::Release::Origin=cache-repository" release . > Release
(you’ll need apt-utils
for apt-ftparchive
)
sign it:
gpg --yes --sign --armor --clearsign --output InRelease Release
Then you can add a deb file:/path/to/...
entry to your repositories and install packages from there. (You can skip the signing step if you tell apt
to assume the repository is trusted.)
reportbug
is crashing with an uncaughtsocket.timeout
exception. – giusti Sep 10 '19 at 02:30/var/cache/apt/archives
? – muru Sep 10 '19 at 02:42/opt
and call from the terminal. – giusti Sep 10 '19 at 02:54aptitude
and figure out working configuration with correct dependencies. – dirkt Sep 10 '19 at 06:17