लिनक्स पर एक tar.gz फ़ाइल को वास्तव में कैसे स्थापित करें - मैन्युअल रूप से स्थापित (या स्टैंडअलोन) अनुप्रयोगों का प्रबंधन कैसे करें?


12

मैं इन सभी लिंक को पैकेज और .debs की व्याख्या करते हुए देखता हूं ... मुझे पता है कि ... और वहाँ कई kludges पाने के लिए tar.gz फाइलें काम कर रही हैं (उदाहरण के लिए: जावा के लिए अद्यतन-विकल्प या मैन्युअल रूप से / usr / लोकल / में फ़ाइल को ड्रॉप करना बिन (या कहीं और, जो मैंने खोज के घंटे से घटा दिया था))। यदि पैकेज इतने स्मार्ट हैं, तो संकुल या .debs / rpms में इतने कम लिनक्स अनुप्रयोग कैसे उपलब्ध हैं?

मैं एक नए उपयोगकर्ता के रूप में बोल रहा हूं; मुझे पता है कि विशेषज्ञ शायद इसे बेहतर जानते हैं (मुझे लगता है कि मैं ग्रहण का एक संकलन संस्करण डाउनलोड कर सकता हूं?)। जैसे netbeans और chrome हैं .sh, ग्रहण एक सादा, प्रशंसनीय निर्देशिका है, Java को इस update-alternativesव्यवसाय की आवश्यकता होती है, लेकिन मुझे नहीं लगता कि यह उबंटू / डेबियन की "प्रोग्राम लिस्ट" (सिर्फ एक कमांड के रूप में रजिस्टर) आदि में पंजीकृत है, (मुझे ये पता है) कभी-कभी रिपॉजिटरी में उपलब्ध होता है, लेकिन मैं सिर्फ भ्रमित हूं कि डाउनलोड पृष्ठ उचित स्पष्टीकरण क्यों नहीं देते हैं)।

लंबी कहानी छोटी: यदि कोई डाउनलोड या टारगेट फ़ाइल संकलित करता है, तो मैं इसे सिस्टम में कैसे पंजीकृत करूं? update-alternativesइसे उबंटू में एक कमांड के रूप में पंजीकृत करने के लिए लगता है, यह सर्च बार में दिखाई नहीं देता है। डेबियन में, मैं मैन्युअल रूप से GNOME 2 लॉन्चर में शॉर्टकट जोड़ सकता हूं। लेकिन मुझे वास्तव में क्या करना चाहिए?


संपादित करें:

इसलिए नए समाधानों के साथ थोड़ा और अधिक खेलने के बाद, मैं अपनी "समस्या" को परिष्कृत कर सकता हूं:

मुझे अपने मैन्युअल रूप से इंस्टॉल किए गए कार्यक्रमों का प्रबंधन कैसे करना चाहिए? फ़ायरफ़ॉक्स और एक्लिप्स मेरे अब तक के एकमात्र उदाहरण हैं (मैं बहुत सारे सामान डाउनलोड नहीं करता)। वे दोनों बॉक्स को चला सकते हैं, जो मुझे पसंद है। सिवाय, मुझे उन्हें कहाँ स्थापित करना चाहिए? मुझे लगता है कि ग्रहण के अपने निर्देश हैं, लेकिन मैं अपने सभी "मैनुअल पैकेज" उसी तरह से करूंगा।

  1. कुछ शोध के बाद, मैंने इन कार्यक्रमों को लगाने का फैसला किया /usr/local/bin
  2. से कैसे ग्रहण स्थापित करने के लिए , मैं लॉन्चर में दिखाई के लिए कुछ पाने के लिए लगा, मैं एक डाल करने के लिए की जरूरत xxx.desktopमें फ़ाइल ~/.local/share/applications/। इस .desktop फ़ाइल का नाम क्या मायने रखता है?
  3. Autotools साथ सामग्री (मैं एक के लिए देखो configureया unix/configureफ़ाइल) ठीक बाहर काम करेंगे। कुछ शोध बताते हैं कि मुझे CheckInstallइन सभी पर नज़र रखने के लिए उपयोग करना चाहिए ।
  4. मुझे update-alternativesरास्तों को पंजीकृत करने के लिए उपयोग करना चाहिए । इस से जावा धागा , यह है कि मैं से एक लिंक बनाने के लग रहा है /usr/bin/javaकरने के लिए /usr/lib/jvm/jdk...। जब मैं ग्रहण या फ़ायरफ़ॉक्स जैसे इन "स्टैंडअलोन" अनुप्रयोगों को स्थापित करता हूं, तो क्या मुझे हमेशा लिंक करना चाहिए /usr/bin/[app]? और अगर जोर 1 सच है, तो मैं सामान की तरह कर रहा हूँsudo update-alternatives --install "/usr/bin/[app]" "[app]" "/usr/local/bin/[app]" 1

