क्या बाहरी ड्राइव पर प्रोग्राम इंस्टॉल करना संभव है?


9

मैं crouton का उपयोग करते हुए एक Toshiba क्रोमबुक पर Ubuntu 14.04 चलाता हूं। मेरा ओएस जिस ड्राइव पर स्थापित किया गया है वह छोटा है, जिसमें केवल 3.6 जीबी की खाली जगह है। मैं sageअपने सिस्टम पर इंस्टॉल करना चाहता हूं, लेकिन सिस्टम पर sage6 जीबी खाली जगह की आवश्यकता है।

हालांकि, मैं हमेशा एक एसडी कार्ड यूनिट में डाला जाता हूं। कार्ड में 175 जीबी खाली जगह है। क्या sageएसडी कार्ड पर स्थापित करना संभव है ?

जिस तरह से मैं sageकमांड के साथ डाउनलोड करने का प्रयास कर रहा हूं

apt-add-repository -y ppa:aims/sagemath
apt-get update
apt-get install sagemath-upstream-binary

जैसा यहां पाया गया है


ऋषि को कैसे स्थापित कर रहे हैं? डिबेट पैकेज से? एक संग्रह unpacking द्वारा? स्रोत से संकलन करके?
गिल्स एसओ- बुराई को रोकना

@ गिल्स मैंने सिर्फ यह सवाल अपडेट किया कि मैं कैसे स्थापित कर रहा हूं sage
ब्रायन फिट्जपैट्रिक

जवाबों:


4

पैकेज के आधार पर एक पैकेज पर अलग-अलग डिस्क पर डेबियन पैकेज को विभाजित करना मुश्किल है। उसके लिए कोई समर्थन नहीं है; आपको उन dpkgपैकेजों पर अलग से आह्वान करना होगा जिन्हें आप गैर-डिफ़ॉल्ट स्थान पर स्थापित करना चाहते हैं।

डायरेक्ट्री ट्री को अलग डिस्क पर रखना आसान है। सौभाग्य से आपके लिए, जहाँ तक मैं एक त्वरित गड़बड़ी से बता सकता हूं, पीपीए में ऋषि पैकेज अधिकांश फाइलों को स्थापित करते हैं /usr/lib/sagemath। एसडी कार्ड में आप आसानी से डाल सकते हैं। मान लीजिए कि SD कार्ड चालू है (जब मौजूद है) /media/sdcard। वहां एक निर्देशिका बनाएं और एक प्रतीकात्मक लिंक बनाएं।

mkdir /media/sdcard/sagemath
ln -s /media/sdcard/sagemath /usr/lib/sagemath

फिर dpkg के तहत इंस्टॉल होने वाली सभी फाइलें /usr/lib/sagemathएसडी कार्ड पर समाप्त हो जाएंगी (चाहे वे किस पैकेज से आए हों)।

यदि आप Sage का उपयोग करने की कोशिश करते हैं या SD कार्ड मौजूद नहीं होने पर ऋषि पैकेजों का प्रबंधन करते हैं, तो आपको एक त्रुटि संदेश मिलेगा, और यदि आप SD कार्ड सम्मिलित करते हैं और कार्रवाई दोहराते हैं, तो कोई नुकसान नहीं होगा।


सुझावों के लिए धन्यवाद। मैंने आपके सुझावों का पालन किया है और स्थापित किया है sage। हालांकि, $ sageरिटर्न जारी करना bash: /usr/bin/sage: Permission denied
ब्रायन फिट्जपैट्रिक

यदि आपको "निष्पादन योग्य" और स्वामी / समूह जानकारी जैसी विशेषताओं की आवश्यकता है, तो आपको UNIX- प्रकार फ़ाइल सिस्टम (जैसे ext4, btrfs आदि) के लिए बाहरी ड्राइव की आवश्यकता है।
नेद64

@ Ned64 मेरा sd कार्ड ext4 है।
ब्रायन फिट्जपैट्रिक

@BrianFitzpatrick मैं यह कहने जा रहा था कि आपको vfat के शीर्ष पर posixovlfs की आवश्यकता है, लेकिन चूंकि यह ext4 है इसलिए आपको कुछ विशेष की आवश्यकता नहीं होनी चाहिए। हालांकि ... आप एसडी कार्ड कैसे बढ़ा रहे हैं? यदि आपके पास userविकल्प है /etc/fstab, तो execविकल्प जोड़ें ।
गिल्स एसओ- बुराई पर रोक '21

