2011-12-19 11 views
9

कैसे बदल सकता हूं apt-get की डिफ़ॉल्ट स्थापना निर्देशिका/opt है। क्या मैं इसे किसी अन्य निर्देशिका में बदल सकता हूं?मैं apt-get install निर्देशिका

+0

अधिक सटीक रहें: यह apt-get apt-get आवेदन (जब आप स्रोत से यह संकलन) के साथ स्थापित अनुप्रयोगों के डिफ़ॉल्ट निर्देशिका की की डिफ़ॉल्ट निर्देशिका है? – CedX

+0

यह apt-get – tommywang

+0

के साथ स्थापित अनुप्रयोगों की डिफ़ॉल्ट निर्देशिका है, तो आप नहीं कर सकते हैं। –

उत्तर

7

सबसे अच्छा तरीका है मैं के बारे में सोच सकते हैं एक प्रतीकात्मक कड़ी

ध्यान रखें कि सभी कार्यक्रमों को एक ही निर्देशिका में स्थापित कर रहे हैं और/opt स्थानांतरित करने के लिए सबसे अच्छी बात नहीं हो सकता है का उपयोग करें। (उबंटू 10.04) (केवल एक फ़ोल्डर/कार्यक्रम हिलाने की उदाहरण के लिए अंत देखें)

यह है कि मैं क्या EasyPeasy के साथ किया था है

इस कोड का पालन ध्यान से आदेशों की कुछ महत्वपूर्ण फाइलों अगर गलत इस्तेमाल हटा सकते हैं।

सबसे पहले आपको सुनिश्चित/ऑप्ट (या आपके डिस्ट्रोज़ डिफ़ॉल्ट apt-get इंस्टॉल निर्देशिका) को खाली करने की आवश्यकता है। आप ऑप्ट फ़ोल्डर, जो आप सबसे अधिक संभावना कर में डेटा है, तो आप इसे करने के लिए कहीं और पहले सुरक्षित रखने के लिए स्थानांतरित कर सकते हैं:

sudo mkdir /New_Location/newtmp          # Generates Temporary Folder for Programs 
sudo cp -a /opt/* /New_Location/newtmp        # Moves Programs to Temp folder 

एक बार ऊपर का समर्थन आप मूल निर्देशिका निकाल सकते हैं:

sudo rm -rf /opt/             # Removes opt directory 

फिर आप एक प्रतीकात्मक कड़ी अंतरिक्ष के बहुत सारे के साथ एक ड्राइव में अपने नए प्रोग्राम फ़ाइलें फ़ोल्डर बना सकते हैं और बना सकते हैं:

sudo mkdir /New_Location/Program-Files        # Generates New Program Directory 
sudo ln -s /New_Location/Program-Files /opt       # Creates Symbolic Link 

अंत में अपने नए फ़ोल्डर में अपने सभी पुराने कार्यक्रम फ़ाइलों को स्थानांतरित और साफ अस्थायी डेटा:

sudo cp -a /New_Location/newtmp/* /New_Location/Program-Files  # Moves Programs to Program Files Folder 
sudo rm -rf /New_Location/newtmp/         # Removes Temp folder 

यदि आप केवल एक ही प्रोग्राम को स्थानांतरित करना चाहते हैं जो आपकी जगह का एक हिस्सा ले रहा है तो आप उसी प्रक्रिया का उपयोग कर सकते हैं।

उदाहरण: जावा (जेवीएम लगभग 300 एमबी) को स्थानांतरित करने के लिए निम्नलिखित कार्य करें। डिस्क उपयोग विश्लेषक का उपयोग कर जावा की निर्देशिका की जांच करें। मेरा/usr/lib/JVM इस बिंदु पर

sudo mkdir /New_Location/Program-Files/Java       # Generates New Program Directory 
sudo cp -a /usr/lib/jvm/* /New_Location/Program-Files/Java   # Moves Program to new folder 
sudo rm -rf /usr/lib/jvm            # Removes opt directory 
sudo ln -s /New_Location/Program-Files/Java /usr/lib/jvm    # Creates Symbolic Link 

इसका सबसे अच्छा पुन: प्रारंभ करने जो कैश को साफ़ करना चाहिए करना है।

हैप्पी हैकिंग लिमिटेड खुफिया

+0

निम्नलिखित की कल्पना करो। आप विभिन्न निर्देशिकाओं में पैकेज के दो संस्करण चाहते हैं। तो दूसरा पैकेज पहले से अधिक होगा। प्रतीकात्मक लिंक तब कोई लाभ नहीं हैं। – DanFromGermany

2

आप नहीं कर सकते: स्थापना पथ संकुल में हार्ड-कोड किया गया है (उदाहरण के लिए देखें: http://packages.ubuntu.com/oneiric/i386/mono-runtime/filelist)। यह पथ आमतौर पर/optr के बजाय/usr है, लेकिन यह संकुलों पर निर्भर करता है। यदि आप डिफ़ॉल्ट निर्देशिका को ओवरराइड करना चाहते हैं, तो आपको मैन्युअल रूप से संकुल की सामग्री निकालना होगा। लेकिन, यह काम नहीं कर सकता: कॉन्फ़िगरेशन फ़ाइलें, कभी-कभी बाइनरी फ़ाइलें भी पुराने पथ का उपयोग जारी रखेगी। इसलिए पैकेजों को सही तरीके से काम करने के लिए आपको उन्हें अपडेट करना होगा।

संबंधित मुद्दे