/var Sıradüzeni

Amaç

/var değişken veri dosyalarını içerir. Bunlara spool dizinleri ve dosyaları, yönetimsel ve kayıtlama verileri, geçici ve eğreti dosyalar da dahildir.

/var'ın bazı kısımları farklı sistemler arasında paylaşılır değildir. Örneğin, /var/log, /var/lock, ve /var/run. Diğer kısımları paylaşılır olabilir, bilhassa /var/mail, /var/cache/man, /var/cache/fonts, ve /var/spool/news.

Burada /var, /usr'nin salt okunur olarak bağlabilmesi için belirtilmiştir. Bir zamanlar /usr içinde olan ve sistem işlemleri sırasında yazılabilen herşey (kurulum ve yazılım bakımının aksine) /var içinde bulunmalıdır.

Eğer /var ayrı bir disk bölümü yapılamıyor ise, /var'ın kök dizinden çıkarılarak /usr bölümüne bağlanması çoğunlukla tercih edilebilir. (Bu bazen kök dizinin boyutunu düşürmek için veya kök dizindeki boşluğun azalması durumunda yapılır.) Bununla birlikte, /var /usr'ye bağlanmamalıdır çünkü bu /usr ve /var ayrıştırmasını daha zor kılar ve isim çakışmasını muhtemel yapar. Bunun yerine, /var/usr/var'a bağlayın.

Uygulamalar genellikle /var dizininin en üstüne dizin eklemezler. Bu dizinler sadece eğer bunlar bazı sistem-çapında çıkarımlara sahipse ve FHS e-posta listesinden görüş alınarak eklenmelidir.

Gereksinimler

Aşağıdaki dizinler veya dizinlere sembolik bağlar /var içerisinde bulunmalıdır:

DizinTanımlama
cache Uygulama tampon verileri
libDeğişken durum bilgileri
local/usr/local için değişken veriler
lockKilit dosyaları
logKilit dosyaları ve dizinler
opt/opt için değişken veriler
runÇalışan süreçlerle ilgili veriler
spoolUygulama spool verileri
tmpSistemin yeniden açılmaları arasında saklanan geçici dosyalar

Çeşitli dizinler, bazı uygulamaların keyfi olarak kullanmasını engellemek için 'ayırılmış'tır. Çünkü bunlar geçmiş ve/veya yerel kullanımlarla çakışabilir. Bunlar:

/var/backups
/var/cron
/var/msgs
/var/preserve

Özel Seçenekler

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

DizinTanımlama
accountSüreç muhasebe kayıtları (seçimlik)
crashSistem çökme dökümü (seçimlik)
gamesDeğişken oyun verileri (seçimlik)
mailKullanıcı e-posta-kutusu dosyaları (seçimlik)
ypNetwork Information Service (NIS) veritabanı dosyaları (seçimlik)

/var/account : Süreç hesap kayıtları (seçimlik)

/var/account : Süreç hesap kayıtları (seçimlik)

Bu dizin geçerli aktif süreçlerin hesap kayıtlarını ve karmaşık süreç kullanım verilerini (bazı UNIX-benzeri sistemlerde lastcomm ve sa tarafından kullanıldığı gibi) tutar.

/var/cache : Uygulama tampon verileri

Amaç

/var/cache uygulamalardan gelen tampon verileri tutmak amacıyla kullanırlır. Bu tür veriler, zaman alan I/O veya hesaplama işlemleri sonucunda, yerel olarak üretilir. Uygulama veriyi yeniden oluşturabilmeli veya geri yükleyebilmelidir. /var/spool'dan farklı olarak, tamponlanmış dosyalar veri kaybı olmaksızın silinebilirler. Veri, uygulamalar veya sistemin yeniden başlatılmaları arasında, geçerli kalmalıdır.

