查找要降级到的早期版本

查找要降级到的早期版本

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

  • 我不知道那个版本是什么(我认为是3.7.6.3,但我不确定)。
  • 我发现可用于 SQLite 包的唯一其他版本对于我正在使用的 Subversion 包来说aptitude3.5.9.6为时过早(它至少需要3.6)。

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

答案1

APT 缓存位于/var/cache/apt/archives.如果您有合适的软件包版本,则可以使用dpkg -i /var/cache/apt/archives/sqlite3-VERSION.deb.

如果您没有,目前测试有3.7.6.3-1(可从任何 Debian 镜像下载)并且目前稳定3.7.3-1;或者你可以找到(几乎)Debian 中曾经存在的任何版本快照.debian.org。由于这是一种准时的需求,因此最简单的方法是手动下载软件包并安装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命令)。

答案2

该文件/var/log/dpkg.log有更改历史记录。请对此执行 grep 以找到答案。

相关内容