क्या मैनुअल इंस्टॉलेशन को प्रबंधित करने के लिए ये निर्देश सही / एक अच्छा तरीका है? क्या कोई अन्य कदम हैं जिनका मुझे पालन करना चाहिए? अन्य सुझाव?


1
*.debइसके बदले पैकेज की तलाश क्यों नहीं की गई ?
m0nhawk

@ m0nhawk हमेशा एक .deb फ़ाइल नहीं खोज सकता? जैसे ग्रहण के डाउनलोड पृष्ठ पर यह सिर्फ tar.gz है। जब तक मैं इसे पूरी तरह से याद नहीं कर रहा हूँ
Raekye

1
ग्रहण के लिए निश्चित रूप से डेबियन ( उबंटू के लिए ) के लिए एक पैकेज मौजूद है । और मुझे लगता है कि *.tar.gzसॉफ्टवेयर को संभालने का सबसे अच्छा तरीका उचित पैकेज बनाना है *.rpm, *.debआदि
m0nhawk

1
आपको .desktopमेनू में कुछ दिखाने के लिए एक फ़ाइल की आवश्यकता है । update-alternativesकेवल आपकी प्राथमिकता के लिए काम करता है PATH
ट्रिपल

1
आपका प्रश्न अभी भी है "मुझे ______ के साथ नए सॉफ़्टवेयर को पंजीकृत करने के लिए क्या करना चाहिए" जहां _____ एक विशेष डेस्कटॉप वातावरण है, और सामान्य रूप से "मुझे WRT लिनक्स क्या करना चाहिए" नहीं। इसके अलावा, शायद, $ PATH पर्यावरण चर के बारे में एक निहित अज्ञान?
गोल्डीलॉक्स

जवाबों:


15

पैकेज रेपो में बहुत सारे ऐप क्यों उपलब्ध नहीं हैं?

इसके कई कारण हो सकते हैं:

कोई एक ही कारण नहीं है। यदि आप अपने पसंदीदा ऐप को अपने डिस्ट्रो के पैकेज मैनेजर में देखना चाहते हैं, तो आपको प्रत्येक मामले का अलग से इलाज करना चाहिए। देवताओं के साथ संपर्क करने की कोशिश करें (उदाहरण के लिए एक आईआरसी चैनल या मेलिंग सूची पर) और पूछें कि आप पैकेजिंग में कैसे मदद कर सकते हैं।

टारबॉल कैसे स्थापित करें?

टारबॉल (.tar.gz पैकेज) में कुछ भी हो सकता है। जब तक आप वास्तव में इसे नहीं खोलते, तब तक आपके पास इसे स्थापित करने का कोई तरीका नहीं है। फिर से, प्रत्येक पैकेज को अलग तरीके से संपर्क किया जाना चाहिए।

प्रलेखन के लिए देखो! कोई भी (सेमी-) सभ्य पैकेज आवेदन को कैसे स्थापित करें, इस बारे में निर्देश प्रदान करेगा। आपका पहला रिफ्लेक्स हमेशा एक पाठ फ़ाइल की तलाश में होना चाहिए जिसे README, INSTALL या ऐसा कुछ कहा जाए। प्रकाशक की वेबसाइट की जाँच करने से भी मदद मिल सकती है।

