Скомпилируйте.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 ответ
Решение
Я нашел эту запись в моем файле журнала:
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.
Спасибо Йероену