İşletim Sistemi Özel İlaveler

Bu bölüm sadece özel bir işletim sistemine uygulanacak ilave gereksinimler ve tavsiyeler içindir. Buradaki materyaller temel standarla asla çelişmemelidir.

Linux

Bu ek Linux işletim sistemi içindir.

/ : Kök dizin

Linux sistemlerde, eğer çekirde / dizinine yerleştirilmiş ise, yakın geçmişteki Linux çekirdek kaynak paketlerinde kullanılan vmlinux veya vmlinuz isimlerinin kullanılmasını tavsiye ederiz.

/bin : Önemli kullanıcı komut ikilileri (tüm kullanıcılar için)

Bu ilave dosyaları /bin içine koymayı gerektiren Linux sistemler:

setserial

/dev : Aygıt dosyaları ve özel dosyalar

Aşağıdaki aygıtlar /dev içinde bulunmalıdır.

/dev/null

Bu aygıta yazılan tüm veriler atılır. Bu aygtıttan yapılan okuma EOF (dosya sonu) durmunu döndürür. /dev/zero

Bu aygıt sıfırlanmış verilerin kaynağıdır. Bu aygıta yazılan tüm veriler atılır. Bu aygıttan yapılan okuma ne kadar istekte bulunulduysa o kadar byte sıfır değerini döndürecektir. /dev/tty

Bu cihaz bir sürecin uçbirimini kontrol etmekle eşanlamlıdır. Bu aygıt açıldığında yapılan tüm yazma ve okumalar aktif kontrol uçbirim aygıtı açılmış gibi davranacaktır.

Mantıksal Temel

FHS'nin önceki sürümü /dev için daha katıydı. Diğer cihazlar da ayrıca /dev içinde bulunabilir. Aygıt isimleri /dev içinde veya aldizinlerinde bulunan diğer aygıt düğümlerine sembolik bağ olarak bulunabilir. major/minor sayılarla ilgili herhangi bir gereksinim yoktur.

/etc : Konak-özel sistem yapılandırması

Bu ilave dosyaları /etc içine koymayı gerektiren Linux sistemler: lilo.conf

/lib64 ve /lib32 : 64/32-bit kütüphaneler (mimari bağımlı)

64 bit mimarileer PPC64, s390x, sparc64 ve AMD64 64-bit kütüphaneleri /lib64 içine ve 32-bit (veya s390 üzerinde 32 bit) kütüphaneleri /lib içine yerleştirmelidir.

64-bit mimari IA64 64-bit kütüphaneleri /lib içine yerleştirmelidir.

Mantıksal Temel

Bu, /lib<qual> ve /usr/lib<qual> ile ilegili kuralların iyileştirilmesidir. Mimari PPC64, s390x, sparc64 ve AMD64 hem 32-bit (s390 için daha doğrusu 31-bit) ve 64-bit programları destekler. lib'i 32-bit ikililer için kullanmak 32-bit sistemlerden gelen varolan uygulamaları değiştirmeden çalıştırmaya izin verir: bu ikililerin çok sayıda olması beklenir. IA-64 değişik bir şema kullanır, bu mimaride 32-bit ikililerin (aynı zamanda kütüphanelerin) kullanılmasına karşı çıkar.

/proc : Çekirdek ve süreç bilgisi sanal dosya sistemi

proc dosya sistemi, /dev/kmem ve benzer methodlardan ziyade, süreç yönetimi ve sistem bilgisi için defakto Linux standardıdır. Bunu süreç bilgilerinin saklanması ve getirilmesi için olduğu kadar diğer çekirdek ve bellek bilgileri için de kullanılmasını şiddetle tavsiye ederiz.

/sbin : Önemli sistem ikilileri

Linux sistemler bu ilave dosyaları /sbin içine yerleştirirler.

  • İkinci genişletilmiş dosya sistemi komutları (seçimlik):
    • badblocks
    • dumpe2fs
    • e2fsck
    • mke2fs
    • mklost+found
    • tune2fs
  • Boot-loader map installer (seçimlik):
    • lilo