/var/cache altında bulunan dosyalar, uygulama özel bir bağlamda, sistem yöneticisi tarafında veya her iki durumda, süresi geçmiş olabilir. Uygulama her zaman bu dosyaların harici olarak silinmesini kurtarabilmelidir (genellikle disk boşluğu sıkıntısından dolayı). Tampon dizinlerin veri biçimi hakkında başkaca bir gereksinim yoktur.

Mantıksal Temel

Tamponlanmış veri için ayrı dizinlerin olması sistem yöneticisinin /var içindeki diğer dizinlerden farklı disk ve yedekleme politikası uygulamasına izin verir.

Özel Seçenekler

DizinTanımlama
fontsYerel olarak üretilen fontlar (seçimlik)
manYerel olarak biçimlendirilmiş kılavuz dosyaları (seçimlik)
wwwWWW proxy veya tampon veri (seçimlik)
<package>Paket özel tanpon veri (seçimlik)

/var/cache/fonts : Yerel olarak üretilen fontlar (seçimlik)

Amaç

/var/cache/fonts dinamik olarak oluşturulan herhangi bir fontları saklamak için kullanılmalıdır. Özellikle, mktexpk tarafından dinamik olarak oluşturulan tüm fontlar /var/cache/fonts dizini içinde uygun isimlerde oluşturulan altdizinlerde bulunmalıdır. [45]

Özel Seçenekler

Diğer dinamik olarak oluşturulan fontlar da ayrıca bu ağaç içerisinde, /var/cache/fonts'nin uygun isimlendirilmiş altdizinlerinde, bulunabilir.

/var/cache/man : Locally-formatted manual pages (seçimlik)

Amaç

Bu dizin salt-okunur /usr bölümü sağlayan yerler için standart bir yerdir fakat yerel-biçimlendirilmiş kılavuz sayfalarının öncelleklemensi arzu edilir. /usr dizinini yazılabilir olarak bağlayan yerler (örneğin tekil kullanıcılı kurulumlar) /var/cache/man dizinini kullanmamayı seçebilir ve biçimlendirilmiş kılavuz sayfalarını /usr/share/man içindeki cat<section> dizinleri içerisine yazabilirler. Bunun yerine bir çok yerde kullanılan aşağıdaki seçeneklerden birini tavsiye ederiz:

Biçimlendirilmemiş sürümlerinin yanında, tüm kılavuz sayfalarını önbiçimlendirin. Biçimlendirilmiş kılavuz sayfalarının önbelleklenmesine izin vermeyin ve bir kılavuz sayfasının her gösteriminde biçimlendirmenin tamamlanmış olması gereksin. /var/cache/man içindeki biçimlendirilmiş kılavuz sayfalarının yerel önbelleklenmesine izin verin. /var/cache/man yapısı hem çoklu kılavuz sayfaları sıradüzenini hem de çoklu dil desteği ihtimalini gözönüne almak zorundadır.

Biçimlendirilmiş kılavuz sayfaları <path>/man/<locale>/man<section> içinde bulunsun, biçimlendirilmişler /var/cache/man/<catpath>/<locale>/cat<section> içinde. Burada <catpath> <path>'den önündeki usr ve/veya takip eden ortak yol isminin çıkartılması ile türetilmiştir. (Dikkat ediniz, <locale> bileşeni eksik olabilir.) [46]

/var/cache/man'a yazılmış kılavuz sayfaları sonradan kaynak man sıradüzeni içinde uygun önbiçimlendirilmiş dizinlere aktarılabilir veya süresi geçebilir; benzer şekilde kaynak man sıradüzeni içinde biçimlendirilmiş kılavuz sayfalarının, eğer bir süre boyunca bunlara hiç erişim olmadıysa, süreleri geçebilir.

Eğer önbiçimlendirilmiş kılavuz sayfaları salt-okunur ortam (örn. CD-ROM) üzerinde bir sistem ile gelirse, bunlar kaynak man dizinine kurulmalıdırlar (örn. /usr/share/man/cat<section>). /var/cache/man dizini biçimlendirilmiş kılavuz sayfaları için yazılabilir tampon olarak ayrılmıştır.

