我在ubuntu 14.04服务器上运行opencpu 1.5 1。我的R包创建一个.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文件。
我的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
...有什么想法吗?
谢谢!
--
发布于 2016-09-08 03:24:06
我在我的日志文件中找到了以下条目:
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/parapmor.d/opencpu.d/custom文件中。
这解决了我的latexmk问题。
Thx到Jeroen
https://stackoverflow.com/questions/39350664
复制相似问题