/usr Sıradüzeni

Amaç

/usr sistemin ikinci büyük bölümüdür. /usr paylaştırılabilir salt-okunur verilerdir. Bunun anlamı /usr diğer FHS uyumlu konaklar arasında paylaştırılabilir ve yazılabilir olmamalıdır. Konağa özel veya zamanla değişen herhangi bir bilgi başka bir yerde bulunmalıdır.

Büyük yazılım paketleri /usr sıradüzeninin doğrudan altdizinini kullanmamalıdır.

Gereksinimler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr içerisinde bulunmalıdır:

DizinTanımlama
binÇoğu kullanıcı komutu
includeC programları tarafından dahil edilen başlık dosyaları
libKütüphaneler
localYerel sıradüzen (Temel kurulumdan sonra boştur)
sbinHayati olmayan sistem ikilileri
shareMimari bağımsız veriler

Özel Seçenekler

DizinTanımlama
X11R6XWindow System, sürüm 11 yayım 6 (seçimlik)
gamesOyunlar ve eğitimsel ikililer (seçimlik)
lib<qual>Başka Biçim Kütüphaneler (seçimlik)
srcKaynak kod (seçimlik)

Bir çok örneği ve geniş kabul gören uygulamalarından dolayı X Window System için bir istisna yapılmıştır.

Aşağıdaki dizin sembolik bağları bulunmalıdır. Bu imkan eski sistemlerin tüm uygulamaları /var sıradüzeninde kabul etmelerine kadar uyumluluğu sağlamak için yapılmıştır.

/usr/spool -> /var/spool
/usr/tmp -> /var/tmp
/usr/spool/locks -> /var/lock

Eğer istenirse, bir sistem bu sembolik bağlardan herhangi birine ihtiyaç duymuyorsa bunlar kaldırılabilir.

/usr/X11R6 : X Window System, Sürüm 11 Yayım 6 (seçimlik)

Amaç

Bu sıradüzen X Window System, sürüm 11 yayım 6, ve ilgili dosyalar için ayrılmıştır.

Konuları basitleştirmek için ve XFree86'nın diğer sistemler üzerindeki X Window System ile daha uyumlu olabilmesi için /usr/X11R6 dizini varsa aşağıdaki sembolik bağlar bulunmalıdır:

/usr/bin/X11 -> /usr/X11R6/bin
/usr/lib/X11 -> /usr/X11R6/lib/X11
/usr/include/X11 -> /usr/X11R6/include/X11

Genelde yazılımlar yukarıdaki sembolik bağlar üzerinden kurulurlar veya yönetilirler. Sadece kullanıcıların kullanımı amaçlanmaktadır. Zorluk sürümlerinin yayımının çevirileri ile ilgilidir - kullanımda olan X11 yayımını bilmek mümkün değildir.

Özel Seçenekler

/usr/X11R6/lib/X11 içerisinde konağa özel veriler açıklama dosyaları olarak yorumlanmalıdırlar. Aktif konak hakkında bilgilere ihtiyaç duyan uygulamalar /etc/X11 içindeki bir yapılandırma dosyasına başvurmalıdır. Bu dosyaya /usr/X11R6/lib içinden bir link oluşturulmuş olabilir.[30]

/usr/bin : Bir çok kullanıcı komutu

Amaç

Bu, sistemdeki çalıştırılabilir komutların birincil dizinidir.

Özel Seçenekler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr/bin içerisinde bulunmalıdır:

DizinTanımlama
mhMH posta yönetim sistemi için komutlar (seçimlik)

Eğer varsa, /usr/bin/X11 /usr/X11R6/bin'e sembolik olarak bağlanmalıdır.

Aşağıdaki dosyalar veya dosyalara sembolik bağlar, ilgili altsistemler kurulmuş ise, /usr/bin içerisinde bulunmalıdır:

KomutTanımlama
perlThe Practical Extraction and Report Language (seçimlik)
pythonPython yorumlama dili (seçimlik)
tclshTcl yorumlayıcı içere basit kabuk (seçimlik)
wishBasit Tcl/Tk pencereleme kabuğu (seçimlik)
expectEtkileşimli diyaloglar için program (seçimlik)
Mantıksal Temel