चूंकि हर पैकेज अलग होता है, इसलिए दुनिया में हर टारबॉल को संसाधित करने का कोई सार्वभौमिक तरीका नहीं है। यह एक ऐसी रेसिपी माँगने जैसा है जो दुनिया की सभी सामग्रियों पर काम करती है। नहीं हो रहा।

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

एक विशेष मामला: ऑटोटूलस

जैसे-जैसे परियोजनाएं बड़ी होती हैं, उन्हें सिस्टम पर पूर्ण इंस्टॉल करने के लिए स्रोत कोड से बाइनरी में स्थानांतरित करने के लिए आसान तरीके प्रदान करने की आवश्यकता होती है। यही कारण है कि वे एक एम्बेडेड बिल्ड सिस्टम के साथ जहाज करते हैं, आवश्यक करने के लिए स्क्रिप्ट का एक संग्रह।

लिनक्स / ओपन सोर्स / फ्री सॉफ्टवेयर की दुनिया में, एक बिल्ड सिस्टम को व्यापक रूप से अपना लिया गया: जीएनयू ऑटोटूलस । यदि आप कभी भी (एन ओपन) स्रोत पैकेज के साथ सौदा करते हैं, तो एक ठोस संभावना है कि आप ऑटोटूलस का उपयोग कर रहे हैं।

सरलतम स्थिति में, यहां ऑटोटूल के साथ पैक किए गए ऐप को कैसे स्थापित किया जाए:

  • ./configure: एक स्क्रिप्ट जो आपके सिस्टम के अनुरूप मेकफाइल्स उत्पन्न करेगी (यह अक्सर निर्भरता की उपलब्धता के लिए भी जांच करती है)।
  • make: पहले उत्पन्न मेकफाइल्स के अनुसार स्रोत कोड का संकलन।
  • make install: बायनेरिज़ को उपयुक्त स्थानों पर कॉपी करता है, सहानुभूति बनाता है, और डेवलपर द्वारा परिभाषित कोई अन्य कदम।

टिप्पणियाँ

  • configureलिपियों में आमतौर पर बहुत सारे विकल्प होते हैं, जैसे संकलक का उपयोग करना या लक्ष्य निर्देशिका को कैसे परिभाषित करना है। यदि आपको लचीलेपन की आवश्यकता है, तो यह देखने लायक है ./configure --help
  • यहां तक ​​कि अगर आपको यकीन है कि यह ऑटोटूलस है और आप इसे अच्छी तरह से जानते हैं, तो हमेशा डॉक्स (README, INSTALL, ...) पढ़कर शुरू करें।

प्रश्न में अद्यतन का उत्तर दें

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

यह कहा जा रहा है, यहाँ कुछ व्यक्तिगत टिप्पणियां हैं।

  • मेरे सिस्टम पर, मैं /usr/local/binअपने पैकेज मैनेजर द्वारा स्थापित पैकेजों के लिए आरक्षित करता हूं। मैं जो कुछ भी संकलित / स्थापित करता हूं वह हाथ से चला जाता है /opt। यह एक विवरण है लेकिन यह एक ही कार्यक्रम के कई संस्करणों के साथ काम करते समय प्रमुख सिरदर्द से बचने में मदद करता है।

  • xxx.desktop, और सामान्य रूप से GUI समस्याएँ, आपके द्वारा उपयोग किए जा रहे डेस्कटॉप वातावरण के लिए विशिष्ट हैं। यदि यह आपके सिस्टम के लिए काम करता है, महान। लेकिन यह यूनिक्स पर उपलब्ध सभी वातावरण के लिए सामान्यीकृत नहीं किया जा सकता है।

  • /usr/local/binपहले से ही आपके पेट में होने का फायदा है । यदि आप किसी अन्य निर्देशिका (जैसे /optकि मेरा सुझाव है) का उपयोग करना चाहते हैं , तो इसे अपने पेट में शामिल करना सुनिश्चित करें। यदि आप नहीं जानते कि यह कैसे करना है, तो एक टर्मिनल खोलें और एक टर्मिनल में निम्नलिखित निष्पादित करें (ऐसा करने का सबसे सुंदर तरीका नहीं है, लेकिन आपके सिस्टम के बारे में कुछ भी जाने बिना, मैं कुछ और सुझाव नहीं दे सकता):echo 'export PATH=$PATH:/opt' >> ~/.bashrc


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