Mantıksal Temel

Standardın 1.2 yayımı bu dizin için /var/catman belirtmiştir. Yol, biçimlendirilmiş kılavuz sayfalarının dinamik özelliğinni daha iyi yansıtmak için /var/cache altına taşınmıştır. Dizin isimleri, sıradüzeni daha geliştirmek, PostScript, HTML veya DVI gibi "cat" dışındaki biçimleri de dahil etmek için değiştirilmiştir.

/var/crash : System crash dumps (seçimlik)

Amaç

Bu dizin sistem çökme yığınlarını (dump) tutar. Standardın geçmiş yayımlarında, sistem çökme yığınları Linux'da desteklenmemişti fakat FHS uyumlu diğer sistemler tarafından desteklenmiş olabilir.

/var/games : Variable game data (seçimlik)

Amaç

/usr içinceki oyunlarla ilişkili herhangi bir değişken veri burada bulunur. /var/games daha önce /usr içinde bulunan değişken verileri saklamalı; durağan veriler, örneğin yardım metinleri, seviye (level) tanımlamaları ve benzerleri başka yerde bulunmalıdır; örneğin /usr/share/games.

Mantıksal Temel

/var/games, yayım 1.2'deki gibi eski /var/lib ile birleşmekten ziyade, kendi sıradüzeni ile verilmiştir. Bunları birbirinden ayırmak yedekleme stratejilerinin, izinlerin, ve disk kullanımının yerel kontrolüne izin vermekle birlikte konaklar arası paylaşımı ve /var/lib içindeki karışıklığı azaltmayı da sağlar. Ek olarak, /var/games BSD'nin geleneksel olrak kullandığı bir yoldur.

/var/lib : Variable state information

Amaç

Bu dizin bir uygulamaya veya sisteme ait durum bilgisini tutar. Durum bilgisi programların çalışırlarken değiştirdiği bir veridir ve belirli tek bir konağa aittir. Kullanıcılar hiç bir zaman bir paketin işlemlerini yapılandırmak için /var/lib içindeki dosyaları değiştirmek zorunda değildir.

Durum bilgisi genellikle bir uygulama ile bunun çağırımları veya aynı uygulamanın diğer örnekleri (instance) arasındaki durumu tutmak için kullanılır (veya bir grup ilişkili uygulamaların) Durum bilgisi genellikle sistemin yeniden başlatılmasından sonra geçerli kalmalı, kayıt çıktısı olmamalı ve kuyruklu veri (spooled data) olmamalıdır.

Bir uygulama (veya bir grup ilişkili uygulamalar) kendi verileri için /usr/lib içerisinde bir altdizin kullanmalıdırlar. gerekli altdizinleden biri, /var/lib/misc, altdizin gerektirmeyen durum dosyalarını tutmak içindir; diğer altdizinler sadece eğer bu uygulama dağıtıma dahil edilmiş ise bulunmalıdır. [47]

/var/lib/<name> tüm dağıtım destekli paketlerin kullanması gereken yerdir. Değişik dağıtımlar değişik isimler kullanabilirler tabii ki.

Gereksinimler

Aşağıdaki dizinler veya dizinlere sembolik bağlar, /var/lib içerisinde bulunmalıdır:

DizinTanımlama
miscÇeşitli durum verisi

Özel Seçenekler

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

DizinTanımlama
<editor>Düzenleyici yedek dosyaları ve durumlar (seçimlik)
<pkgtool>Paketleme destek dosyaları (seçimlik)
<package>Paketler ve altsistemler için durum verileri (seçimlik)
hwclockhwclock için durum (seçimlik)
xdmX display manager değişken verileri (seçimlik)

/var/lib/<editor> : Düzenleyici yedek dosyaları ve durum (seçimlik)

Amaç

