लिनक्स में संस्थापित सॉफ़्टवेयर कहाँ स्थापित किया गया है? [डुप्लिकेट]


11

संभावित डुप्लिकेट:
जहां एक विशिष्ट लिनक्स प्रोग्राम स्थापित किया गया है

मैं लिनक्स के लिए नया हूं और मैं संकुल के बारे में थोड़ा और पूछना चाहता हूं।

विंडोज में, मैं एक .exeफ़ाइल डाउनलोड करता हूं और इसे स्थापित करता हूं । जब मैं स्थापित करता हूं, तो मैं उस पथ को परिभाषित करता हूं जहां मैं चाहता हूं कि वह एप्लिकेशन संग्रहीत किया जाए। उस फ़ोल्डर में, मेरे पास एप्लिकेशन के लिए आवश्यक सभी फाइलें हैं।

हालाँकि, जब मैं लिनक्स में एक पैकेज का उपयोग कर स्थापित करता हूं yumया apt-get, मुझे नहीं पता कि पैकेज कहां स्थापित किया गया है और उस एप्लिकेशन के लिए आवश्यक फाइलें कहां संग्रहीत हैं। मैंने देखा है कि अधिकांश विन्यास /etcनिर्देशिका में हैं। लेकिन लिनक्स विभिन्न निर्देशिकाओं में एप्लिकेशन के लिए आवश्यक फ़ाइलों को क्यों संग्रहीत करता है?

क्या कोई मुझे बता सकता है कि पैकेज कैसे स्थापित किए जाते हैं, और वे कहाँ और कैसे संग्रहीत किए जाते हैं? और अगर पैकेज प्रबंधन के बारे में मेरी समझ गलत है, तो कृपया मुझे सही करें।


यदि आपका वितरण उपयोग करता है rpm, तो आप rpm -q --whatprovidesकिसी विशेष फ़ाइल के लिए पैकेज का नाम खोजने के लिए उपयोग कर सकते हैं और फिर rpm -q -aयह पता लगाने के लिए कि पैकेज क्या फाइल स्थापित करता है।
डेविड श्वार्ट्ज

साथ apt-get, पैकेज उपयोग स्थापित किया गया है, तो dpkg -L PKGNAME, अगर इसका इस्तेमाल नहीं कर रहा है apt-file list
थोर

जवाबों:


15

कई प्रोग्राम (बायनेरिज़ / स्क्रिप्ट) आपके द्वारा पहले से ही नोट किए गए विभिन्न कॉन्फ़िगरेशन निर्देशिकाओं (अक्सर / अंडर ) में अन्य भागों में /binया उसके /usr/binसाथ समाप्त होते हैं etc

किसी भी विशिष्ट आदेश के लिए आप चेकआउट कर सकते हैं whereis

whereis prog_name

और यह आपको इस बारे में कुछ जानकारी देगा कि यह कमांड कहां से मिलनी है। जिसे आप भी आजमा सकते हैं

which prog_name

इसके अलावा, यह ग्राफिक और स्पष्टीकरण / उदाहरण सहायक हो सकता है।


1
+1 के लिए जहाँ - उन नए लोगों के लिए बहुत उपयोगी है

लेकिन सिर्फ विन्यास अलग निर्देशिका में क्यों सहेजा गया?

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

1
सभी सिस्टम-वाइड कॉन्फ़िग फ़ाइलों को डालने के निर्णय के इतिहास के बारे में मुझे यकीन नहीं है /etc/, लेकिन कॉन्फ़िग फ़ाइलों के लिए एक केंद्रीय स्थान होने के कारण उन्हें बैकअप लेना बहुत आसान है। (कल्पना करें कि विंडोज में सिस्टम-वाइड कॉन्फिग फाइलों का बैकअप लें, जहां वे सभी फाइलसिस्टम और रजिस्ट्री के माध्यम से बिखरे हुए हैं ...)
ली-आंग येप

