Frage Logik des Installationsortes von R-Paketen unter Linux


Welche Logik haben die verschiedenen Installationsorte verschiedener R-Pakete? Ich habe anscheinend Pakete an verschiedenen Orten auf meinem Linux-Rechner installiert. Ist dieses typische Verhalten und wenn ja, was ist der Grund für die Installation eines Pakets in / usr / lib / R / Bibliothek vs / usr / lib / R / site-library? Es ist mir egal, wo das Paket installiert ist, aber es scheint irgendwie albern zu sein, dass die Installationen an verschiedenen Stellen in meinem System verteilt sind.

Renviron hat den folgenden Kommentar, der darauf hindeutet, dass / usr / lib / R / site-library für Debian-Pakete gedacht ist, erklärt aber nicht den Zweck der beiden anderen Verzeichnisse. Wenn Sie / usr / lib / R / library zuletzt in der Liste festlegen, ist dies nicht das Standardverzeichnis für install.packages ().

# edd Apr 2003  Allow local install in /usr/local, also add a directory for
#               Debian packaged CRAN packages, and finally the default dir 


> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
[3] "/usr/lib/R/library"     

10
2017-09-24 18:39


Ursprung


Antworten:


Matt,

Sie verallgemeinern den falschen Weg vom spezifischen (Debian / Ubuntu) zum generischen (alle Linux-Distributionen).

Diese spezielle Konfiguration wurde mir von zwei Debian-benutzenden R-Core-Mitgliedern vorgeschlagen (und dies war vor dem Beginn von Ubuntu). Das ist nicht eine R-Wide-Empfehlung, weshalb Sie es nicht in den Handbüchern finden werden, sondern eher eine spezielle Empfehlung von R-Power-Usern, die auf Debian- und Debian-ähnlichen Systemen implementiert werden soll.

Die Grundidee ist

  • der Trennung treu bleiben /usr/, /var/, .... die von der Paketverwaltungssystem (z.B apt-get, dpkg, ...) einerseits und /usr/local/... usw. vom Benutzer auf der anderen Seite: diese beiden sollen noch nie mischen

  • damit /usr/local/lib/R/site-library erhält den ersten Punkt in der Liste von .libPaths() und wird somit zum Standard, wodurch sichergestellt wird, dass das vom Benutzer installierte Paket unten endet /usr/local/ wie im vorherigen Punkt

  • so dass unten /usr wir erhalten eine Trennung zwischen den empfohlenen Paketen von R (auch in den grundlegenden R-Quellen enthalten): boot, grid, lattice, ...) Innerhalb /usr/lib/R/libraryund dann alle anderen Paketverwaltung kontrolliert  r-cran-* Pakete unten /usr/lib/R/site-library. So z.B. r-cran-xml endet dort, oder r-cran-zoo, oder ...

Ich denke immer noch, dass die Aufteilung grandios ist, und deshalb behalte ich dieses Setup in den Debian R-Paketen.

Es ist eine gute Idee, die lokalen Pakete für alle Benutzer standortweit auf einem Mehrbenutzerbetriebssystem zu verwenden.


8
2017-09-24 19:42