स्थापना के लिए मुझे स्रोत डाउनलोड कहाँ से संग्रहित करने चाहिए?


10

मैं सब कुछ / tmp डाउनलोड करता था, क्योंकि make; sudo make installमैं आमतौर पर उन फ़ाइलों की आवश्यकता नहीं करता।

लेकिन अब मुझे स्रोत से इंस्टॉल किए गए प्रोग्रामों को अनइंस्टॉल करने का एकमात्र तरीका है, उपयोग करना make uninstall(जब उपलब्ध हो)। इसलिए मुझे शायद अपने डाउनलोड्स को उसी स्थिति में रखना चाहिए जब मुझे बाद में उनकी आवश्यकता हो।

तो मुझे उन्हें कहाँ स्टोर करना चाहिए? वहाँ के लिए एक डिजाइन जगह है कि linux में?


समस्या से बचें: जब संभव हो संकुल से स्थापित करें।
माइकल हैम्पटन

@Michael Hampton कभी-कभी यह एक विकल्प नहीं होता है (मुझे लगता है), उदाहरण के लिए: यदि आपको तीसरे पक्ष के मॉड्यूल को जोड़ना है, तो nginx को फॉर्म सोर्स स्थापित करने की आवश्यकता होती है।
चोकोडेवेल्टर

जवाबों:


16

स्रोत कोड रखने के लिए Filesystem पदानुक्रम मानक द्वारा परिभाषित स्थान है /usr/src। मुझे लगता है कि आप भी इस्तेमाल कर सकते हैं /usr/local/src, क्योंकि सॉफ्टवेयर जहां से आया है, वह थोड़ा अधिक वर्णनात्मक है (यानी, आपने इसे बनाया था; डिस्ट्रो नहीं)।

हालाँकि, ध्यान दें कि FHS वास्तव में उल्लेख करता है कि स्रोत कोड इस निर्देशिका से नहीं बनाया जाना चाहिए, संभवतः क्योंकि आप चीजों को रूट के रूप में संकलित नहीं करना चाहते हैं, इसलिए मुझे लगता है कि आप स्थापना के बाद स्रोत पेड़ को स्थानांतरित करेंगे। व्यवहार में, हालांकि, मैं परेशान नहीं हूं; मैं वह सब कुछ रखता हूं ~/Codeजो मैं बनाता हूं , जो एक कमरे के विभाजन पर है। असल में, व्यापक रूप से स्वीकृत सम्मेलन नहीं है; आप सिर्फ वही करते हैं जो आपके लिए काम करता है।

आपको चेकवॉच को भी देखना चाहिए , सॉफ्टवेयर का एक छोटा सा टुकड़ा जो एक कमांड से अल्पविकसित पैकेज बनाता है। (यह संभवतः आपके वितरण के भंडार में होगा।) अनिवार्य रूप से, चलने के बजाय

sudo make install

आप की तर्ज पर कुछ चलेंगे

sudo checkinstall make install

जो आपके द्वारा किए जा रहे पैकेज के बारे में बताता है, घड़ियां make installसब कुछ स्थापित करती हैं, फिर एक पैकेज बनाता है जिसे बाद में पैकेज प्रबंधक के साथ सफाई से स्थापित और अनइंस्टॉल किया जा सकता है। मेरा मानना ​​है कि चेक इंस्टॉलेशन dpkg- आधारित सिस्टम (उबंटू, डेबियन, आदि), RPM- आधारित सिस्टम (फेडोरा, RHEL, आदि) और स्लैकवेयर-आधारित सिस्टम के लिए पैकेज बना सकता है। यदि आप आर्क चला रहे हैं, तो चेक-इन से परेशान न हों; इसके बजाय, एक PKGBUILD का उपयोग करने पर विचार करें।

उम्मीद है की वो मदद करदे!


संकुल के उल्लेख के लिए +1। जो मुझे लगता है कि वह उत्तर है जिसकी आवश्यकता थी (लेकिन पूछा नहीं गया)।
हेन्नेस

धन्यवाद! मैं अब checkinstall का उपयोग कर रहा हूं, अब तक बहुत अच्छा लग रहा है। एक आखिरी सवाल: मुझे .deb, सही रखने की आवश्यकता नहीं है? dpkg यह जानेगा कि इसे कैसे अनइंस्टॉल करना है
ChocoDeveloper

यह सही है। सभी पैकेज प्रबंधक पैकेज द्वारा स्थापित फ़ाइलों की एक सूची रखते हैं, इसलिए आप इसे स्थापित करने के बाद निर्मित पैकेज को हटा सकते हैं।
तीसवें प्रहर

4

स्रोत फ़ाइलों के लिए निर्दिष्ट स्थान नहीं है; हर किसी की अपनी आदतें होती हैं।

हालाँकि, इन तीन विकल्पों पर विचार करें:

  1. जड़ों में होमेडिर (काम करता है, लेकिन यह चालू है / जो आमतौर पर छोटा है)।
  2. / usr / स्थानीय / src / (या वास्तव में कुछ भी / usr / स्थानीय / के तहत
  3. एक पैकेज के माध्यम से स्थापित करें और स्थापना रद्द करने के लिए पैकेज प्रबंधक का उपयोग करें।

लंबे समय तक रखरखाव के लिए मैं वास्तव में विकल्प 3 की सिफारिश करता हूं। भले ही आपको स्वयं (स्रोत से) पैकेज बनाना पड़े। जिस स्थिति में आपको मिलता है: अपनी पैकेज पसंद / इंस्टॉल पैकेज के आधार पर कुछ सिंटैक्स के माध्यम से अनटार / कॉन्फ़िगर / बनाना / पैकेज करना

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