使用 www-data 用户 (opencpu) 使用 latexmk 编译 .tex 文件
Compile .tex file with latexmk with www-data user (opencpu)
i 运行 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 后,这不起作用。
该过程是 运行ning 作为 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
...
有什么想法吗?
谢谢!
--
我在我的日志文件中找到了这个条目:
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 问题。
感谢 Jeroen
i 运行 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 后,这不起作用。 该过程是 运行ning 作为 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
...
有什么想法吗?
谢谢!
--
我在我的日志文件中找到了这个条目:
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 问题。
感谢 Jeroen