write error: No space left on device的解决方法

2016.12.29 23:16 Thu| 212 visits 问题&解决方案| Text

问题

很奇怪的问题。

排查

  1. 第一反应是空间不够了,运行df命令

    没发现问题。

  2. 用set -x 和 sh -x 追踪

    没发现问题。

  3. 用 strace 追踪
    先安装 strace

opkg install strace

然后运行 strace /etc/init.d/dnsmasq reload,图就不贴了,还是没发现问题所在。

  1. 最后发现问题

本次错误的罪魁祸首如下:

-rw-rw---- 1 root root 0 Dec 29 22:54 /dev/null

正确的应该是:

crw-rw-rw- 1 root root 1, 3 Jan 1 1970 /dev/null

居然/dev/null被干掉了

解决方法就是重建/dev/null

解决方法

rm /dev/null 
mknod /dev/null c 1 3 
chmod 666 /dev/null

类似问题见这篇