Скомпилируйте.tex файл с latexmk с пользователем www-data (opencpu)

Я запускаю opencpu 1.5 [1] на сервере ubuntu 14.04. Мой R-пакет создает файл.tex и запускает системный вызов для компиляции pdf-файла с latexmk.

    system("latexmk -xelatex -interaction=batchmode mylatex.tex")

На Ubuntu 12.04 LTS работает нормально.

Это не работает после обновления с ubtuntu 12.04 LTS до 14.04 LTS. Процесс выполняется как пользователь www-data. С другими пользователями системы я могу скомпилировать файлы.tex с помощью latexmk.

Моя версия LaTeX: TexLive 2016 полный

Вот из:

print(Sys.getenv())

...
APACHE_RUN_GROUP        www-data
APACHE_RUN_USER         www-data
HOME                    /tmp/ocpu-temp
PATH                   /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/texlive/current
...

Есть идеи?

Спасибо!

-

[1] https://www.opencpu.org/

1 ответ

Решение

Я нашел эту запись в моем файле журнала:

 apparmor="DENIED" operation="exec" profile="opencpu-exec" 
     name="/usr/local/texlive/2016/texmf-dist/scripts/latexmk/latexmk.pl" pid=4305 comm="sh" requested_mask="x" denied_mask="x" fsuid=33 ouid=0

Затем я добавил следующую строку:

/usr/local/texlive/2016/texmf-dist/scripts/latexmk/latexmk.pl ux,

в этом /etc/apparmor.d/opencpu.d/custom файле.

Это решило мою проблему с latexmk.

Спасибо Йероену

Другие вопросы по тегам