2011-09-24 6 views
10

के तहत आर पैकेज के स्थापना स्थान का तर्क विभिन्न आर पैकेजों के विभिन्न स्थापना स्थानों के पीछे तर्क क्या है? मुझे लगता है कि मेरे लिनक्स मशीन पर कई अलग-अलग स्थानों में संकुल स्थापित हैं। क्या यह सामान्य व्यवहार है और यदि ऐसा है तो/usr/lib/R/लाइब्रेरी बनाम/usr/lib/r/साइट-लाइब्रेरी में पैकेज स्थापित करने के लिए तर्कसंगत क्या है? मुझे वास्तव में परवाह नहीं है कि पैकेज कहां स्थापित है, लेकिन यह मेरे सिस्टम में अलग-अलग स्थानों में इंस्टॉलेशन फैलाने के लिए मूर्खतापूर्ण प्रतीत होता है।लिनक्स

रेनवायर के पास नीचे टिप्पणी है, जो ऐसा लगता है कि/usr/lib/r/साइट-लाइब्रेरी डेबियन पैक किए गए पैकेज के लिए है, लेकिन वास्तव में अन्य दो निर्देशिकाओं के उद्देश्य को स्पष्ट नहीं करता है। साथ ही, सूची में आखिरी/usr/lib/R/लाइब्रेरी सेट करके यह इंस्टॉल.packages() के लिए डिफ़ॉल्ट dir नहीं बनाता है?

# 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"  

उत्तर

8

मैट,

आप सामान्य (सभी Linux distros) के लिए विशिष्ट (Debian/Ubuntu) से गलत तरीके से सामान्यीकरण।

यह विशेष सेटअप मुझे दो डेबियन-आर आर सदस्यों द्वारा उपयोग किया गया था (और यह उबंटू की शुरुआत से पहले था)। यह एक आर-विस्तृत अनुशंसा नहीं है, यही कारण है कि आपको मैन्युअल में यह नहीं मिलेगा, बल्कि आर पावर उपयोगकर्ताओं द्वारा डेबियन और डेबियन-समान प्रणालियों पर लागू होने की एक विशिष्ट सिफारिश है।

मूल विचार

  • , /usr/, /var/ की जुदाई के लिए पूरी तरह से वफादार रहने के लिए .... पैकेज प्रबंधन सिस्टम द्वारा नियंत्रित किया जा करने के लिए (है जैसे apt-get, dpkg ...) एक हाथ, और /usr/local/... दूसरी तरफ उपयोगकर्ता द्वारा आदि पर: इन दो करेगा कभी नहीं मिश्रण

  • ताकि /usr/local/lib/R/site-library एफआईआर हो जाता है

    .libPaths() द्वारा उत्सर्जित है और इस तरह की सूची में टी स्थान, डिफ़ॉल्ट हो जाता है इस प्रकार सुनिश्चित करना है कि उपयोगकर्ता द्वारा इंस्टॉल किए पैकेज /usr/local/ नीचे अंत पिछले बिंदु

  • ताकि /usr नीचे हम आर के बीच एक जुदाई पाने की सिफारिश पैक (में शामिल के अनुसार बुनियादी अनुसंधान स्रोतों भी: boot, grid, lattice, ...) /usr/lib/R/library अंदर, और फिर अन्य सभी पैकेज प्रबंधन /usr/lib/R/site-library नीचेr-cran-* संकुल को नियंत्रित किया। तो उदा। r-cran-xml वहाँ समाप्त होता है, या r-cran-zoo, या ...

मुझे अभी भी लगता विभाजन भयानक है, और यही वजह है कि मैं डेबियन आर संकुल में इस स्थापना को बनाए रखने।

सभी उपयोगकर्ताओं के लिए साइट-व्यापी स्थानीय पैकेज होने के कारण बहु-उपयोगकर्ता ऑपरेटिंग सिस्टम पर एक अच्छा विचार है।

+0

ठीक है धन्यवाद। मैंने सोचा कि संभवतः विभाजन के लिए एक कारण था कि मैं अपेक्षाकृत नए लिनक्स (उबंटू) उपयोगकर्ता को समझ नहीं पाया था। –