जबकि दोनों को ऑपरेटिंग सिस्टम से संबंधित फ़ाइलों को शामिल करने के लिए डिज़ाइन किया गया है, /optऔर /usr/localफ़ाइलों के समान सेट को शामिल करने का इरादा नहीं है।
/usr/localसामान्य रूप से makeकमांड (जैसे, ./configure; make; make install) का उपयोग करके प्रशासक द्वारा निर्मित फ़ाइलों को स्थापित करने के लिए एक जगह है । यह विचार उन फाइलों के साथ टकराव से बचने के लिए है जो ऑपरेटिंग सिस्टम का हिस्सा हैं, जो या तो स्थानीय लोगों को अधिलेखित या अधिलेखित करेंगे अन्यथा (जैसे, स्थानीय विकल्प /usr/bin/fooहोने पर ओएस का हिस्सा है /usr/local/bin/foo)।
के तहत सभी फाइलें /usrOS उदाहरणों के बीच साझा करने योग्य होती हैं, हालांकि यह लिनक्स के साथ शायद ही कभी किया जाता है। यह एक ऐसा हिस्सा है जहां एफएचएस थोड़ा आत्म-विरोधाभासी है, जैसा /usrकि केवल पढ़ने के लिए परिभाषित किया गया है, लेकिन /usr/local/binसफल होने के लिए सॉफ्टवेयर की स्थानीय स्थापना के लिए पढ़ने-लिखने की जरूरत है। SVR4 फ़ाइल सिस्टम मानक, जो कि FHS 'प्रेरणा का मुख्य स्रोत था, इस मुद्दे को दूर करने के बजाय बचने /usr/localऔर उपयोग करने की सिफारिश कर रहा है /opt/local।
/usr/localमूल बीएसडी से एक विरासत है। उस समय, /usr/binOS कमांड का स्रोत कोड था /usr/src/binऔर /usr/src/usr.bin, जबकि स्थानीय रूप से विकसित कमांड का स्रोत था /usr/local/src, और उनके बायनेरीज़ में /usr/local/bin। पैकेजिंग (तारकोल के बाहर) की कोई धारणा नहीं थी।
दूसरी ओर, /optअनबंडल्ड पैकेज (यानी पैकेज जो ऑपरेटिंग सिस्टम वितरण का हिस्सा नहीं है, लेकिन एक स्वतंत्र स्रोत द्वारा प्रदान किया गया है) को स्थापित करने के लिए एक निर्देशिका है, प्रत्येक अपने स्वयं के उपनिर्देशिका में। वे पहले से ही एक स्वतंत्र तीसरे पक्ष के सॉफ्टवेयर वितरक द्वारा प्रदान किए गए पूरे पैकेज बनाए गए हैं। /usr/localसामान के विपरीत , ये पैकेज निर्देशिका सम्मेलनों (या कम से कम उन्हें चाहिए) का पालन करते हैं। उदाहरण के लिए, इसमें someappस्थापित किया जाएगा /opt/someapp, इसकी एक कमांड होने के साथ /opt/someapp/bin/foo, इसकी कॉन्फ़िगरेशन फ़ाइल अंदर होगी /etc/opt/someapp/foo.confऔर इसकी लॉग इन फाइलें /var/opt/someapp/logs/foo.access।
/usr/localका एक स्थानीय संस्करण/usrहै, जबकि/optमिस सामान के लिए जगह धारक है।