कोई फर्क नहीं पड़ता कि कौन सा संगठन चुना गया है, यह कुछ चीजों को आसान बना देगा और कुछ चीजें अधिक कठिन।
प्रकार, यूनिक्स माध्यम से फ़ाइलों का आयोजन (में bin
, man
, lib/python
, ...), यह आसान फ़ाइलों का उपयोग करने के लिए बनाता है। यदि आप एक कमांड चलाना चाहते हैं, तो आप जानते हैं कि इसे कहां खोजना है, कोई फर्क नहीं पड़ता कि कौन सा पैकेज इसे प्रदान करता है। यदि आप प्रलेखन के माध्यम से खोज करना चाहते हैं, तो यह सब एक ही स्थान पर है। यदि कुछ प्रोग्राम एक विम सिंटैक्स हाइलाइटिंग मॉड्यूल, एक zsh पूरा होने वाला फ़ंक्शन, या पायथन बाइंडिंग प्रदान करता है, तो संबंधित फ़ाइल उस स्थान पर होगी जहां vim / zsh / python इसे पा सकते हैं।
यूनिक्स उपयोग पैटर्न द्वारा फाइलों को भी व्यवस्थित करता है। कॉन्फ़िगरेशन फ़ाइलें अंदर जाती हैं /etc
, सामान्य ऑपरेशन में परिवर्तन नहीं करने वाली फाइलें अंदर जाती हैं /usr
और जो फाइलें बदलती हैं वे स्वचालित रूप से अंदर चली जाती हैं /var
। उपयोगकर्ता डेटा के अंतर्गत जाता है /home
। यह कॉन्फ़िगरेशन प्रबंधन के लिए बहुत उपयोगी है (प्रबंधित करें कि /etc
प्लस में स्थापित पैकेजों की सूची क्या है)। यह बैकअप रणनीतियों को परिभाषित करने के लिए भी उपयोगी है: क्या है /etc
और /home
गंभीर रूप से महत्वपूर्ण है, जबकि क्या है जो /usr
आसानी से फिर से डाउनलोड किया जा सकता है।
यूनिक्स तरीके की मुख्य लागत यह है कि सॉफ़्टवेयर का एक टुकड़ा स्थापित करना कई निर्देशिकाओं में फैला हुआ है। हालाँकि, आधुनिक यूनिक्स सिस्टम में वैसे भी पैकेज मैनेजर होते हैं; कई निर्देशिकाओं में फाइलों को प्रबंधित करना अब तक का सबसे जटिल काम नहीं है, जो (ट्रैकिंग निर्भरता बहुत उपयोगी और कठिन है)।
विंडोज के साथ इसके विपरीत। विंडोज ने बिना पैकेज प्रबंधन के शुरू किया, और प्रत्येक एप्लिकेशन ने कहीं न कहीं अपनी खुद की निर्देशिका बनाई। सभी फाइलें सामान्य रूप से उस निर्देशिका के अंदर होंगी: प्रोग्राम, स्थिर डेटा, उपयोगकर्ता डेटा, ... कभी-कभी पुस्तकालयों के अलावा जो प्रोग्राम आम प्रणाली निर्देशिका में संघर्षों ("डीएलएल नरक") के लिए कोई संबंध नहीं छोड़ेंगे। समय के साथ, विंडोज बहु-उपयोगकर्ता बन गया, सिस्टम निर्देशिकाओं से उपयोगकर्ता निर्देशिकाओं को अलग करने की आवश्यकता होती है। Windows ने कॉन्फ़िगरेशन फ़ाइलों (यूनिक्स /etc
) और कुछ सिस्टम डेटा (यूनिक्स के) के लिए एक केंद्रीय स्थान भी बनाया/var
), रजिस्ट्री। यह पैकेज प्रबंधन की कमी और एकल-उपयोगकर्ता प्रणाली के रूप में प्रारंभिक इतिहास के कारण बड़े पैमाने पर एक ऐतिहासिक कलाकृति का अधिक है। विंडोज दृष्टिकोण में बहुत सी सीमाएँ हैं: यह सॉफ्टवेयर संकुल को आसानी से इंटरैक्ट नहीं करने देता है। उदाहरण के लिए, अधिकांश इंस्टॉल किए गए सॉफ़्टवेयर डिफ़ॉल्ट कमांड खोज पथ पर समाप्त नहीं होते हैं, इसलिए यह स्क्रिप्टिंग के किसी भी रूप के साथ बुरी तरह से इंटरैक्ट करता है। इंस्टॉलर आमतौर पर एक विशेष मामले के रूप में एक मेनू आइकन प्रदान करते हैं - एक अलग सिस्टम निर्देशिका (ए ला लानिक्स!) में गिरा दिया जाता है।
यूनिक्स दृष्टिकोण की एक सीमा यह है कि यह आसानी से पैकेज के कई संस्करणों के सह-अस्तित्व की अनुमति नहीं देता है, जो विशेष रूप से समस्याग्रस्त है जबकि पैकेज को उन्नत किया जा रहा है। दोनों दुनिया के सर्वश्रेष्ठ पाने का एक तरीका यह होगा कि प्रत्येक पैकेज को अपनी निर्देशिका (एक /opt
संरचना) में अनपैक किया जाए , और पैकेज निर्देशिका से प्रतीकात्मक लिंक के वन को एक /usr
संरचना में बनाया जाए। स्टोव की तरह यह सॉफ्टवेयर है।
सारांश में, यूनिक्स दृष्टिकोण फ़ाइलों का उपयोग करना, फाइलों का प्रबंधन करना और पैकेजों को बातचीत करने की अनुमति देना आसान बनाता है; इसके लिए पैकेज प्रबंधन सॉफ्टवेयर की आवश्यकता होती है, लेकिन यह वैसे भी वांछनीय है। विंडोज दृष्टिकोण से मैन्युअल रूप से संकुल प्रबंधन करना आसान हो जाता है, लेकिन उपयोगी कार्यक्षमता प्राप्त करने के लिए यूनिक्स मॉडल की ओर झुकाव करना पड़ता है।