आपका स्वागत है, मुझे आशा है कि यह मदद करता है :) मैंने आपके अपडेट को संबोधित करने के लिए अपना उत्तर संपादित किया। ध्यान रखें कि चीजें करने के लिए कोई "वन ट्रू वे" नहीं है (सिवाय अगर आप एक emacsउपयोगकर्ता हैं)। आपको परीक्षण और त्रुटियों से गुजरना होगा, समय के साथ, प्रत्येक अलग-अलग दृष्टिकोण के लाभ और कमियां।
रहमू

अद्यतन के लिए धन्यवाद! निश्चित रूप से करता है। मैं अनुमान लगा रहा हूं कि xxx.desktopआम तौर पर GNome के लिए काम करता है। update-alternativesपथ का उपयोग करने के बारे में आप क्या जानते हैं ?
राकेय

1
जहाँ तक मुझे पता है, यह जेनेरिक सॉफ़्टवेयर से निपटने के लिए एक डेबियन-विशिष्ट तरीका है, जैसे कई ब्राउज़र या संपादक। (उबंटू और मिंट डेबियन पर आधारित हैं और इसे विरासत में मिला है)। यहाँ अधिक है अगर आप रुचि रखते हैं
rahmu

बहुत बढ़िया जवाब। एक चीज जो अक्सर आवश्यक होती है (या कम से कम पसंद की जाती है) एक सुडोल बनाने के लिए अंतिम चरण के रूप में स्थापित करना है (जिस पैकेज पर आपको भरोसा है)। यह प्रक्रिया को अनुमति देता है कि वह सिस्टम निर्देशिकाओं में चीजों को आपके उपयोगकर्ता (जैसे / usr / बिन) के स्वामित्व में न रखे।
जो

8

मुझे लगता है कि आप खुद के साथ स्पष्ट करने के लिए क्या आप इसे "पंजी" करना चाहते हैं के साथ

समझाने के लिए - और मैं स्मार्ट-एलेकी बनने की कोशिश नहीं कर रहा हूं - "लिनक्स", निश्चित रूप से, कर्नेल और कर्नेल के बारे में न तो जानता है और न ही आपके सिस्टम में किसी भी उपयोगकर्ता सॉफ़्टवेयर में कोई रुचि है जो इनिट से परे है। तो हम यहाँ किस बारे में बात कर रहे हैं?

आप कई अलग-अलग डिस्ट्रोस का उल्लेख करते हैं। मैं कभी-कभी स्रोत से सॉफ़्टवेयर का निर्माण करता हूं, भले ही यह रिपॉजिटरी में उपलब्ध हो, क्योंकि मैं कुछ कॉन्फ़िगर विकल्प सेट करना चाहता हूं जो डिस्ट्रो बाइनरी में सेट नहीं हैं। मेरे पास एकमात्र समस्या यह है कि अगर पैकेज किसी और चीज के लिए एक शर्त है, तो मुझे वास्तव में पैकेजिंग सिस्टम के साथ इसे पंजीकृत करना होगा ताकि मैं गलती से एक के ऊपर डिस्ट्रो पैकेज स्थापित करने से बच सकूं। फ़ेडोरा / आरपीएम आधारित प्रणालियों पर, इसके साथ किया जाता है rpm -i --justdb <package>। मैं डेबियन / एप आधारित प्रणालियों पर ऐसा नहीं करता हूं; इसके बजाय मैं सिर्फ आवश्यकतानुसार स्थापित करता हूं, जो शायद आलसी है - ऐसा करने का एक अच्छा तरीका है, एक डमी पैकेज बनाकर जो कुछ भी शर्त पूरी करने का दिखावा करता है। यह वास्तव में .tar.gz स्रोत से एक पैकेज बनाने के m0nhawk के सुझाव की तर्ज पर छाँटा गया है - थोड़े सरल को छोड़कर (मैं ईमानदारी से कहूंगा कि मुझे m0nhawk के सुझाव बिल्कुल पसंद नहीं हैं)।

