如何获取软件包版本的代号(“wheezy”或“sid”)?

如何获取软件包版本的代号(“wheezy”或“sid”)?

apt-cache show显示软件包的各个版本

# apt-cache show libc6:i386
Package: libc6
Version: 2.17-97
Architecture: i386
...

Package: libc6
Status: install ok installed
Version: 2.17-7
Architecture: i386
Multi-Arch: same
...

Package: libc6
Version: 2.13-38
Architecture: i386
...

# apt-get show libc6:amd64
Package: libc6
Version: 2.17-97
Architecture: amd64
...

Package: libc6
Version: 2.13-38
Architecture: amd64
...

但是如何将软件包版本映射到发布代号,如 stable/testing/unstable?

[XY 问题说明] - 我尝试做什么以及发生了什么:

尝试引导我的 i386 debian 运行 amd64 二进制文件(将 i386 保留为主要架构),

  • 作为尝试新的 amd64 世界的第一步,我尝试运行一个程序,
  • 找不到 libssl.so.1.0.0,
  • 我尝试安装 libssl1.0.0:amd64,
  • 由于 libgcc1 不兼容而停止,
  • 尝试安装 libgcc1:amd64,出现不兼容错误,
  • 将系统升级到较新的软件包(例如apt-get upgradeshows zeroes),
  • 通过指定明确版本安装强制升级 i386 libgcc 相关软件包 ( apt-get install libstdc++6=4.8.2-1 gcc-4.8-base=4.8.2-1 libgcc1=1:4.8.2-1 libgfortran3=4.8.2-1 libquadmath0=4.8.2-1 libgcc-4.8-dev=4.8.2-1 libgomp1=4.8.2-1 libitm1=4.8.2-1 libatomic1=4.8.2-1 libasan0=4.8.2-1 libstdc++-4.8-dev=4.8.2-1)
  • 尝试安装 libgcc1:amd64,与之前相比错误少了,但仍然因缺少 libc6:amd64 而停止,
  • 尝试安装 libc6:amd64,但因严重不兼容而无法安装,
  • 发现(根据apt-cache info)对于“我的”i386 版本的 libc6 目前没有可用的对应 amd64 版本。
  • 各种版本让人困惑:哪个版本仍然来自“squeeze”(太旧),哪个版本来自“sid”(仅可用于手动安装,不可用于升级)。为什么我刚刚完全升级,却没有“我的”版本的库?...

[/XY问题说明]

更新尝试过apt-cache policy

# apt-cache policy libc6:i386
libc6:
  Installed: 2.17-7
  Candidate: 2.17-7
  Version table:
     2.17-97 0
         10 http://ftp.de.debian.org/debian/ sid/main i386 Packages
         10 http://ftp.mgts.by/debian/ testing/main i386 Packages
 *** 2.17-7 0
        100 /var/lib/dpkg/status
     2.13-38 0
        900 http://ftp.mgts.by/debian/ wheezy/main i386 Packages

看起来我的 libc6 介于两者之间。

答案1

如何获取软件包版本的代号(“wheezy”或“sid”)?

由于 Debian 是滚动发布,软件包没有sidwheezy附加在任何地方,因此知道软件包安装位置的唯一方法是使用apt-cache policy package

关于libc6的问题:

如果您想从 32 位“升级”到 64 位,那么这是不可能的,或者更有可能破坏系统。

libc6软件包是所有依赖项的母体。它最终会告诉你你的系统是 64 位还是 32 位,而且改变它并不容易。旧的迁移指南不再起作用,因为有一个叫 Multiarch 的美女。还有另一个指南太危险了在生产环境中进行测试(即您的家用 PC),并且您最终可能会遇到无法启动的系统(如果这是您的唯一系统,请开始哭泣),唯一的解决方案是重新安装。那么,您想要一个 64 位系统,并且已经安装了 32 位系统?解决方案:

  1. 使用虚拟机
  2. 使用 LXC
  3. 重新安装
  4. 尝试跨越它
  5. 哭了然后重新安装

这些是你唯一的解决方案。

答案2

您尝试过使用 apt-cache madison 吗?

eclipxe@localhost:~# apt-cache madison iceweasel
 iceweasel |     25.0-1 | http://ftp.debian.org/debian/ experimental/main amd64 Packages
 iceweasel | 24.1.0esr-1 | http://ftp.debian.org/debian/ unstable/main amd64 Packages
 iceweasel | 17.0.9esr-1~deb7u1 | http://ftp.debian.org/debian/ testing/main amd64 Packages

eclipxe@localhost:~# apt-cache madison iceweasel | awk '{print $1,$6}'
iceweasel experimental/main
iceweasel unstable/main
iceweasel testing/main

(我正在使用不稳定版本 [Pin:200] 和实验版本 [Pin:1] 运行 Debian 测试)

此外,当您从更高版本安装软件包时,请尝试使用--target-release:

apt-get install -t unstable iceweasel

相关内容