Verwenden von install.packages mit benutzerdefiniertem temporären Verzeichnis

Ich möchte ein Paket mit einem Sicherheitsprofil installieren, auf das kein Zugriff besteht/tmp B. ein eigenes temporäres Verzeichnis/tmp/jeroen. Aber auch wenn ich versuche das zu überholenTMPDIR Die Umgebungsvariable schlägt immer noch fehl, da versucht wird, sie zu verwenden/tmp. Unten ein Spielzeugbeispiel mitRAppArmor undUnixtools (sehenHier für das Testprofil)

> library(RAppArmor)
> library(unixtools)

> dir.create("/tmp/jeroen")
> set.tempdir("/tmp/jeroen")
> setwd(tempdir());

> aa_change_profile("r-test")
Switching profiles...

> print(tempdir());
[1] "/tmp/jeroen"

> install.packages("plyr", lib="/tmp/jeroen", configure.vars="TMPDIR=/tmp/jeroen")
trying URL 'http://cran.rstudio.com/src/contrib/plyr_1.8.tar.gz'
Content type 'application/x-gzip' length 384462 bytes (375 Kb)
opened URL
==================================================
downloaded 375 Kb

Fatal error: cannot create 'R_TempDir'

The downloaded source packages are in
    ‘/tmp/jeroen/downloaded_packages’

Beim Betrachten derkern.log Datei (die Sicherheitsmeldungen protokolliert), stellt sich heraus, dass das Problem das istR CMD INSTALL versuchte immer noch zu verwenden/tmp was abgelehnt wurde:

Jul 24 19:41:34 Jeroen-Antec kernel: [16270.696805] type=1400 audit(1374687694.097:599):
apparmor="DENIED" operation="mkdir" parent=5798 profile="r-test" name="/tmp/RtmpcUOJuQ/"
pid=5802 comm="R" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000

Kann ich das irgendwie sagen?R CMD INSTALL benutzen/tmp/jeroen stattdessen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage