查找要降级到的较早版本

Vic*_*let 11 debian apt

在我的 Debian 服务器上,我将 SQLite 包升级到版本,3.7.7但发现它包含一个严重错误,该错误破坏了包括我的 Subversion 存储库在内的几项内容。所以,我想降级回我使用的以前的版本。但:

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

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

Gil*_*il' 8

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

如果你没有它, testing 目前有3.7.6.3-1(可从任何 Debian 镜像下载),目前 stable 有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命令)。