मैं कई आर पुस्तकालयों (*) को एक ड्राइव से दूसरे ड्राइव पर ले जाना चाहता हूं, लिनक्स पर, और जानना चाहूंगा कि एक आसान कदम व्यवहार्य और सुरक्षित है या यदि मुझे पैकेजों को अनइंस्टॉल और पुनर्स्थापित करना चाहिए। मुझे एहसास है कि पुस्तकालयों के स्थानों की पहचान .libPaths()
के माध्यम से की जाती है और पुस्तकालयों को माइग्रेट करने के बारे में जानने के लिए "आर स्थापना और प्रशासन" मैनुअल के माध्यम से देखा गया है, लेकिन एक अनुशंसित प्रक्रिया नहीं देखते हैं।माइग्रेटिंग आर लाइब्रेरी
मैं तीन विकल्प मानता: गैर आधार संकुल के सभी के लिए
- भागो
remove.packages()
, औरinstall.packages(lib = "/path/to/new/location")
के माध्यम से नए सिरे से स्थापित करें। - पुस्तकालयों (निर्देशिका)
mv
का उपयोग कर ले जाएँ और नए स्थानों को इंगित करने के सिमलिंक का उपयोग - उपयोग लिनक्स में
mv
आदेश निर्देशिका थोक ले जाएँ और के रूप में में सुझाव दियाR_HOME/etc/Rprofile.site
में.Library.site
अद्यतन करते हैं, करने के लिए (और अंत में सिमलिंक निकालने के लिए) R Installation and Administration manual
विकल्प # 1 धुंधला है। विकल्प # 2 काम करना चाहिए, लेकिन थोड़ा अस्वस्थ लगता है।
# 3 सुरक्षित है या इसके साथ गंभीर समस्याएं हैं? जिन मुद्दों को मैंने पहचाना है वे हैं: निर्देशिका अनुमतियां और संभावना है कि किसी भी पैकेज का सेटअप सापेक्ष पथ (जो अवांछित और अनावश्यक लगता है) के बजाय पूर्ण पथ संग्रहीत करता है।
पूर्ण पथों के भंडारण के संबंध में, मैंने पाया कि rJava
run
नामक फ़ाइल में R_HOME
का स्थान संग्रहीत करता है। यह लाइब्रेरी समस्या प्रति से नहीं है, लेकिन यह एक पूर्ण पथ की एक निजी प्रति को रखते हुए पैकेज (और उस पर एक अच्छा पैकेज) का एक संकेत है।
(*) कई पुस्तकालय और कई सारे पैकेज हैं। स्वाभाविक रूप से, केवल पुस्तकालय (निर्देशिका) स्थानांतरित हो जाते हैं, लेकिन संकुल प्रभावित हो सकते हैं।
अद्यतन 1/स्पष्टीकरण: बस स्पष्ट करने के लिए: मैं केवल पलायन पुस्तकालयों, आर के संस्करण या संकुल के संस्करणों नहीं बदल रहा हूँ। आर या संकुल को अद्यतन करना अलग से किया जा सकता है, लेकिन सवाल यह है कि पुस्तकालयों को स्थानांतरित करना या नहीं करना संभव है। ऐसा लगता है कि यदि यह सुनिश्चित करने के लिए कि चीजें सही तरीके से इंस्टॉल की गई हैं, तो सभी संकुल को अद्यतन या पुनर्स्थापित करना आवश्यक है, तो यह विकल्प # 3 के विकल्प # 1 के समान पथ है।
अद्यतन 2: another SO post के उत्तर में अपग्रेड करते समय इस समस्या से बचने के बारे में कुछ अच्छे विचार हैं। मैं आर को अपग्रेड नहीं कर रहा हूं, लेकिन आर के फाइलट्री में पैकेज इंस्टॉल नहीं करने के डिर्क एडडेलबुटेल के सुझाव बुद्धिमान हैं।
सुनिश्चित नहीं है कि आप वास्तव में क्या करने की कोशिश कर रहे हैं लेकिन आप [यह] (http://stackoverflow.com/questions/5721942/making-r-installation-self-contained-user-independent/6709445 पर देखना चाहेंगे # 670 9 445) प्रश्न और उससे संबंधित। लाइब्रेरी और पैकेज के बीच अंतर जानने के लिए – Fred
+1 :-) –
@ gsk3: मुझे उम्मीद है कि मैंने उस प्रकार की सभी संभावित त्रुटियों को ठीक किया है। मैं इस तरह के शब्दावली मुद्दे के लिए क्रूरता प्राप्त नहीं करना चाहता हूं। :) – Iterator