ऐसा लगता है कि आपके पास पैकेजिंग सिस्टम के अलावा कुछ अन्य मुद्दे हैं। यह मेरे लिए स्पष्ट नहीं है कि वे क्या हैं, हालांकि आप डेस्कटॉप वातावरण (जैसे, सूक्ति) का उल्लेख करते हैं। ये विषम हैं, इसलिए इस सवाल का कोई एक जवाब नहीं है, "मैं लिनक्स पर यह कैसे करता हूं" - यह "उबंटू पर मैं यह कैसे करूं" या "मैं यह कैसे करूं, यह सवाल भी नहीं है।" gentoo "- यह एक सवाल है कि" मैं गनोम डेस्कटॉप के लिए यह कैसे करता हूं "या" एक्सएफसीई डेस्कटॉप पर यह कैसे करते हैं ", आदि। मेरे दिमाग में, केवल वही मुद्दा है जो आपके द्वारा उल्लेख किए गए लॉन्चर का मामला है, जो मैं यह विश्वास करना चाहेंगे कि प्रत्येक DE ऐसा करने का एक सरल साधन प्रदान करता है (लेकिन यह बिल्कुल वैसा ही नहीं होगा, क्योंकि वे भिन्न हैं)।

फिर ऐसी सेवाएँ हैं, जिन्हें init सिस्टम (जैसे, systemd या upstart) द्वारा प्रबंधित किया जाता है। तो यह प्रश्न वास्तव में संभावित रूप से संबंधित प्रश्नों की एक श्रृंखला है:

  • पैकेजिंग प्रणाली, जैसे, उपयुक्त या यम
  • init सिस्टम, जैसे, systemd या upstart
  • डेस्कटॉप वातावरण, जैसे, kde या एकता
  • फाइलब्रोवर, जैसे, नॉटिलस या कोनकेर
  • ?????

इस कारण का एक हिस्सा एक सरल एकीकृत समाधान नहीं हो सकता है (हालाँकि XDG मानक कुछ ऐसे हिस्से प्रदान कर सकता है ) यह है कि "linux" एक सरल एकीकृत ऑपरेटिंग सिस्टम नहीं है और मुझे लगता है कि इसके अधिकांश उपयोगकर्ता इसे पसंद करते हैं। मैं अक्सर एक डीए का उपयोग नहीं करता हूं, और मैं कभी भी उनके साथ आने वाले फ़ाइल ब्राउज़र का उपयोग नहीं करता हूं, आदि।

फिर से, मैं वास्तव में इसके साथ मदद करने की कोशिश कर रहा हूं और न ही सिर्फ पॉन्टिट्यूशन: अगर कोई समस्या है जिसे आप यहां हल करना चाहते हैं, तो आपको अधिक सटीक रूप से विचार करना होगा कि वे समस्याएं क्या हैं और कौन सा सॉफ्टवेयर वास्तव में उनके साथ शामिल है (सिर्फ "लिनक्स से परे) ") यदि आप उन्हें हल करना चाहते हैं।


"इन द डिस्ट्रो बाइनरी" <- / मुझे स्रोत-आधारित
डिस्ट्रोस के

इसके अलावा, XDG मानक के साथ एक समस्या यह है कि कुछ अपस्ट्रीम इस बात की परवाह नहीं करती हैं और डिस्ट्रो डेवलपर्स अपनी .desktopफाइलें प्रदान करने वाले हैं , इस तरह के कार्यों के लिए इनकी आवश्यकता होती है।
njsg

