Her iki işletim sistemine ait olmayan dosyaları içerecek şekilde tasarlanmıştır, iken /optve /usr/localaynı dosya kümesi içerecek şekilde amaçlanmamıştır.
/usr/localYönetici tarafından oluşturulan dosyaları, genellikle makekomutu kullanarak (örn ./configure; make; make install.) kurabileceğiniz bir yerdir . Buradaki düşünce, işletim sisteminin bir parçası olan ya da yerel dosyaların üzerine yazılacak ya da üzerine yazacak dosyalara çarpmamaktan kaçınmaktır (örneğin, yerel bir alternatif olsa da işletim sisteminin bir /usr/bin/fooparçasıdır /usr/local/bin/foo).
/usrBu, Linux ile nadiren yapılmasına rağmen, altındaki tüm dosyalar işletim sistemi örnekleri arasında paylaşılabilir. Bu, FHS'nin /usrsalt okunur olarak tanımlandığı gibi biraz çelişkili olduğu, ancak /usr/local/binyerel yazılım kurulumunun başarılı olması için okunması gereken bir bölüm . FHS'nin ana ilham kaynağı olan SVR4 dosya sistemi standardı, bu sorunun üstesinden gelmekten kaçınmak /usr/localve kullanılmasını tavsiye ediyor /opt/local.
/usr/localorijinal BSD’den kalan bir miras. O zaman, kaynak kodu /usr/binişletim sistemi komutları vardı /usr/src/binve /usr/src/usr.binyerel olarak geliştirilmiş komutların kaynağı iken /usr/local/srcve onların ikili içinde /usr/local/bin. Ambalaj kavramı (tarball'ların dışında) yoktu.
Öte yandan, /opther biri kendi alt dizininde, birleştirilmiş paketleri (yani, İşletim Sistemi dağıtımının bir parçası olmayan, ancak bağımsız bir kaynak tarafından sağlanan paketler) yüklemek için bir dizindir. Bunlar zaten bağımsız bir üçüncü taraf yazılım distribütörü tarafından sağlanan bütün paketleri inşa ediyorlar. /usr/localBunların aksine , bu paketler dizin kurallarını takip eder (ya da en azından onlar gerekir). Örneğin, someappyüklü olacak /opt/someapponun komuta olmanın biriyle, /opt/someapp/bin/fookendi yapılandırma dosyası olacağını /etc/opt/someapp/foo.confve bunun günlük dosyaları içinde /var/opt/someapp/logs/foo.access.
/usr/localyerel bir versiyonudur/usr, oysa yanlış/optşeyler için yer tutucudur.