在系统范围内使用与 /dev/log 不同的套接字

在系统范围内使用与 /dev/log 不同的套接字

有没有办法让整个 Debian (Jessie) 安装使用与/dev/log(例如/tmp/my-other-log) 不同的 syslog 套接字?

原因:我在 Android 4 环境中的 chroot 环境中运行 Debian Jessie。/dev/log在Android中是一个目录,这样我就可以将该路径绑定安装到另一个文件。为了rsyslogd与所有 debian 程序一起工作,我需要/dev/log成为一个自定义套接字,或者让所有程序使用不同的路径。

  • 我可以使用一些覆盖路径吗环境变量也许?
  • 由于我使用 准备 Debian 安装debootstrap,因此在构建时我可以做些什么吗?也许修补 libc(或者隐藏系统日志代码的地方)?

答案1

修补libc二进制文件似乎有效:

sed -i --binary -e 's/\/dev\/log/\/SLG\/log/' /lib/*/libc-*.so

这会导致程序发送系统日志消息/SLG/log而不是/dev/log(注意字符串的长度相同)。

然而,我认为这是一个肮脏的黑客我真的希望有人能提出更好的解决方案......

相关内容