0

我在 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 文件。

我的 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/

4

1 回答 1

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 问题。

谢谢杰伦

于 2016-09-07T19:24:06.027 回答