我“意外地”将 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>