Устаревшие rsyslog
версии (8.32 и ниже )не поддерживают то, что вы пытаетесь сделать.
В текущих версиях rsyslog это можно сделать с помощью констант обратных кавычек, см.здесь.
Для этого:
определить переменную среды (или записать файл )перед запуском rsyslog, обычно добавляя его в сценарий запуска при установке на целевой машине. Давайте назовем этот SITE _PIPE и сделаем следующее:
export SITEPIPE="/tmp/mysite/pipe"
затем используйте обратные кавычки как таковые:
action(type="ompipe" Pipe=`echo $SITEPIPE` Template="my_fmt")
Если вы пишете файл, вы можете использовать эту конструкцию:
action(type="ompipe" Pipe=`cat pipenamefile` Template="my_fmt")
Все это должно выглядеть знакомо тому, как работает bash.
Фактический образец этого в действии можно найти внутри нашего контейнера Docker. Это ссылка наrsyslog.confконтейнера.
Но вы также можете просмотреть остальные определения Docker, чтобы получить полную картину.
Все еще существуют такие программы, как /sbin/v86d
, даже сейчас, эта карта памяти -/dev/zero
с PROT_EXEC
без веской причины.
udev
монтирует /dev
с флагом noexec
. Ошибка Debian #940171. v86d
segfaults с -x86emu
, но работает, если этот флаг включен . Ошибка Gentoo #226107.