将 Debian Etch 升级到 Lenny 时 dpkg 损坏

将 Debian Etch 升级到 Lenny 时 dpkg 损坏

再会!

当我尝试将一个盒子恢复到 lenny 时,似乎我弄坏了一些东西。它升级libc后,glibdpkg 似乎坏了。

我可以运行apt-get,但是它会从 dpkg 获得分段错误:

# apt-get -f install
Reading package lists... Done
Building dependency tree... Done
0 upgraded, 0 newly installed, 0 to remove and 316 not upgraded.
9 not fully installed or removed.
Need to get 0B of archives.
After unpacking 0B of additional disk space will be used.
/bin/sh: line 1:  4606 Segmentation fault      /usr/sbin/dpkg-preconfigure --apt
E: Sub-process /usr/bin/dpkg received a segmentation fault.

我可以通过 SSH 登录但 ls 不起作用:

# ls
Segmentation fault

我可以通过 SSH 远程做什么吗?

    # ldd /bin/ls
    linux-gate.so.1 =>  (0xffffe000)
    librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7fc8000)
    libacl.so.1 => /lib/libacl.so.1 (0xb7fc2000)
    libselinux.so.1 => /lib/libselinux.so.1 (0xb7fac000)
    libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7e51000)
    libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7e3f000)
    /lib/ld-linux.so.2 (0xb7fd8000)
    libattr.so.1 => /lib/libattr.so.1 (0xb7e3b000)
    libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7e37000)
    libsepol.so.1 => /lib/libsepol.so.1 (0xb7df6000)

我似乎暂时用

 # touch /etc/ld.so.nohwcap

从这里:http://saintaardvarkthecarpeted.com/blog/archive/2005/08/_etc_ld_so_nohwcap.html

答案1

我认为您应该通过 启用核心文件转储ulimit -c unlimited,然后运行失败的程序以获取核心转储。如果您很幸运并且gdb已安装且没有分段错误,则可以通过 就地分析核心转储gdb -c core.pid。它将至少向您显示失败指令的地址,以便您能够从该地址猜测失败的库。如果gdb未安装,请尝试将scp核心转储转移到其他主机。下一步可能是通过 用其他主机上的其他版本替换失败的库scp

相关内容