मुझे नहीं पता कि अपस्ट्रीम डेवलपर्स को इससे चिंतित होना चाहिए। मैंने अभी XDG का उल्लेख किया है क्योंकि यह अंतिम उपयोगकर्ता के लिए उपलब्ध है यदि आप इसका उपयोग करना चाहते हैं। विषमता का एक मूल्य यह है कि यह अनिवार्य रूप से उपयोगकर्ता पर जिम्मेदारी का बोझ डालता है जो उनके पास नहीं होगा, जैसे, OSX। कुछ लिनक्स डिस्ट्रो का लक्ष्य दूसरों की तुलना में इसे कम से कम करना है, और आप चुनने के लिए स्वतंत्र हैं, लेकिन अंततः मुझे लगता है कि जो लोग उस मॉडल के साथ वास्तव में असहज हैं, उन्हें सीधे सादे लिनक्स का उपयोग नहीं करना चाहिए - मुझे यकीन नहीं है कि वे क्यों चाहते हैं? पहला स्थान, वास्तव में।
गोल्डीलॉक्स

मैंने एक बेहतर प्रश्न तैयार किया है - मुझे अपने मैन्युअल रूप से स्थापित अनुप्रयोगों का प्रबंधन कैसे करना चाहिए? जैसे ग्रहण और फ़ायरफ़ॉक्स, जो आम तौर पर जटिल निर्भरता के बिना चलते हैं (इसलिए मैं इसे स्वयं स्थापित कर सकता हूं और पैकेज डाउनलोड कर सकता हूं)। वे स्टैंडअलोन का काम करते हैं, जैसा कि आपके या किसी और ने उल्लेख किया है, लेकिन क्या मुझे इन ऐप्स पर नज़र रखनी चाहिए, बजाय इसके कि वे मेरे फाइल सिस्टम के चारों ओर छोड़ दें? (अपडेट किया गया प्रश्न देखें)
Raekye

राकेय: इससे मेरी बात पर कोई फर्क नहीं पड़ता है, जो यह है कि आपको अपने द्वारा स्रोत / usr / लोकल में स्थापित की गई चीजों को प्रबंधित करने या "रखने" के लिए कुछ भी करने की ज़रूरत नहीं है, सिवाय इसके कि आप किस हद तक चाहते हैं जो भी आपके उद्देश्य हैं। $ PATH में संकलन और स्थापित करने से परे, कोई सार्वभौमिक लिनक्स रजिस्ट्री नहीं है क्योंकि इस तरह के सार्वभौमिक दृष्टिकोण का कोई उद्देश्य नहीं है। मैं मान रहा हूं कि आप चिंतित हैं कि आप कुछ चूक गए हैं - आपने नहीं किया। आप अन-टार, आप configure, आप make install। बस, हो गया। उसके बाद कुछ भी व्यक्तिगत प्राथमिकता का मामला है।
गोल्डीलॉक्स

5

मुझे लगता है कि आपकी समग्र समस्या का मूल कारण यह है कि इस पर एक लिनक्स सिस्टम में "रजिस्ट्री" नहीं है। एक निष्पादन योग्य फ़ाइल आपको चलाने के लिए वास्तव में कुछ चाहिए। यदि आप निष्पादन योग्य के लिए पूर्ण पथ निर्दिष्ट नहीं करना चाहते हैं, तो अधिकांश गोले आपके वातावरण $ PATI चर में सूचीबद्ध निर्देशिकाओं में उनके लिए देखेंगे। यह लिंक किए गए पुस्तकालयों और इसी तरह थोड़ा और अधिक जटिल हो सकता है, लेकिन आम तौर पर आपको उस तक पहुंचने की आवश्यकता नहीं है।

लिनक्स के विभिन्न वितरणों ने विभिन्न फाइल सिस्टम लेआउट और पैकेज प्रबंधन प्रणालियों पर मानकीकृत किया है, जिसमें समस्या है। रेडहेट्स आरपीएम , डेबियन / उबंटू डिब पैकेज का उपयोग करते हैं। आर्क चला गया यह भी अपना रास्ता है । एक सॉफ्टवेयर प्रोजेक्ट के नजरिए से, जब तक आप एक वितरण में शामिल नहीं होना चाहते हैं, तब तक आपका उपयोगकर्ता आधार पूरी तरह से एक डिस्ट्रो, या एक व्यावसायिक उत्पाद है जो सभी के लिए आसानी से स्थापित करने का लक्ष्य रखता है, वे संभवत: केवल एक बिंदु हैं जो आप बनाना चाहते हैं। विभिन्न पैकेज।