Bu dizinler bir düzenleyicinin (örn. elvis, jove, nvi) beklenmeyen bir şekilde sonlandığı durumlarda kaydedilen dosyaları içerir. Diğer düzenleyiciler çökme-kurtarma için bir dizin gerektirmeyebilirler, fakat düzenleyici çalışırken diğer bilgilerin saklanacağı iyi tanımlanmış bir yere ihtiyaç duyabilirler. Bu bilgiler /var/lib içerisinde bir altdizinde saklanmalıdır (örneğin, GNU Emacs kilit dosyalarını /var/lib/emacs/lock içine yerleştirecektir) Gelecek düzenleyiciler çökme-kurtarma dosyaları ve kilit dosyaları ötesinde ek durum bilgilerine ihtiyaç duyabilirler - bu bilgiler de /var/lib/<editor> altında yer almalıdır.

Mantıksal Temel

Önceki Linux yayımları, tüm ticari sağlayıcılar gibi, vi veya klonları için /var/preserve dizinini kullanır. Bununle birlikte, her düzenleyici bu çökme-kurtama dosyaları için kendi biçimlerini kullanırlar, bu yüzden her bir düzenleyici için ayrı bir dizin gereklidir.

Düzenleyici-özel kilit dosyaları genellikle cihaz dosyalarında veya /var/lock içinde duran kaynak kilit dosyalarından oldukça farklıdır, bu yüzden /var/lib altında bulunurlar.

/var/lib/hwclock : hwclock için durum dizini (seçimlik)

Amaç

Bu dizin /var/lib/hwclock/adjtime dosyasını içerir.

Mantıksal Temel

FHS 2.1'de bu dosya /etc/adjtime idi, fakat hwclock bunu güncelleştirdiği için bu yer açıkça doğru değildi.

/var/lib/misc : Çeşitli değişken veriler

Amaç

Bu dizin /var/lib içinde bir altdizine yerleştirilmemiş olan değişken verileri içerir. İsim çakışmasından sakınmak için bu dizin içindeki dosyaların bağıl olarak biricik olması sağlanmalıdır. [48]

/var/lib/misc : Kilit dosyaları

Amaç

Kilit dosyaları /var/lock dizin yapısı içinde saklanmalıdır. Cihazlar ve diğer kaynaklar için kilit dpsyaları çoklu uygulamalar tarafından paylaşılabilir. Örneğin orjinal olarak /usr/spool/locks veya /usr/spool/uucp altında bulunan seri cihaz kilit dosyaları artık /var/lock içinde saklanmaldır. Kullanılması gereken isimlendirme kuralı "LCK.." ve bunu takip eden cihaz ismidir. Örneğin /dev/ttyS0 dosyasını kilitlemek için "LCK..ttyS0" dosyası yaratılır. [49]

Böyle kilit dosyalarının içeriği için kullanılan biçim HDB UUCP kilit dosya biçimi olmalıdır. HDB biçimi süreçrtecini (PID) on byte ASCII onluk sayıyı takip eden bir satır başı biçiminde tutar. Örneğin eğer 1230 numaralı süreç bir kilit dosyayı tutsaydı bu onbir karakterden oluşurdu: boşluk, boşluk, boşluk, boşluk, boşluk, boşluk, bir, iki, üç, sıfır, ve satır başı.

/var/log : Kayıt dosyaları ve dizinler

Amaç

Bu dizin çeşitli kayıt dosyalarını içerir. Bir çok kayıt bu dizin içerisinde veye uygun bir altdizinde tutulmalıdır.

Özel Seçenekler

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

DosyaTanımlama
lastlogher bir kullanıcı için son oturum açma kaydı
messagessyslogd'den sistem mesajları
tmptüm oturum açma ve kapamaların kaydı

/var/mail : Kullanıcı eposta kutusu dosyaları (seçimlik)

Amaç

