3.8. /home

3.8.1. Amaç

/home oldukça standart bir kavramdır, ancak açıkça konağa özgü bir dosya sistemidir.[6] Kurulum, konaktan konağa farklılık gösterir. Bu nedenle, hiçbir uygulama ev dizini için belirli bir konum olduğunu varsaymamalı, ev dizininin konumunu sorgulamalıdır.[7]

3.8.2. Gereksinimler

Uygulamalar için kullanıcıya özel yapılandırma dosyaları, kullanıcının ev dizininde '.' (nokta) ile başlayan bir dosyada ("nokta dosyası") saklanır. Bir uygulamanın birden fazla nokta dosyası oluşturması gerekiyorsa, bunlar '.' (nokta) ile başlayan bir adla bir alt dizine ("nokta dizini") yerleştirilmelidir. Bu durumda yapılandırma dosyaları '.' (nokta) ile başlamamalıdır.[8]

3.8.3. Ev Dizini Belirtim ve Uzlaşımları

Geçmişte, XDG Temel Dizinleri belirtimi[9] ve kullanıcı dizini içeriklerine ilişkin GLib uzlaşımları dahil olmak üzere, ev dizinlerinin düzenini standart hale getirmek için bir dizi çaba gösterilmiştir.[10] Gelecekte bu yönde ek çabalar mümkündür. Bu belirtim ve uzlaşımları kullanan yazılımlara uyum sağlamak için dağıtımlar, belirtim ve uzlaşımlara uygunluğunu sürdüren dizin hiyerarşileri oluşturabilir. Bu dizin hiyerarşileri, ev dizinlerinin altında bulunabilir.



[6] Farklı kişiler, kullanıcı hesaplarını farklı yerlere yerleştirmeyi tercih eder. Bu bölümde yalnızca kullanıcı ev dizinleri için önerilen yerleşim açıklanmaktadır; yine de, tüm FHS-uyumlu dağıtımların bunu kullanıcı ev dizinleri için öntanımlı konum olarak kullanmasını öneririz. İdari amaçlarla oluşturulan oturum açmayan hesapların ev dizinleri genellikle başka bir yerde bulunur.

Küçük sistemlerde, her kullanıcının ev dizini genel olarak doğrudan /home altında, örneğin /home/smith, /home/torvalds, /home/operator gibi bir alt dizin olarak uygulanır. Büyük sistemlerde (özellikle /home dizinleri NFS kullanan birçok konak arasında paylaşıldığında), kullanıcı ev dizinleri için alt bölümler oluşturmak yararlıdır. Alt bölümleme, /home/muhasebe, /home/konuklar, /home/talebeler gibi alt dizinler kullanılarak gerçekleştirilebilir.

[7] Kullanıcı bilgileri NIS gibi sistemler kullanılarak uzaktan depolanabileceğinden, bir kullanıcının giriş dizinini bulmak için /etc/passwd kayıtlarına güvenmek yerine fgetpwent, getpwent, getpwent_r gibi bir kütüphane işlevi kullanın.

[8] Uygulamaların, dosyaların otomatik kaydedilmesi ve kilitlenmesi dışında, kullanıcının izni olmadan ev dizininde nokta ile başlamayan dosyalar veya dizinler oluşturmaktan kaçınmaları önerilir.

[10] GLib uzlaşımlarının açıklaması, http://developer.gnome.org/glib/unstable/glib-Miscellaneous-Utility-Functions.html#GUserDirectory adresindeki GUserDirectory belgelerinde bulunabilir.