वास्तविक तथ्य में, एक स्रोत tar.gz जो बनाता है gcc, संभवतः एक आम "लिनक्स पैकेज" की सबसे अच्छी परिभाषा है। लिनक्स आधारित ऑपरेटिंग सिस्टम के सभी अलग-अलग स्वादों के बीच आम भाजक के बारे में कुछ GNU उपयोगिताओं और GCC के साथ एक लिनक्स कर्नेल।

मैं जहाँ तक "कुछ" चीजें पैकेज के रूप में उपलब्ध हैं, क्योंकि कुछ विशिष्ट चीज़ों की आपको तलाश नहीं है, तो मैं नहीं जाऊँगा। (या हो सकता है कि वितरक ने इस सभी पैकेज उपद्रव से परेशान न होने के लिए चुना है? क्रोम की तरह और यह स्वयं की अपडेट प्रक्रिया है)। वहाँ तो कर रहे हैं कई संकुल के आसपास इतनी के लिए कई अलग अलग पैकेज सिस्टम के लिए इतने सारे आर्किटेक्चर इतना मुफ्त सॉफ्टवेयर के लिए अपने नहीं अजीब

यदि आपने कुछ ऐसा बनाया है जो आपके लिनक्स के वितरण के लिए एक पैकेज के रूप में नहीं दिया गया है, या पैकेज के रूप में निर्माण करने के विकल्प का समर्थन करता है, तो इसे असली पैकेज के रूप में "पंजीकृत" करने का सबसे अच्छा तरीका यह है कि सभी को परिभाषित करना। फ़ाइलों को आपके द्वारा चुने गए पैकेज सिस्टम के आधार पर जाना चाहिए और इसे इस तरह स्थापित करना चाहिए। एक आत्मा बनें और अपने पैकेजिंग कार्य को प्रोजेक्ट में वापस योगदान दें ताकि अन्य लोग इससे लाभान्वित हो सकें।

कर रहे हैं विभिन्न गाइड के बारे में वेब संकुल का निर्माण । डेबियन उनमें से एक है

यदि आप सभी एक संकलित पैकेज चलाना चाहते हैं, तो शायद बाइनरी पथ को अपने साथ जोड़ें $PATH?

यदि आप कुछ और कर रहे हैं, तो यह क्या है?


"यदि आप सभी को संकलित पैकेज चलाना चाहते हैं, तो शायद अपने $ PATH में बाइनरी पथ जोड़ें?" <- मैं किसी भी समझदार स्थापना प्रक्रिया (जैसे कि, लगता है make installया की तरह) कम से कम के तहत एक सिमलिंक स्थापित हैं /usr/bin/, यदि तहत पूरी बात स्थापित नहीं /)
njsg

ज्यादातर, मुझे लगता है कि यह --prefix=/elsewhereसामान्य पेड़ से कस्टम बिल्ड को दूर रखने के लिए बहुत कुछ करने के कारण है ।
मैट

1
आम तौर पर, उपयोग make installकरने वाले /usr/local/bin
टारबोल

0

मैं यह जोड़ना चाहूंगा कि आप ~/bin/इसके बजाय सहानुभूति भी रख सकते हैं /usr/bin*.desktopफ़ाइलों में रखा जा सकता है ~/.local/share/applications/या /usr/share/applications/। केवल मैं अपने कंप्यूटर का उपयोग करता हूं, और मैं जितना संभव हो सके सिस्टम फाइल (मेरे घर की निर्देशिका से बाहर) को छूने से बचना पसंद करता हूं।

बेशक, जब आप "होम निर्देशिका" समकक्षों में सामान रखते हैं, तो वे अन्य उपयोगकर्ताओं के लिए दिखाई नहीं देंगे।

यह वही है जो ~/.profileडेबियन व्हीज़ी के लिए डिफ़ॉल्ट में शामिल है :

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.