Eposta kuyruğu /var/mail üzerinden erişilebilir olmalı ve eposta kuyruğu <username> biçiminde olmalıdır. [50]

Buradaki kullanıcı eposta kutusu dosyaları standart UNIX eposta kutusu biçiminde saklanmalıdır.

Mantıksal Temel

Bu dizin için mantıksal yer /var/spool/mail dizininden FHS'ye bağlı olarak /var/mail olarak değiştirilmiştir. Bu değişim birlikte çalışabilirlik için önemlidir çünkü /var/mail sıklıkla bir çok konak ve UNIX uygulamaları arasında (NFS kilitleme konuları dışında) paylaşılmaktadır.

Fiziksel olarak eposta kuyruğunun bu yere taşınmasının gerekmediğine dikkat etmek önemlidir. Bununla birlikte programlar ve başlık dosyaları /var/mail dizinini kullanacak şekilde değiştirilmelidir.

/var/opt : /opt için değişken veriler

Amaç

/opt içindeki paketlerin değişken verileri /var/opt/<subdir> içine kurulmalıdır. Burada <subdir>, eğer /etc içinde yerine kullanılan başka bir dosya yoksa, /opt içindeki ilave yazılım paketlerinin durağan verilerinin saklandığı altağaç ismi olmalıdır. /var/opt/<subdir> dizininin iç düzenlenmesi üzerine dayatılan bir yapı yoktur.

Mantıksal Temel

/opt için Mantıksal Temel'e bakınız.

/var/run : Çalışma-anı değişken veriler

Amaç

Bu dizin sistemin önyüklemeden (boot) itibaren sistemi tanımlayan verileri içerir. Bu dizin altındaki dosyalar önyükleme sürecinin başında temizlenmelidir (silme veya budama). Programların /var/run içinde altdizinleri bulunabilir; bu, brden fazla çalışma-anı dosyası kullanan programlar için teşvik edilir.[51] Orjinal olarak /etc içinde bulunan süreç belirteç (PID) dosyaları /var/run içinde bulunmalıdır. PID dosyaları için isimlendirme kuralı <program-name>.pid şeklindedir. Örneğin crond PID dosyası /var/run/crond.pid şeklinde isimlendirilir.

Gereksinimler

PID dosyalarının dahili biçimi değiştirilmemiştir. Dosya süreç belirtecinin ASCII-kodlanmış onluk sayısını takip eden satır başı karakterinden oluşur. Örneğin, eğer crond süreç numarası 25 ise, /var/run/crond.pid üç karakterden oluşur: iki, beş, ve satır başı.

PID dosyalarını okuyan programlar kabul ettikleri şeylerle ilgili bir şekilde esnek olmalıdırlar: örn. fazladan boşlukları, baştaki sıfırları, satır başı karakterinin bulunmamasını veya PID dosyasında fazladan satır bulunmasını gözardı etmelidirler. PID dosyası üreten programlar yukarıdaki paragrafta açıklanan basit biçimi kullanmalıdırlar.

Sistemi o anda kimin kullandığı bilgisini tutan utmp dosyası bu dizinde bulunur.

Geçişli UNIX-alan adı soketlerini sürdüren sistem programları bu dizinde bulunmalıdırlar.

/var/spool : Uygulama kuyruk verileri

Amaç

/var/spool sonradan işlenmek üzere bekleyen bir takım süreç verilerini içerir. /var/spool içindeki veriler gelecek zamanda tamamlanacak (bir program, kullancı ve yönetici tarafından) işleri temsil eder; genellikle veri işlendikten sonra silinir. [52]

Özel Seçenekler

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

DizinTanımlama
lpdYazıcı kuyruk dizini (seçimlik)
mqueueGiden posta kuyruğu (seçimlik)
newsHaber kuyruk dizini (seçimlik)
rwhoRwhod dosyaları (seçimlik)
uucpUUCP için kuyruk dizini (seçimlik)

