যদিও উভয়ই অপারেটিং সিস্টেমের অন্তর্ভুক্ত নয় এমন ফাইলগুলি ধারণ করার জন্য ডিজাইন করা হয়েছে /opt
এবং /usr/local
একই সেটগুলির ফাইলগুলি সেট করার উদ্দেশ্যে নয়।
/usr/local
অ্যাডমিনিস্ট্রেটর দ্বারা নির্মিত ফাইলগুলি ইনস্টল করার জন্য একটি জায়গা, সাধারণত make
কমান্ডটি ব্যবহার করে (যেমন, ./configure; make; make install
)। অপারেটিং সিস্টেমের অংশ হিসাবে থাকা ফাইলগুলির সাথে সংঘর্ষ এড়াতে ধারণাটি হ'ল, যা হয় ওভাররাইট করা বা স্থানীয়ভাবে ওভাররাইট করা হবে (উদাহরণস্বরূপ, স্থানীয় বিকল্পে /usr/bin/foo
ওএসের অংশ /usr/local/bin/foo
)।
এর অধীন সমস্ত ফাইল /usr
ওএস দৃষ্টান্তের মধ্যে ভাগযোগ্য, যদিও এটি লিনাক্সের সাথে খুব কমই করা হয়। এটি এমন একটি অংশ যেখানে এফএইচএস সামান্য স্ব-বিরোধী, যেমন /usr
কেবলমাত্র পঠনযোগ্য হিসাবে সংজ্ঞায়িত হয়েছে, তবে /usr/local/bin
সাফল্যর জন্য সফ্টওয়্যার স্থানীয় ইনস্টলেশন করার জন্য পঠন-লিখনের প্রয়োজন। এসভিআর 4 ফাইল সিস্টেম মান, যা এফএইচএসের অনুপ্রেরণার মূল উত্স ছিল, এই সমস্যাটি কাটিয়ে ওঠার পরিবর্তে এড়াতে /usr/local
এবং ব্যবহার /opt/local
করার পরামর্শ দিচ্ছে ।
/usr/local
আসল বিএসডি থেকে প্রাপ্ত একটি উত্তরাধিকার। সেই সময়, /usr/bin
ওএস কমান্ডগুলির উত্স কোডটি ছিল /usr/src/bin
এবং /usr/src/usr.bin
স্থানীয়ভাবে বিকাশিত কমান্ডগুলির উত্স ছিল /usr/local/src
এবং তাদের বাইনারি ছিল /usr/local/bin
। প্যাকেজিংয়ের কোনও ধারণা ছিল না (টার্বলগুলির বাইরে)।
অন্যদিকে, /opt
আনবান্ডেলড প্যাকেজগুলি ইনস্টল করার জন্য একটি ডিরেক্টরি (যেমন প্যাকেজগুলি অপারেটিং সিস্টেম বিতরণের অংশ নয়, তবে একটি স্বাধীন উত্স দ্বারা সরবরাহ করা হয়), প্রত্যেকটির নিজস্ব উপ-ডিরেক্টরিতে রয়েছে। তারা ইতিমধ্যে একটি স্বাধীন তৃতীয় পক্ষের সফ্টওয়্যার বিতরণকারী দ্বারা সরবরাহ করা সম্পূর্ণ প্যাকেজগুলি নির্মিত are স্টাফের বিপরীতে /usr/local
, এই প্যাকেজগুলি ডিরেক্টরি কনভেনশনগুলি অনুসরণ করে (বা কমপক্ষে তাদের হওয়া উচিত)। উদাহরণস্বরূপ, এর একটি কমান্ড থাকার সাথে someapp
ইনস্টল করা হবে , এর কনফিগারেশন ফাইলটি থাকবে এবং তার লগ ফাইলগুলি ।/opt/someapp
/opt/someapp/bin/foo
/etc/opt/someapp/foo.conf
/var/opt/someapp/logs/foo.access
/usr/local
স্থানীয় সংস্করণ এটি/usr
অন্যদিকে/opt
বিবিধ জিনিসগুলির জন্য স্থানধারক is