@ गिल्स माय etc/fstabरीड# UNCONFIGURED FSTAB FOR BASE SYSTEM
ब्रायन फिट्ज़पैट्रिक

4

यह एक दिलचस्प सवाल है। आइए हम कुछ तरीकों पर चर्चा करें, जिन्हें आजमाया जा सकता है।

विधि # 1: उपयुक्त स्थापना के दौरान हेरफेर स्थान

Apt-get का उपयोग करते हुए, ऐसा करना संभव नहीं होगा। यदि आप .debफ़ाइलों का उपयोग करके स्थापित कर रहे हैं , तो फिर से यह संभव नहीं है। कारण बस इतना है कि स्थापना के लिए स्थान इन पैकेजों में कठिन-कोडित है।

स्थापना स्थान में हेरफेर करने के लिए, आपको sageस्रोत से संकलन करना होगा और makefileइसे स्थापित करने से पहले संशोधित करना होगा। यह निर्भरता के प्रबंधन के बोझ के साथ आएगा।

हालाँकि, इसे लेकर चर्चाएँ होती रही हैं। शायद, लोगों ने किया है। हो सकता है कि उन्होंने किसी तरह स्थापना स्थान में हेरफेर किया हो। यहाँ और यहाँ देखें । यदि आपको ऐसा करने का कोई तरीका मिल जाए, तो कृपया एक टिप्पणी जोड़ें।

विधि # 2: / usr फ़ोल्डर का स्थान बदल रहा है

आप /usrस्वयं फ़ोल्डर का स्थान बदल सकते हैं और इसे अपने बाहरी कार्ड में स्थानांतरित कर सकते हैं। आमतौर पर यह हतोत्साहित किया जाता है, लेकिन चूंकि आप कह रहे हैं कि आप इसे हमेशा सम्मिलित करते हैं, इसलिए यह ठीक होना चाहिए।

ऐसा करने के लिए, 2 तरीके हैं:

  1. (पसंदीदा) अपने बाहरी कार्ड में एक विभाजन बनाएँ और वर्तमान /usrफ़ोल्डर की सभी सामग्री को उस विभाजन में स्थानांतरित करें । फिर, /etc/fstabउस विभाजन को /usrफ़ोल्डर के रूप में माउंट करने के लिए संशोधित करें , और पुराने /usrफ़ोल्डर को पूरी तरह से हटा दें । यह सब करने के लिए, आपको कुछ बचाव डिस्क या कुछ लाइव सीडी / यूएसबी से बूट करना होगा।

  2. इस विधि में भी, पहले कुछ बचाव डिस्क या लाइव सीडी / यूएसबी से बूट करें और फिर /usrफ़ोल्डर को बाहरी कार्ड में ले जाएं और फिर नए फ़ोल्डर में एक सिमिलिंक बनाएं /usr

पुनश्च

यह एक दिलचस्प सवाल है, जिसके बारे में मैं हाल ही में सोच रहा था क्योंकि मेरी हार्ड-डिस्क भरी हुई थी। मैं इनमें से कुछ चीजों की कोशिश करूंगा और अपने जवाब को अपडेट करूंगा। इन विधियों में से कुछ की आलोचना करने के लिए टिप्पणियों का स्वागत है।

अपडेट करें

@Gilles जवाब भी देखें। उनका सुझाव बेहतर है। सभी /usrफ़ोल्डर को बाहरी कार्ड में ले जाने के बजाय , बस /usr/lib/sagemathबाहरी कार्ड पर जाएं क्योंकि यह आपकी स्थापना के लगभग 3.1GB पर है। तो, विधि # 2 में , आप इस फ़ोल्डर को इसके स्थान पर स्थानांतरित कर सकते हैं /usr


चलती /usrएसडी कार्ड पर प्रणाली व्यर्थ होगा जब एसडी कार्ड मौजूद नहीं है। यह एक अच्छा विचार नहीं है।
गिल्स एसओ- बुराई को रोकें '21

हाँ। लेकिन ओपी ने उल्लेख किया है कि कार्ड हमेशा अलग रखा जाएगा। मैंने अपने उत्तर में इसका उल्लेख किया है।
शिवाम्स

@ गिल्स मैं सिर्फ आपका जवाब देता हूं। आपका सुझाव निश्चित रूप से बेहतर है।
शाम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.