/var/spool/lpd : Hat-yazıcı artalan süreci yazma kuyrukları (seçimlik)

Amaç

lpd için kilit dosyası, lpd.lock, /var/spool/lpd içine yerleştirilmelidir. Her bir yazıcı için kilit dosyasının kuruk dizini içine özel yazıcı ve kilit ismiyle yerleştirilmesi tavsiye edilir.

Özel Seçenekler
DizinTanımlama
printerÖzel bir yazıcı için kuyruklar (seçimlik)

/var/spool/rwho : Rwhod dosyaları (seçimlik)

Amaç

Bu dizin yerel ağdaki diğer sistemler için rwhod bilgisini tutar.

Mantıksal Temel

Bazı BSD yayımları bu veri için /var/rwho dizinini kullanır; diğer sistemlerde tarihsel olarak /vat/spool içinde bulunması ve kuyruk (spool) tanımlamasına tam olarak uyması dolayısıyla bu yerin daha uygun olduğu düşünülmüştür.

/var/tmp : Sistemin yeniden başatılmaları arasında geçici dosyalar

Amaç

/var/tmp dizini, sistemin yeniden başlatılmaları arasında geçici dosya veya dizine ihtiyaç duyan programların kullanması içindir. Bu yüzden /var/tmp içindeki verilerin kalıcılığı /tmp içindekilerden daha fazladır.

/var/tmp içindeki dosyalar ve dizinler önyükleme (boot) sırasında silinmemelidir. /var/tmp içindek tutulan veri tipik olarak silinecek olsa da silme işleminin /tmp içindekilere göre daha az sıklıkta olması tavsiye edilir.

/var/yp : Ağ Bilgi Sistemi (NIS) veritabanı dosyaları (seçimlik)

Amaç

Ağ Bilgi Sistemi (NIS), daha önceki bilinen ismiyle Sun Yellow Pages (YP), ile ilgili değişken veriler bu dizine yerleştirilmelidir.

Mantıksal Temel

/var/yp NIS (YP) için standart dizindir ve hemen hemen yalnızca NIS belgelendirmelerinde ve sistemlerinde kullanılmaktadır. [53]



[45] Bu standarda şu an TeX Directory Structure (TeX dosyalar ve dizinlerin yerleşimini tanımlayan bir belge), fakat okumak faydalı olabilir. ftp://ctan.tug.org/tex/ adresinde bulunmaktadır.

[46] Örneğin /usr/share/man/man1/ls.1 dizini /var/cache/man/cat1/ls.1 içine ve /usr/X11R6/man/<locale>/man3/XtClass.3x de /var/cache/man/X11R6/<locale>/cat3/XtClass.3x biçimlendirilmiştir.

[47] Standardın bu ve önceki sürümü arasındaki önemli bir fark uygulamaların artık /var/lib dizinini kullanması gerektiğidir.

[48] Bu sıradüzen şu anki BSD yayımlarında /var/db içinde saklı dosyalar içermelidir. Bunlara locate.database, mountdtab ve çekirdek sembol veritaban(lar)ı da dahildir.

[49] Öyleyse /dev/ttyS0'ı kullanmak isteyen herhangi birşey kilit dosyasını okuyabilir ve buna göre hareket eder (/var/lock içindeki tüm kilitler herkes tarafından okunabilir olmalıdır).

[50] /var/mail dizininin başka bir dizine sembolik bağ olabileceğine dikkat ediniz.

[51] /var/run yetkisiz kullanıcılar tarafından yazılamaz olmalıdır (root veya süreci çalıştıran kullanıcılar); herhangi bir kullanıcının bu dizine yazabilmesi başlıca bir güvenlik açığıdır.

[52] UUCP kilit dosyaları /var/lock içine yerleştirilmelidir. /var/lock'la ilgili yukarıdaki bölüme bakınız.

[53] NIS, başka bir dizin olan /var/nis'i kullanan Sun NIS+ ile karıştırılmamalıdır,