查找要降级的早期版本


10

在Debian服务器上,我将SQLite软件包升级到版本,3.7.7但是发现它包含一个严重的bug,该bug破坏了包括Subversion存储库在内的几项功能。因此,我想降级到我以前使用的版本。但:

  • 我不知道该版本是什么(我假设是3.7.6.3,但不确定)。
  • 唯一的其他版本,我找到可供SQLite的包aptitude就是3.5.9.6这是我使用的颠覆包太早(这至少需要3.6)。

我如何识别并降级到我正在使用的SQLite版本,并且该版本可能仍在计算机的缓存中?或者,如果失败,我如何知道aptitude该软件包的中间版本在哪里下载?

Answers:


8

APT缓存位于中/var/cache/apt/archives。如果在那里有合适版本的软件包,则可以使用进行安装dpkg -i /var/cache/apt/archives/sqlite3-VERSION.deb

如果您没有,则测试当前为3.7.6.3-1(可从任何Debian镜像下载),而稳定版当前为3.7.3-1;或者,您可以在snapshot.debian.org上(几乎)找到Debian中的任何版本。由于这是一个准时的需求,因此最容易手动下载并安装软件包dpkg(但您也可以将特定的快照日期定义为APT来源,如snapshot.do主页上所述)。

通过查看dpkg登录/var/log/dpkg.log或APT登录/var/log/apt或Aptitude登录,可以找出以前要安装的版本/var/log/aptitude

在Aptitude中,将有问题的版本标记为“禁止安装”:F键入交互式UI或aptitude forbid-version交互式输入。如果该错误在下一发行版中未修复,请将该软件包标记为“处于保留状态”,以防止自动升级,直到另行通知(=按键或aptitude hold命令)为止。


这仅进行了两个较小的更改(寻找lib sqlite和amd64平台)。dpkg -i确实是最快的方法。
Victor Nicollet

2

该文件/var/log/dpkg.log具有更改历史记录。请对此进行grep查找您的答案。


这确实证实了我在跑步3.7.6.3-1。现在,我需要找到它:-)
Victor Nicollet
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.