wget给分割错误

我最近在我的Debian VPS服务器上进行了apt-get updateapt-get upgrade 。 突然间(至less) wget停止了错误Segmentation fault 。 它甚至不想做点什么。 所以一些谷歌search后,我已经安装了gdb并试图debuggingwget:

 ~# gdb wget (gdb) run Starting program: /usr/bin/wget Error while mapping shared library sections: '/lib/libc.so.5': not in executable format: File truncated [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () 

看着/lib/给我这个:

 ~# ls -l /lib/ total 288 lrwxrwxrwx 1 root root 21 Oct 14 08:52 cpp -> /etc/alternatives/cpp drwxr-xr-x 2 root root 4096 May 7 2015 discover drwxr-xr-x 2 root root 4096 May 7 2015 ifupdown drwxr-xr-x 2 root root 4096 May 7 2015 init -rwxr-xr-x 1 root root 71416 Oct 5 2014 klibc-IpHGKKbZiB_yZ7GPagmQz2GwVAQ.so -rwxr-xr-x 1 root root 23904 Jan 26 22:08 libc.so.5 lrwxrwxrwx 1 root root 17 Nov 8 2014 libip4tc.so.0 -> libip4tc.so.0.1.0 -rw-r--r-- 1 root root 31416 Nov 8 2014 libip4tc.so.0.1.0 lrwxrwxrwx 1 root root 17 Nov 8 2014 libip6tc.so.0 -> libip6tc.so.0.1.0 -rw-r--r-- 1 root root 31416 Nov 8 2014 libip6tc.so.0.1.0 lrwxrwxrwx 1 root root 15 Nov 8 2014 libipq.so.0 -> libipq.so.0.0.0 -rw-r--r-- 1 root root 10544 Nov 8 2014 libipq.so.0.0.0 lrwxrwxrwx 1 root root 16 Nov 8 2014 libiptc.so.0 -> libiptc.so.0.0.0 -rw-r--r-- 1 root root 5816 Nov 8 2014 libiptc.so.0.0.0 lrwxrwxrwx 1 root root 20 Nov 8 2014 libxtables.so.10 -> libxtables.so.10.0.0 -rw-r--r-- 1 root root 51896 Nov 8 2014 libxtables.so.10.0.0 drwxr-xr-x 3 root root 4096 May 7 2015 lsb drwxr-xr-x 2 root root 4096 May 7 2015 modprobe.d drwxr-xr-x 3 root root 4096 May 7 2015 modules drwxr-xr-x 2 root root 4096 May 7 2015 startpar drwxr-xr-x 8 root root 4096 Jan 27 15:19 systemd drwxr-xr-x 15 root root 4096 May 7 2015 terminfo drwxr-xr-x 4 root root 4096 Jan 27 15:13 udev drwxr-xr-x 4 root root 12288 Jan 27 15:20 x86_64-linux-gnu drwxr-xr-x 2 root root 4096 May 7 2015 xtables 

我们可以在1月26日看到libc.so.5“发生了什么事情”,但是我不知道是什么。

我检查了dmesg | grep "wget" dmesg | grep "wget"

 (truncated) [247973.065698] wget[9959]: segfault at 0 ip (null) sp 00007ffc31e37558 error 14 in wget[400000+63000] [248272.905735] wget[10886]: segfault at 0 ip (null) sp 00007ffcf3e14038 error 14 in wget[400000+63000] [248572.716856] wget[11824]: segfault at 0 ip (null) sp 00007fffdcc9e2d8 error 14 in wget[400000+63000] [248873.509595] wget[12742]: segfault at 0 ip (null) sp 00007ffd84ad95d8 error 14 in wget[400000+63000] [249173.463737] wget[13689]: segfault at 0 ip (null) sp 00007ffca87ba518 error 14 in wget[400000+63000] [249472.948078] wget[14664]: segfault at 0 ip (null) sp 00007ffe54fd32a8 error 14 in wget[400000+63000] [249776.082815] wget[15640]: segfault at 0 ip (null) sp 00007ffecc36c758 error 14 in wget[400000+63000] [250072.819988] wget[16595]: segfault at 0 ip (null) sp 00007fff07f4f9d8 error 14 in wget[400000+63000] [250373.130105] wget[17570]: segfault at 0 ip (null) sp 00007ffcec9c01d8 error 14 in wget[400000+63000] [250672.640891] wget[18493]: segfault at 0 ip (null) sp 00007ffe9f78cc08 error 14 in wget[400000+63000] [250975.950585] wget[19412]: segfault at 0 ip (null) sp 00007fff46300128 error 14 in wget[400000+63000] 

服务器是在Wedos.com上运行在Debian上的VPS:

 ~# uname -a Linux server1 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux 

任何人都可以帮助我发生什么事以及如何修复段错误? 它是现场stream量的生产服务器。

谢谢!

这里的关键是线

 '/lib/libc.so.5': not in executable format: File truncated 

C库是包括Linux在内的类Unix系统的核心组件之一。 它被破坏意味着几乎没有任何工作。 你很幸运,你的系统正在一瘸一拐的,但很有可能启动或重新启动任何将失败。

不要重新启动系统。 在目前的状态下,它几乎肯定不会恢复。

特别是因为这是一个VPS,并且因为这个与升级一起发生,所以我想知道是否你的磁盘空间或inode资源耗尽。 我不会在这样的情况下超出你的系统中的更多的东西,所以你可能需要实施某种forms的灾难恢复。 最简单的select可能是恢复最近的备份。

至less,你将不得不重新安装C库。 在我的Debian系统上,这是由libc6系列的包提供的,主要是libc6 。 您可以运行dpkg -S libc.so来列出提供包含子stringlibc.so名称的文件的所有包。 如果您无法在VPS上运行此操作,请在相同版本的Debian中设置单独的系统(可能是某个位置较低的虚拟机,这并不重要),更新软件包列表并运行那里的命令; 它会告诉你哪些软件包是重新安装的候选者。

一旦你有了非常基础的工作,你可能想看看如何validation软件包安装的文件匹配原件? 关于如何validation(至less大部分)没有其他东西已经被破坏了。

就个人而言,尤其是因为这可能是一个重要的系统(因为你声称它是一个“实时stream量的生产服务器”),所以我可能更愿意只是启动你已有的任何灾难恢复计划。 有机会,比试图修复事情更容易,更快,也不知道你可能错过了什么错误。 这实际上只是需要从轨道上进行核反应的一个变种。