@ Li-aungYip अच्छा बिंदु
लेवोन

5

विंडोज, विशेष रूप से पुराने संस्करणों के तहत, प्रोग्राम के लिए कॉन्फ़िगरेशन फ़ाइलों और उनकी C:\Program Filesनिर्देशिका में गैर-स्थिर डेटा संग्रहीत करना सामान्य था । यह इस बात से लिया गया है कि कैसे प्रोग्राम आमतौर पर स्थापित किए गए और एकल-उपयोगकर्ता, गैर-नेटवर्क वाले, गैर-फ़ाइल-अनुमति डॉस के तहत चलाए गए।

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

विस्टा और यूएसी झुंझलाहट के आगमन के साथ, यह परंपरा अंततः गंभीरता से कर्षण खोना शुरू कर रही है।

UNIX, और Linux, पहले से एक बहुउद्देश्यीय प्रणाली होने के नाते, निष्पादन योग्य निर्देशिकाओं को अन्य निर्देशिकाओं से बहुत पहले अलग करने की प्रवृत्ति थी, क्योंकि स्थापित बायनेरिज़ को संशोधित करने से उपयोगकर्ताओं को रूट के अलावा अन्य को रोकने की आवश्यकता थी। यह भी क्यों /usrऔर यहां तक /sbinकि कभी-कभी अलग-अलग विभाजन भी होते हैं - एक विशेष रूप से सुरक्षा के प्रति जागरूक व्यवस्थापक उन विभाजनों को आसानी से माउंट कर सकते हैं और उन्हें पढ़ / लिख सकते हैं जब एक इंस्टॉल / अनइंस्टॉल होने की आवश्यकता होती है।

पैकेज आमतौर पर पैकेज मैनेजर से स्थापित किए जाते हैं। विभिन्न पैकेज प्रबंधक हैं, जैसे कि aptitude(डेबियन और व्युत्पन्न वितरण), yum(रेडहैट और व्युत्पन्न वितरण), pacman(यह ध्यान रखें कि यह कौन से डिस्ट्रो है ...), और अन्य।

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

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

चूंकि पैकेज अपने आप में एक निष्पादन योग्य फ़ाइल नहीं है, इसलिए आपको एक अविश्वसनीय निष्पादन योग्य चलाने की ज़रूरत नहीं है जो आपको वास्तव में नहीं पता है कि यह क्या करता है। (विंडोज़ अंत .msuमें .exe's - के बजाय' के वितरण से अपडेट के साथ आ रहा है - लेकिन .msiथोड़ी देर के आसपास रहा है ...)



2

आप उन फ़ाइलों की सूची प्राप्त कर सकते हैं, जो किसी yumपैकेज को करने से स्थापित होती हैं:

yum install yum-utils

तो आप इसे इस तरह से चला सकते हैं:

repoquery --list yum-utils

(जाहिर है, उस पैकेज के नाम के साथ "yum-utils" को उस दूसरे नंबर पर बदलें, जिसकी फ़ाइल सूची आप देखना चाहते हैं।)

के लिए apt-get, आप उपयोग कर सकते हैं:

dpkg -L package-name

1

आमतौर पर /usr/bin, हालांकि, यह आपके द्वारा इंस्टॉल किए जा रहे विशेष एप्लिकेशन या लाइब्रेरी पर निर्भर करता है।


1

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


0

/optनिर्देशिका विंडोज की तरह प्रतिष्ठानों जहां प्रत्येक पैकेज का अपना निर्देशिका वृक्ष है के लिए आरक्षित है। कोई भी इसका उपयोग नहीं करता है। मुझे यकीन नहीं है क्यों; यह हो सकता है कि /opt/PACKAGE/binआपके द्वारा $PATHपैकेज स्थापित करने पर हर बार जोड़ना अभी बहुत कष्टप्रद हो।


