内核 + libc6 升级到 squeeze 时出现问题

内核 + libc6 升级到 squeeze 时出现问题

我曾经运行过 Debian 测试,大约 2 年没有升级或 dist-upgrade 过。昨天我犯了一个错误,尝试了那个... 它没有工作(我不记得确切的错误消息),所以我尝试了 squeeze。

好了,软件包已下载并开始安装,但随后我进入了 libc6 配置。我通过了有关重新启动服务的菜单,然后得到:

WARNING: this version of the GNU libc requires kernel version
2.6.18 or later. Please upgrade your kernel before installing
glibc.

The installation of a 2.6 kernel _could_ ask you to install a new libc
first, this is NOT a bug, and should *NOT* be reported. In that case,
please add lenny sources to your /etc/apt/sources.list and run:
  apt-get install -t lenny linux-image-2.6
Then reboot into this new kernel, and proceed with your upgrade
dpkg: error processing /var/cache/apt/archives/libc6_2.11.3-3_i386.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
configured to not write apport reports
                                      Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.11.3-3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

我的内核是稍微定制的 2.6.11.7(不是使用 Debian 软件包构建的)。无论如何,我添加了 lenny 源(来自 archive.debian.org)并尝试

apt-get install -t lenny linux-image-2.6-2-686

但让我困惑的是:

The following packages have unmet dependencies:
 libc-bin : Breaks: libc6 (< 2.10) but 2.7-18 is to be installed
 linux-image-2.6.26-2-686 : Depends: initramfs-tools (>= 0.55) but it is not going to be installed or
                                     yaird (>= 0.0.13) but it is not installable or
                                     linux-initramfs-tool
                            Recommends: libc6-i686 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

添加libc6-i686 initramfs-tools没有帮助。我尝试了其他一些方法,但遗憾的是,我记不清了(我认为语言环境已被删除)。我尝试手动下载 Linux-2.6.35 ,但出现缺少 .h 文件的错误make config

请帮忙!我不想让我的系统比现在更糟糕...

内容/etc/apt/sources.lst

deb http://debian.co.il/debian/ squeeze main
deb http://archive.debian.org/debian lenny main contrib non-free
deb-src http://debian.co.il/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb http://security.debian.org/ lenny/updates main

此 Debian 论坛主题似乎相关,但版本不同。

更新:根据建议这里,我现在正尝试先将 dist-upgrade 升级到 etch。但是,我真倒霉,现在 libc-bin 被删除了,我得到了:

Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: 1 expected program not found in PATH or not executable.
NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

答案1

嗯,问题解决了:

  • 显然,我正在运行蚀刻测试。
  • 将 apt sources.list 设置为指向 archives.debian.org 上的 etch。
  • 必须手动从 archives.debian.org 获取并安装 etch 的 libc6-dev_2.3.6.ds1-13etch10+b1,强迫 apt-get 接受该版本。
  • dist-upgrade 了几次。
  • 将 apt sources.list 设置为指向 archives.debian.org 上的 lenny。
  • dist-upgrade 了几次。
  • 必须手动下载 libc6_2.7-18lenny7_i386.deb,并手动将 glib.sh 复制到其位置
  • dist-upgrade 了几次。

基本上就是这样。更多细节和紧张情绪请见问题链接中的主题...

相关内容