缺少/dev/xconsole会导致rsyslog以及所有其他服务停止运行。

我在Hyper-V环境中运行Ubuntu-10.04.04LTS。我发现SSH、HTTP或其他任何服务都停止了,因为rsyslog守护进程以"无法找到/dev/xconsole文件"的消息而终止。
我暂时通过以下方法修复了这个问题。
FILE=/dev/xconsole
if [ -e $FILE ]; then
     echo "$FILE exists Carry on!"
else
     mknod -m 640 /dev/xconsole c 1 3
     chown syslog:adm /dev/xconsole
     echo "Created $FILE."
fi

问题在于当我重新启动守护进程时,无法让rsyslog处理这8行日志。此外,重新启动守护进程会删除/dev/xconsole文件,使所有服务停止。为解决此问题,我已在rsyslog脚本中的启动和重新启动条件后插入了iffi行。但问题是我没有将输出echo发送到。有人有想法如何使rsyslog在创建/dev/xconsole设备时向报告吗?

谢谢。这解决了我关于syslog未被写入的问题。 - lepe
1个回答

这个存在的原因是因为Ubuntu Server 12.04错误地假设你已经安装了xterminal。这可能是从它们的桌面操作系统中保留下来的,因为在那里它可能默认存在。
无论如何,最好的方法就是将其注释掉/etc/rsyslog.d/50-default.conf,如下所示:
# daemon.*;mail.*;\
#        news.err;\
#        *.=debug;*.=info;\
#        *.=notice;*.=warn       |/dev/xconsole

而且,问题解决了。顺便说一句,我怀疑那并不是导致它死机的原因。

2我也遇到了同样的问题,使用的是Ubuntu 14.04.1 LTS版本。 - tanius