/optMATLAB की तरह ज्यादातर व्यावसायिक / गैर-मुक्त सॉफ़्टवेयर पैकेजों द्वारा उपयोग किया जाता है।
ली-आंग येप

मेरे उबंटू 12.04 पर, Google Chrome इंस्टॉल हो गया /optलेकिन फिर लिबरऑफिस 3.5 जो मैंने यहां से सीधे इंस्टॉल किया था ।

0

लिनक्स में सॉफ्टवेयर विंडोज या मैक से प्रतिमान में थोड़ा अलग है। उन में, एक निष्पादन योग्य और इसकी सभी सहायक फाइलें एक एकल फ़ोल्डर में स्थापित होती हैं: विंडोज सामान्य रूप से उन्हें c:\Program Files\program nameएप्पल में रखता है /Applications/program.app। लिनक्स के तहत, एक अधिक ... सांप्रदायिक संरचना है। बायनेरिज़ आमतौर पर हैं /usr/bin, सिस्टम-वाइड कॉन्फ़िगरेशन में है /etc, उपयोगकर्ता-विशिष्ट कॉन्फ़िगरेशन आमतौर पर है ~/.program। पुस्तकालयों में हैं /usr/lib, सहायक फाइलें (जैसे कलाकृति) अक्सर होती हैं /usr/share/program, आदि यहां तक ​​कि एक मानक सुझाव है कि चीजों को कहां जाना चाहिए।

कार्यक्रम आमतौर पर पैकेज प्रबंधकों द्वारा स्थापित किए जाते हैं, rpmऔर dpkg; वे अपने आप के लिए खोज की है और द्वारा (निर्भरता प्रबंधन सहित) प्राप्त किए गए हैं yumऔर aptitude/ apt-getक्रमश। अधिक तकनीकी स्तर पर, पैकेज सरल संपीड़ित फाइलें हैं (मेरा मानना ​​है कि आरपीएम और डिब दोनों दोनों हैं .tar.gz)। इन अभिलेखागार में फाइल सिस्टम के टुकड़ों का एक रूट होता है, जहां से फाइलें जाती हैं (उदाहरण के लिए जिस फाइल को इंस्टॉल किया जाना चाहिए वह पैकेज के भीतर उपयुक्त फोल्डर के नीचे /usr/bin/programहोगा usr/bin/program

किसी विशेष पैकेज के बारे में जानकारी प्राप्त करने के लिए, अपने सिस्टम के लिए पैकेज प्रबंधक का उपयोग करें, जैसा कि यहां अन्य लोगों ने समझाया है।


0

Hier मैनपेज कुछ जानकारी मिल सकती है


2
हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को यहां शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं।
MaQleod

@MaQleod यदि आप चिंतित हैं कि लिंक अमान्य हो सकता है, मैंने सिर्फ सुविधा के लिए लिंक किया है। मैं सीधे सादे पाठ में "मैन हिअर" लिख सकता हूं, क्योंकि आप इस मेनपेज को किसी भी मुख्यधारा के लिनक्स वितरण में पा सकते हैं जो मुझे लगता है।
अनामलॉकर

2
"मैनुअल देखें" भी एक उपयुक्त उत्तर नहीं है, यह एक टिप्पणी है। जवाब वास्तव में सवाल का जवाब देना चाहिए। इस प्रश्न का उत्तर कैसे दिया जाता है? कैसे पदानुक्रम लिस्टिंग महत्वपूर्ण है? ओपी (या किसी और) को इस जवाब को ध्यान देने योग्य क्यों मानना ​​चाहिए? लिंक (या मैन पेज) के प्रासंगिक अंशों की प्रतिलिपि बनाएँ और समझाएं कि वे प्रश्न के संदर्भ में क्यों महत्वपूर्ण हैं, तो आपने प्रश्न का उत्तर दिया होगा और केवल टिप्पणी नहीं की होगी।
MaQleod
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.