/sbin için seçimlik dosyalar
  • Statik ikililer:
    • ldconfig
    • sln
    • ssync

Bir şeyler yanlış gittiği zaman durağan ln (Static ln, sln) ve durağan sync (ssync) kullanışlıdır. sln'nin birincil kullanımı (kötü yönetilen güncellemenin ardından /lib içindeki bozuk sembolik bağların onarımı) artık, ldconfig programının olmasıyla (genellikle /usr/sbin içindedir) , ve dinamik kütüphanelerin güncellenmesinde kılavuz görevi görmesiyle birlikte, önemli bir konu olmaktan çıktı. Durağan sync bazı acil durumlarda kullanışlıdır. Dikkat ediniz, bunlar standart ln ve sync'nin durağan olarak bağlanmış sürümleri olmak zorunda değildirler, ama olabilirler.

ldconfig ikilisi, bir sistemin ldconfig'i yalnızca paylaşılan kütüphanelerin güncellenmesi sırasında değil de önyükleme zamanında çalıştırmayı seçebileceğinden, /sbin için seçimliktir. (ldconfig'in her önyükleme zamanında çalıştırılmasının avantaj veya dezavantaj olduğu tam açık değildir.) Öyle olsa da bazı insanlar ldconfig'i aşağıdaki durumlarda (tümü oldukça yaygın) severler:

  • /lib/<file> dosyasını henüz sildim.
  • Kütüphanenin ismini bilmiyorum çünkü ls dinamik olarak bağlı, içinde tümleşik olarak ls olmayan bir kabuk kullanıyorum, ve "echo *" komutunu değiştirme yapmak için kullanmayı bilmiyorum.
  • Durağan sln komutu var fakat bağı nasıl çağıracağımı bilmiyorum

  • Çeşitli:
    • ctrlaltdel
    • kbdrate

Bazı klavyelerin kullanışsız olan yüksek tekrarlama hızıyla başa çıkmak için bazı sistemlerde kbdrate /sbin içine kurulmuş olabilir.

Ctrl-alt-del tuş kombinasyonunun varsayılan etkisi sistemin ani yeniden başlatılması olduğu için, bu davranışı kök dosya sisteminin okunur-yazılır bağlanmasından önce pasifleştirilmesi genellikle tavsiye edilebilir. Bazı init takımları Ctrl-alt-del'i pasifleştiirebilirler, fakat diğerleri -ki bu sistemlerde /sbin altında kuruludur- ctrlaltdel programına ihtiyaç duyabilirler.

/usr/include : C programcıları tarafından eklenen başlık programcıları

Bu sembolik bağlar eğer bir C veya C++ derleyicisi kurulu olduğunda ve glibc tabanlı olmayan sistemlerde gereklidir.

/usr/include/asm -> /usr/src/linux/include/asm-<arch>
/usr/include/linux -> /usr/src/linux/include/linux

/usr/src : Kaynak kod

glibc tabanlı sistemler için, bu dizin için belirli bir kılavuz yoktur. Öncek Linux libc revizyonu tabanlı sistemlerde aşağıdaki kılavuz ve Mantıksal Temel uygulanır:

Belirli bir yere yerleştirilmesi gereken tek kaynak kod Linux çekirdeği kaynak kodudur. /usr/src/linux içine yerleştirilir.

Eğer bir C veya C++ derleyicisi kurulmuş ise, fakat tüm Linux çekirdeği kaynak kodu kurulmamış ise, çekirdek kaynak kodu başlık dosyaları şu dizinler içine yerleştirilmelidir:

/usr/src/linux/include/asm-<arch>
/usr/src/linux/include/linux

<arch> sistem mimarisi ismidir.

Not
/usr/src/linux çekirdek kaynak kod ağacına sembolik bağ olabilir.
Mantıksal Temel

Çekirdek kaynak kodlarının /usr/include içine değil de /usr/src/linux içine yerleştirilmesi önemlidir, böylece sistem yöneticisi çekirdek sürümünü ilk güncelleştirmesi sırasında problem yaşamayacaktır.

/var/spool/cron : cron ve at işleri

Bu dizin cron ve at programları için değişken verileri içerir.