我目前正在运行 Debian “测试”,并且我刚刚将 Gimp 从 版本升级2.10.8-2
到 版本2.10.8-2+b1
。可悲的是,它对我不起作用。我无法打开任何图像,甚至无法创建新的空白图像,因为它每次都会崩溃。
希望存储库至少有该包的几个版本,我尝试使用降级
apt install gimp=2.10.8-2
并且
apt-get install gimp=2.10.8-2
但两者都失败了Version '2.10.8-2' for 'gimp' was not found
。
有没有可靠的方法来降级 Debian 中的任何软件包?也许是在升级不满意之后进行某种“回滚”?
我考虑过添加stable
存储库并有时强制降级,可能会阻止有问题的软件包。但我首先想要一个不太激烈的解决方案,考虑到这可能需要降级太多的依赖项。可能会导致比解决的问题更多的问题。
答案1
这些apt
工具不支持回滚,因此没有直接的方法来撤消升级。您需要确定要降级的软件包,并找到相应的二进制文件以提供给apt
或dpkg
。您可以使用多种方法。
最通用的一种是使用快照.debian.org。它包含上传到 Debian 档案的每个软件包的副本,并且还提供快照存储库,其中包含给定时间戳的一组连贯的软件包。在你的情况下,你会寻找合适版本的gimp
源码包,然后将相应的存储库添加到您的源中(有关说明,请参阅主页)。
gimp
在这个特定实例中有效的另一种方法(您已经考虑过)是将 Debian 10 添加到您的存储库中,因为您想要降级到的软件包版本在那里可用。目前,除了软件包之外,这不会导致任何降级gimp
;你最终只会与libopenexr23
并肩libopenexr24
。
apt
最后,由于您在档案 ( )中仍然有较旧的软件包,因此您可以使用或将缓存转换为存储库/var/cache/apt/archives
从那里安装它:dpkg -i
将所有包复制到安全的地方
创建
Packages
文件:dpkg-scanpackages . > Packages
(在您将所有包复制到的目录中;您
dpkg-dev
需要dpkg-scanpackages
)压缩
Packages
文件:gzip < Packages > Packages.gz
(这会保留两个文件)
创建
Release
文件:apt-ftparchive -o "APT::FTPArchive::Release::Origin=cache-repository" release . > Release
(你
apt-utils
需要apt-ftparchive
)签字:
gpg --yes --sign --armor --clearsign --output InRelease Release
然后,您可以deb file:/path/to/...
向存储库添加一个条目并从那里安装软件包。 (如果您apt
告诉假设存储库是可信的,则可以跳过签名步骤。)