我在ubuntu 14.04服务器上运行opencpu 1.5 [1]。我的R-Package创建.tex文件触发系统调用以使用latexmk编译pdf文件。
system("latexmk -xelatex -interaction=batchmode mylatex.tex")
在ubuntu 12.04 LTS上运行正常。
从ubtuntu 12.04 LTS更新到14.04 LTS后,这不起作用。 该过程以www-data用户身份运行。对于其他系统用户,我可以使用latexmk编译.tex文件。
My LaTeX Version:TexLive 2016 full
这里出自:
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
...
有什么想法吗?
THX!
-
答案 0 :(得分:0)
我在日志文件中找到了这个条目:
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问题。
Thx to Jeroen