![内核 + libc6 升级到 squeeze 时出现问题](https://linux22.com/image/593118/%E5%86%85%E6%A0%B8%20%2B%20libc6%20%E5%8D%87%E7%BA%A7%E5%88%B0%20squeeze%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我曾经运行过 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 了几次。
基本上就是这样。更多细节和紧张情绪请见问题链接中的主题...