Kabuk betik yrumlayıcıları (ilk satırında #!<sistem yolu> ile çağırılan kabuk betikleri) bir sistem yolunda bulunmazlar, bunun avantajı konumlarının standartlarştırılmasıdız. The Bourne shell ve C-shel kabukları halihazırda /bin içinde olacak şekilde ayarlanmışlardır, fakat Perl, Python, ve Tcl sıklıkla farklı yerlerde bulunmaktadır. Bunlar kabuk yorumlarının fiziksel yerlerine sembolik bağlanmış olabilirler.

/usr/include : Başlık dosyaları standart dizini.

Amaç

Burası C Programlama dili için sistem genelinde kullanılan başlık dosyalarının bulunduğu yerdir.

Özel Seçenekler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr/include içerisinde bulunmalıdır:

DizinTanımlama
bsdBSD uyumluluğu başlık dosyaları (seçimlik)

/usr/include/X11 eğer varsa /usr/X11R6/include/X11'e bağlanmalıdır.

/usr/lib : Programlama ve paketler için kütüphaneler

Amaç

/usr/lib nesne dosyaları, kütüphaneler ve kullanıcılar veya kabuk betikleri tarafından doğrudan çağırılmayacak dahili ikililer içerir. [31]

/usr/lib altında uygulamalar tekil dizinler kullanabilirler. Eğer bir uygulama altdizin kullanıyorsa, tüm mimari bağımlı ve sadece bu uygulama tarafından kullanılan veri bu altdizin altında bulunmalıdır. [32]

Özel Seçenekler

Tarihsel sebeplerden, /usr/lib/sendmail eğer varsa /usr/sbin/sendmail'e sembolik olarak bağlanmalıdır. [33]

Eğer /lib/X11 varsa, /usr/lib/X11 /lib/X11'e veya /lib/X11'in sembolik olarak bağlandığı yere bağlanmalıdır. [34]

/usr/lib<qual> : Diğer biçim kütüphaneler (seçimlik)

Amaç

/usr/lib<qual> başka ikili biçimi için /usr/lib ile aynı görevi görür. Buna /usr/lib<qual>/sendmail ve /usr/lib<qual>/X11 içindeki gerekli olmayan sembolik bağlar dahil değildir. [35]

/usr/local : Yerel sıradüzen

Amaç

/usr/local sıradüzeni sistem yöneticisinin yerel bir yazılım kurduğunda kullanması içindir. Sistem yazılımı güncellendiğinde üzerine yazılacağından emniyetli olması gerekir. Bir grup konak arasında paylaşılan programlar veya veriler olabilir fakat /usr'de bulunmaz.

Yerel olarak kurulan yazılımlar, /usr içindeki kurulu olanların güncellenmesi veya değiştirilmesi durumları dışında, /usr'den ziyade /usr/local'de bulunmalıdır. [36]

Gereksinimler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr/local içerisinde bulunmalıdır:

DizinTanımlama
binYerel ikililer
etcYerel ikililer için konağa özel sistem yapılandırmaları
gamesYerel oyun ikilileri
includeYerel C başlık dosyaları
libYerel kütüphaneler
manYerel çevrimiçi kılavuzlar
sbinYerel sistem ikilileri
shareYerel mimari-bağımsız sıradüzen
srcYerel kaynak kod

Aşağıda listelenenler dışında FHS uyumlu bir sistemin ilk kurulumundan sonra gerekli başka dizinler yoktur.

Özel Seçenekler

Eğer /lib<qual> veya /usr/lib<qual> dizinleri mevcutsa, eşdeğer dizinler ayrıca /usr/local içerisinde de bulunmalıdır.

/usr/local/etc /etc/local dizinine sembolik bağlı olabilir.

Mantıksal Temel

/usr/local/etc tutarlılığı kurulumlarda faydalıdır ve diğer sistemlerde de kullanılır. Tüm /usr/local dizininin sistemin yeniden yüklenmesinde kullanılmak üzere yedeklenmesi gerektiği için sistem bakımında ek bir yük getirmez. Fakat eğer sistemin tüm yapılandırma dosyalarının bir sıradüzende bulunması isteniyorsa /etc/local sembolik bağı uygundur.

Dikkat ediniz, /usr/etc'ye yine de izin verilmemektedir: /usr içindeki programlar yapılandırma dosyalarını /etc içerisinde bulundurmalıdırlar.

/usr/local/share

Bu dizinin içeriği için gereksinimler /usr/share ile aynıdır. Yalnızca ek bir zorunluluk /usr/local/share/man ve /usr/local/man dizinlerinin adaş olmasıdır (genellikle bunun anlamı birinden diğerine sembolik bağdır). [37]

/usr/sbin : Önemli olmayan standart sistem ikilileri

Amaç

Bu dizin sadece sistem yöneticisi tarafından kullanılan önemli olmayan ikilileri içerir. Sistem bakımı, onarımı, /usr'nin bağlanması veya diğer önemli fonksiyonlar için gerekli olan sistem yönetim araçları /sbin içerisinde olmalıdır. [38]

/usr/share : Mimari bağımsız veri

Amaç

/usr/share sıradüzeni tüm salt okunur mimari bağımsız veri dosyaları içindir. [39]

Bu sıradüzen bir işletim sisteminin diğer tüm platformlar arasında paylaşım yapması amacıyla kullanılmaktadır; yani, örneğin, i386 mimarisinde bir site, Alpha ve PPC platformlarının bakımı merkezi olarak bağlanmış tek bir /usr/share dizininden yapılabilir. Bununla birlikte dikkat ediniz, /usr/share farklı işletim sistemleri veya aynı işletim sisteminin değişik yayımları arasındaki paylaşım amacıyla kullanılmamaktadır.

Değiştirilmeis gerekmeyen verileri içeren herhangi bir program veya paket bu verileri /usr/share içinde saklamalıdır (yerel kurulmuş ise /usr/local/share içerisinde). Bunun için /usr/share altında bir aldizin kullanılması tavsiye edilmektedir.

/usr/share/games içerisindeki oyun verileri tamamen statik veri olmalıdır. Herhangi değiştirilebilir dosyalar, oyun dereceleri, oyun kayıtları ve benzerleri gibi dosyalar /var/games içine yerleştirilmelidir.

Gereksinimler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr/share içerisinde bulunmalıdır:

DizinTanımlama
manÇevrimiçi kılavuzlar
miscÇeşitli mimari bağımsız veriler

Özel Seçenekler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr/share içerisinde bulunmalıdır:

DizinTanımlama
dictKelime listeleri (seçimlik)
docÇeşitli belgelendirmeler (seçimlik)
games/usr/games için statik dosyalar (seçimlik)
infoGNU Info sistemi birincil dizini (seçimlik)
localeYerel bilgi (seçimlik)
nlsDoğal dil desteği için mesaj katalogları (seçimlik)
sgmSGML veri (seçimlik)
terminfoterminfo vberitabanı için dizinler (seçimlik)
tmacgroff ile dağıtılmayan troff makroları (seçimlik)
xmlXML veri (seçimlik)
zoneinfoSaat dilimi bilgisi ve yapılandırması (seçimlik)

Uygulama-özel, mimari bağımsız dizinlerin burada bulundurulması tavsiye edilmektedir. Bun dizinlere groff, perl, ghostscript, texmf, ve kbd (Linux) veya syscons (BSD) da dahildir. Bununla birlikte dağıtımcının takdirine göre bunlar geriye dönük uyumluluk için /usr/lib içerisinde bulunabilirler. Benzer olarak, /usr/lib/games sıradüzeni, eğer dağıtımcı bazı oyun verilerini burada bulundurmak isterse /usr/share/games sıradüzenine ek olarak kullanılabilir.

/usr/share/dict : Kelime listeleri (seçimlik)

Amaç

Bu dizin sistem üzerindeki kelime listelerinin ev dizinidir; Geleneksel olarak bu dizin sadece , look(1) veya imla yazılımları tarafından kullanılan, İngilizce words dosyasını içerir. words Amerikan veya Britanya yazımı için de kullanılabilir.

Mantıksal Temel

Kelime listesi dosyalarının sadece burada bulunmasının sebebi bunların yazım kontrolü yapan programlar için ortak olarak kullanılmasıdır.

Özel Seçenekler

Aşağıdaki dosyalar veya dosyalara sembolik bağlar, ilgili altsistemler kurulmuş ise, /usr/share/dict içerinde bulunmalıdır:

DosyaTanımlama
wordsİngilizce kelimeler listesi (seçimlik)

Hem Amerikan hem de Britanya imlası gerektiren yerlerde /usr/share/dict/american-english veya /usr/share/dict/british-english sembolik bağı kullanılabilir.

Diğer diller için listeler o dilin İngilizce ismiyle eklenebilir, örn., /usr/share/dict/french, /usr/share/dict/danish, vb. Bunlar, eğer mümkünse o dile uygun ISO 8859 karakter setini kullanmalıdır, mümkünse Latin1 (ISO 8859-1) karakter seti kullanılmalıdır (bu genellikle mümkün değildir.

Varsa diğer kelime listeleri burada bulunmalıdır

/usr/share/man : Kılavuz sayfaları

Amaç

Bu bölüm sistem genelinde bulunan kılavuz sayfalarının organizasyonu için kullanılır. Ayrıca /var/cache/man bölümüne bakınız

Sistemin birincil <kılavuzdizini< /usr/share/man'dır. /usr/share/man komutlar, / ve /usr dosya sistemi altındaki veriler için kılavuz dosyalarını içerir. [40]

Kılavuz dosyaları <kılavuzdizini>/<locale>/man<section>/<arch> içinde saklanır. <kılavuzdizini>, <locale>, <section>, and <arch> için açıklamalar aşağıdadır.

section için açıklama:

  • man1: Herkes tarafından erişilebilen kullanıcı programlarını tanımlayan Kılavuz sayfaları bu bölümde toplanır. Bir kullanıcının ihtiyaç duyacağı bir çok programın belgelendirmesi buradadır.
  • man2: Sistem çağırıları. Bu bölüm tüm sistem çaığırılarını (çekirdeğin işlemleri gerçekleştirmesi için kullandığı) tanımlar.
  • man3: Kütüphane fonksiyonları ve altyordamlar. Bölüm 3, çekirdek servislerini doğrudan çağırmayan program kütüphaneleri yordamlarını tanımlar. Bu bölüm ve bölüm 2 sadece programlamayla ilgilenenler içindir.
  • man4: Özel dosyalar. Bölüm 4, sürücü fonksiyonlar ve sistemde sağlanan ağ desteği ile ilgili özel dosyaları tanımlar. Tipik olarak /dev içindeki cihaz dosyalarını ve desteklenen ağ protokollerinin çekirdek arayüzlerini tanımlar.
  • man5:Bir çok veri dosyası dosya biçimleri. 5. bölümde tanımlanmıştır. Bunlara çeşitli başlık dosyaları, program çıktı dosyalarıve sistem dosyaları da dahildir.
  • man6:Oyunlar. Bu bölüm oyunları, demoları ve genellikle süreli programları tanımlar. Farklı kişiler bunun ne kadar önemli olduğu ile ilgili çeşitli fikirlere sahiptir.
  • man7: Çeşitli. Sınıflandırmanın zor olduğu kılavuz sayfaları için bölüm 7 tasarlanmıştır. "troff" ve diğer metin işleme makro aketleri burada bulunur.
  • man8: Sistem yönetimi. Sistem yöneticileri tarafından kullanılan sistem işlemleri ve bakım programları burada belgelendirilmiştir. Bu programlardan bazıları nadir olarak normal kullanıcılar için de kullanışlıdır.
Özel Seçenekler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, içleri boş olmadığı sürece, /usr/share/<mandir>/<locale> içerisinde bulunmalıdır: [41]

DizinTanımlama
man1Kullanıcı programları (seçimlik)
man2Sistem çağırıları (seçimlik)
man3Kütüphane çağırıları (seçimlik)
man4Özel dosyalar (seçimlik)
man5Dosya biçimleri (seçimlik)
man6Oyunlar (seçimlik)
man7Çeşitli (seçimlik)
man8Sistem yönetimi (seçimlik)
<section>kılavuz bölümünü belirtir section.

/usr/share/man yapısı, içerisinde farklı (veya çoklu) dillerde yazılmış kılavuz sayfalarına izin vermelidir. Bunlar bu kılavuz sayfalarının saklanmasını ve bunlara yapılacak atıfları dikakte almalıdırlar. Dikkat edilmesi gereken diğer faktörler de dil (coğrafi farklılıklar da dahil) ve karakter kod kümesidir.

/usr/share/man dizininin dil ile ilgili altdizinlerinin isimlendirilmesi, yerel beliritimleri tanımlayan POSIX 1003.1 standardının Ek E bölümünü temel alır - kültürel çevreyi tanımlayan en çok kabul gören metod. <locale> tanımlaması:

<language>[_<territory>][.<character-set>][,<version>]

<language> alanı ISO 639'dan (dil isimlerini göstermek için bir kod) alınmalıdır. Uzunluğu iki karakter ve sadece küçük harf olmalıdır.

<territory> alanı, eğer mümkünse, ISO 3166'dakilerin (ülkeleri gösteren belirtim) iki harfli kodu olmalıdır. (Bir çok kişi, e-posta adreslerinden, ülkelerin iki harfli koduna aşikardır). İki karakter uzunluğunda ve sadece büyük harf olmalıdır. [42]

<character-set> alanı karakter kümseini temsil belirten standardı temsil etmelidir. Eğer ­<character-set> alanı sadece rakamsal bir belirtimse, rakamlar karakter kümesini belirten uluslararası standardı temsil eder. Mümkünse bunun rakamsal olması tavsiye edilir (özellikle ISO standartları). Ek noktalama işaretleri ve herhangi bir küçük harf dahil değildir.

Profilin <version> özelliğini belirten bir parametre ­<character-set> alanından sonra, virgülle ayırılmış olarak bulunmalıdır. Bui farklı kültürel ihtiyaçları ayrıştırmak için kullanılabilir, örneğin sözlük sıralamasına karşın daha sistem-tabanlı harmanlama sıralaması.Bu standart, gerekli olmadıkça, <version> alanını kullanmamayı önerir.

Tüm kılavuz sayfaları için tek bir dil ve kod seti kullanan sistemler için <locale> alt metni gözardı edilebilir ve tüm kılavuz sayfaları <mandir> içide bulunabilir. Örneğin, sadece ASCII olarak kodlanmış İngilizce kılavuz sayfaları olan bir sistem (man<section> dizinleri) kılavuz sayfalarını doğrudan /usr/share/man içerisinde tutabilir. (Aslında bu geleneksel bir durum ve düzenlemedir.)

Yaygın kabul görmüş standart kod seti olan ülkeler ­<character-set> alanını ihmal edebilirler, fakat bunun eklenmesi şiddetle tavsiye edilir, özellikle bir çok alternatif standardı olan ülkeler için.

Çeşitli örnekler

DilAlanKarakter SetiDizin
EnglishASCII /usr/share/man/en
EnglishUnited Kingdom ISO 8859-15/usr/share/man/en_GB
English United States ASCII /usr/share/man/en_US
French CanadaISO 8859-1/usr/share/man/fr_CA
FrenchFranceISO 8859-1/usr/share/man/fr_FR
GermanGermanyISO 646/usr/share/man/de_DE.646
GermanGermanyISO 6937/usr/share/man/de_DE.6937
GermanGermanyISO 8859-1/usr/share/man/de_DE.88591
GermanSwitzerlandISO 646/usr/share/man/de_CH.646
Japanese Japan JIS/usr/share/man/ja_JP.jis
JapaneseJapanSJIS /usr/share/man/ja_JP.sjis
JapaneseJapanUJIS (or EUC-J)/usr/share/man/ja_JP.ujis

Benzer olarak, hazırlıklar mimari-bağımsız olan kılavuz sayfaları için yapılmalıdır, mesela cihaz-sürücüleri veya düşük-seviye sistem yönetim komutları hakkında belgelendirme. Bunlar uygun man<section> dizini içinde bir <arch> dizinine yerleştirilmelidir. Örneğin i386 ctrlaltdel(8) komutu için kılavuz sayfası /usr/share/man/<locale>/man8/i386/ctrlaltdel.8 dizinine yerleştirilmelidir.

/usr/local içideki komutlar ve veriler için kılavuz sayfaları /usr/local/man içinde bulunmalıdır. X11R6 için kılavuz sayfaları /usr/X11R6/man içinde bulunmalıdır. Sistemdeki tüm kılavuz sayfaları buna benzer olarak /usr/share/man ile aynı yapıyı kullanırlar.

Biçimlendirilmiş kılavuz sayfası girdilerini içeren cat sayfası bölümleri (cat<section>) ayrıca <mandir>/<locale> altdizinlerinde bulunabilir, fakat gerekli değildir ve nroff kaynak kılavuz sayfalarının yerinde dağıtılabilir değildir.

"1" den "8" e kadar numaralandırılmış bölümler geleneksel olarak tanımlanmıştır. Genelde, belirli bir bölümde yerleştirilmiş kılavuz sayfaları için dosya ismi .<section> ile biter.

Ek olarak, bazı geniş uygulama-özel kılavuz sayfaları setleri dosya isimlerine eklenen fazladan bir soneke sahiptirler. Örneğin MH e-posta yönetim sistemi kılavuz sayfaları tüm MH kılavuzları için mh ekine sahip olmalıdırlar. Tüm X Window System kılavuz sayfaları dosya isimlerine x eklenmelidir.

Çeşitli dillere kılavuz sayfalarını ugyun /usr/share/man altdizininde yerleştirmekle ilgili uygulamalar ayrıca diğer kılavuz sayfalarına da uygulanır. Örneğin /usr/local/man ve /usr/X11R6/man. (Standardın bu kısmı ayrıca bu bölümün ilerlerindeki seçimlik /var/cache/man yapısı üzerinde de uygulanır.

/usr/share/misc : Çeşitli mimari-bağımsız veri

Bu dizin /usr/share dizini altında ayrı bir altdizin gerektirmeyen çeşitli mimari bağımsız dosyaları içerir.

Özel Seçenekler

Aşağıdaki dosyalar veya dosyalara sembolik bağlar, ilgili altsistemler kurulmuş ise, /usr/share/misc içerinde bulunmalıdır:

DosyaTanımlama
asciiASCII karakter set tablosu (seçimlik)
magicfile komutu için varsayılan sihirli rakamlar listesi (seçimlik)
termcapTerminal kabiliyet veritabanı (seçimlik)
termcap.dbTerminal kabiliyet veritabanı (seçimlik)

Diğer (uygulama-özel) dosyalar burada görünebilir, fakat bir dağıtımcı takdirinde bunlar /usr/lib içinde yerleştirilebilir.[43]

/usr/share/sgml : SGML veri (seçimlik)

Amaç

/usr/share/sgml, sıradan kataloglar (merkezi olanlar değil, bkz./etc/sgml), DTDler, girdiler veya stil sayfaları gibi SGML uygulamaları tarafından kullanılan dosyaları içerir.

Özel Seçenekler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr/share/sgml içerisinde bulunmalıdır:

DizinTanımlama
docbookdocbook DTD (seçimlik)
teitei DTD (seçimlik)
htmlhtml DTD (seçimlik)
mathmlmathml DTD (seçimlik)

Bir DTD'ye özel olmayan diğer dosyalar kendi dizinlerinde bulunabilir.

/usr/share/xml : XML veri (seçimlik)

Amaç

/usr/share/xml, sıradan kataloglar (merkezi olanlar değil, bkz./etc/sgml), DTDler, girdiler veya stil sayfaları gibi XML uygulamaları tarafından kullanılan mimari bağımsız dosyaları içerir.

Özel Seçenekler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, ilgili atlsistem kurulmuş ise, /usr/share/xml içerisinde bulunmalıdır:

DizinTanımlama
docbookdocbook XML DTD (seçimlik)
xhtmlXHTML DTD (seçimlik)
mathmlMathML DTD (seçimlik)

/usr/src : Kaynak kod (seçimlik)

Amaç

Kaynak kod, sadece atıf amacıyla, bu dizin içerisine yerleştirilebilir. [44]



[30] Bu tür yapılandırma dosyalarına örnek olarak Xconfig, XF86Config veya system.twmrc.

[31] Çeşitli mimari-bağımsız uygulama-özel statik dosyalar ve aldizinler /usr/share içine yerleştirilmelidir.

[32] Örneğin Perl 5 modülleri ve kütüphaneleri için perl5 altdizini.

[33] makewhatis ve sendmail gibi çalıştırılabilir komutlar da ayrıca geleneksel olarak /usr/lib dizininde yer almıştır. makewhatis dahili bir ikilidir ve bir ikili dizininde yer almalıdır; kullanıcılar sadece catman'a erişir. Yeni sendmail ikilileri şimdilerde varsayılan olarak /usr/sbin içine yerleştirilir. Ek olarak sendmail uyumlu eposta transfer ajanı kullanan sistemler /usr/sbin/senmail'i uygun bir çalıştırılabilir dosyaya sembolik bağ olarak sağlamalıdır.

[34] X Window System için konağa özel veri /usr/lib/X11 içinde saklanmamalıdır. Xconfig veya XF86Config gibi konağa özel yapılandırma dosyaları /etc/X11 içerisinde saklanmalıdır. Buna, sadece global bir yapılandırma dosyasına sembolik bağ ile yapılsa da (muhtemelen /usr/X11R6/lib/X11 içinde), system.wmrc gibi yapılandırma dosyaları da dahildir

[35] /usr/lib ve /usr/lib<qual>'nin aynı olması durumunda (biri diğerine sembolik bağ) bu dosyalar ve uygulama altdizinleri olacaktır.

[36] / veya /usr içine yerleştirilen yazılımların güncelleme sırasında üzerine yazılabilir (overwrite) (bu yüzden dağıtımların bu durumlarda /etc içindeki verinin üzerine yazmamasını tavsiye ederiz). Bu sebepten iyi bir sebebi olmadığı sürece yerel yazılımlar /usr/local dışında bulunmamalıdır.

[37] /usr/local/man belki FHS'nin gelecekteki sürümlerinden kaldırılacak, bu yüzden eğer diğer tümü aynıysa bunu sembolik bağ yapmak mantıklıdır.

[38] Yerel olarak kurulan sistem yönetimi programları /usr/local/sbin içine yerleştirilmelidir.

[39] Bu verilerin çoğu orjinal olarak /usr (man, doc) veya /usr/lib (lib, terminfo, zoneinfo) içindeydi.

[40] Açıkça, / içinde hiçbir kılavuz sayfası yoktur, çünkü bunlar önyükleme zamanında veya acil durumlarda bunlara ihtiyaç yoktur. Gerçekten.

[41] Örneğin eğer /usr/local/man bölüm 4'te hiç bir kılavuz sayfasına sahip değilse /usr/local/man/man4 ihmal edilebilir.

[42] Bu kurala başlıca bir istisna, ISO 3166'da `GB' fakat epostalarda `UK'olan, Birleşik Krallıktır.

[43] Böyle bazı dosyalar: airport, birthtoken, eqnchar, getopt, gprof.callg, gprof.flat, inter.phone, ipfw.samp.filters, ipfw.samp.scripts, keycap.pcvt, mail.help, mail.tildehelp, man.template, map3270, mdoc.template, more.help, na.phone, nslookup.help, operator, scsi_modes, sendmail.hf, style, units.lib, vgrindefs, vgrindefs.db, zipcodes

[44] Genellikle kaynak bu sıradüzenin içinde inşa edilmemelidir.