在 Squeeze 上安装了 Wheezy 包,如何回滚?

在 Squeeze 上安装了 Wheezy 包,如何回滚?

我“意外地”将 wheezy 软件包(通过在我的 sources.list 中包含源)安装到了 squeeze 系统中。过去几天,我一直在尝试恢复它,但没有成功。

问题如下:

The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not going to be installed or
                            libc-dev
                   Depends: g++ (>= 4:4.4.3) but it is not going to be installed
                   Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed
 locales : Depends: glibc-2.13-1 but it is not installable
 multiarch-support : Depends: libc6 (>= 2.13-5) but 2.11.3-4 is to be installed

我尝试了什么:

  • apt-get -f 安装
  • 清理/清除旧包
  • 尝试查找适当的版本并手动安装,但我不知道如何确保我拥有正确的版本
  • 从 /var/cache/apt/archives/ 恢复 glibc (如此处所述Debian Squeeze 中的 libc6 版本错误——我可以恢复吗?
  • 尝试使用 aptitude (您需要删除这 100 个左右的包,所以这是不行的)
  • 创建了带有优先设置的 apt 首选项,用于 squeeze

另外,在互联网上还发现了很多其他东西,但似乎没有什么适合我的情况,也无法为我提供任何有用的东西。

那么:有没有办法查看安装了哪些 wheezy 包,将其删除,然后重新安装适当的 squeeze 包?

我的 Linux 版本

root@vps:~# uname -a
Linux vps 2.6.32-042stab068.8 #1 SMP Fri Dec 7 17:06:14 MSK 2012 i686 GNU/Linux

任何线索都将不胜感激!

更新时间:23/08

如果我执行

apt-cache showpkg g++

以下是回复:

root@vps:~/a# apt-cache showpkg g++
Package: g++
Versions:
4:4.4.5-1 (/var/lib/apt/lists/ftp.debian.org_debian_dists_squeeze_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/ftp.debian.org_debian_dists_squeeze_main_binary-i386_Packages
                  MD5: abf7a21a88a8ba95858d401b8ca23b7c

我觉得安装的版本似乎正确?但为什么 g++ 被列为错误?

编辑24/08:

我已将整个系统升级为 wheezy,这是我唯一可以尝试的选项,到目前为止一切都很好:)

答案1

  • 您可以使用以下方法检查软件包可用的不同版本:

    apt-cache showpkg <package-name>
    

    如果您在那里找到了所需的版本,您可以尝试:

    # apt-get install <package-name>=<package-version-number>
    

    ...获取旧版本。

  • 如果您想使用发布名称来获取正确的包,那么:

    apt-get -t=<target release> install <package-name>
    

相关内容