有没有办法让整个 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
(注意字符串的长度相同)。
然而,我认为这是一个肮脏的黑客我真的希望有人能提出更好的解决方案......