Paylaşılan verileri dosya sisteminde nerede saklamalıyım?


44

Unix dosya sisteminde, kullanıcıya özel olmayan verileri, örneğin nfs veya ftp ile paylaşılan verileri veya yedeklemeleri kaydetmek için kullanılan geleneksel konum nerede?

Açıkça herhangi bir rasgele klasör oluşturabilir ve kullanabilirim (örneğin / home / shared, / data veya / var / data gibi), ancak "en iyi" veya "ortak" uygulama yönergeleri olup olmadığını gerçekten merak ediyorum. Dosya Sistemi Hiyerarşi Standart paylaşılan veriler için bir konum belirtmez.

Yedeklemeler için, / var / backups kullanma eğilimindeyim, ancak birkaç cronjobs yazarken gerçekten kullanımları için bırakılmalı mı?

Yanıtlar:


29

Bu sorunun , "bu sistem tarafından sunulan siteye özgü verileri içer" olarak belirtilen Dosya Sistemi Hiyerarşisi Standardında açık bir cevabı var gibi görünmektedir . (3.16.1)/srv

Bunu belirlemenin bu ana amacı, kullanıcıların belirli bir hizmet için veri dosyalarının konumunu bulabilmeleri ve böylece salt okunur veri, yazılabilir veri ve komut dosyaları için tek bir ağaç gerektiren servislerin bulunmasıdır.

(vurgum)

Not: 'Sistem tarafından sunulur' mutlaka İnternete atıfta bulunmaz. Bir ağ anlamına bile gelmiyordu. Paylaşılan bir sisteme bile uygulanabilir. Dahası, site ve hizmet kelimeleri internet öncesi anlamlarında anlaşılmalıdır. Siteniz "fizik bölümü" veya "finans ofisi" olabilir.

Söylemeye devam ediyor:

Büyük sistemlerde / srv'yi / srv / physics / www, / srv / compsci / cvs, vb. Gibi idari bağlamda yapılandırmak faydalı olabilir. Bu nedenle, hiçbir program / srv dosyasının belirli bir alt dizin yapısına ya da mutlaka / srv dosyasında depolanan verilere dayanmamalıdır. Ancak / srv her zaman FHS uyumlu sistemlerde bulunmalı ve bu veriler için varsayılan konum olarak kullanılmalıdır.

Dolayısıyla daha ileri gibi dizinleri verilerinizi yapılandırmalıyım /srv/nfs, /srv/backupvb.

Ayrıca artık birkaç kişinin bunu yaptığını söylemeliyim. Fakat neden olmasınlar iyi bir sebep yok. Standart hiçbir şekilde güncel değildir.

/varbaskı makaraları ve günlük dosyaları gibi şeyler için geleneksel olarak kullanılır, ancak Apache web sunucusu tarafından da kullanılır (yine de Debian sistemlerinde - SUSE use / srv); /varPaylaşılan veriler için uygun bir dizin olup olmadığı konusunda fikir birliği yoktur . Ama onun yerine kullanmaya karar verirseniz, eminim pişman olmayacaksınız.

Ayrıca ayrıca: Karthick'in cevabı hiçbir şekilde yanlış değildir. FHS / srv "böyle bir veri için varsayılan konum olarak kullanılmalı" diyor, ancak standart terimleri nasıl yorumladığınıza bağlı olarak kendi tercihlerinize göre bir alan bırakıyor.


4
Debian (ve Red Hat) 'de Apache dosyalarını koyarak başladığını Not /var/wwwönce /srv/FHS parçasıydı.
mattdm

İyi bir açıklama, teşekkürler, sorunun cevabını her ne kadar "gerçekten takip edilen bir standart yok" gibi görünse de. Belki de olması gerekir, belki de gerçekten önemli değil.
misterben

İyi bir nedeniniz olduğunda kuralları daima çiğnemeniz gerekir. Ancak bu standardın birçok büyük ölçekli dağıtımda titizlikle takip edildiğini tahmin ediyorum.
Stefano Palazzo

Ortak bir standarda geçmek isteyen insanlar, FHS'ye dayanarak bu cevabı açıkça doğru bulmalıdır.
Jeremy

13
  • Kullanıcıya özel olmayan veriler / usr / local / var içinde saklanabilir, böylece yeniden bir newtwork paylaşımına girmez.
  • ../Local/ .. altında olmayan her şeyin bir nfs paylaşımına bırakılmasına izin verilir, bu nedenle bir nfs paylaşımından veri indirmek ve yerel olarak makinelerin sabit disk sürücüsünde depolandıklarından emin olun.
  • O zaman içinde ... / local / .. olan bir yol seçmelisiniz .... gerisi verilerin türüne, türüne bağlıdır. / Yerel / var veya / yerel / tmp vb olabilir. .

Dosya sistemi hiyerarşisi:
alt metin

Ayrıca şuna bir bak


1
Bu FHS'nin faydalı bir temsili olmasına rağmen, hala paylaşılan bir veri deposu için standart bir yer önermemektedir.
misterben

FSH, şunu belirtir: / usr paylaşılabilir, salt okunur veri. Bu, / usr'ın çeşitli FHS uyumlu ana bilgisayarlar arasında paylaşılabilir olması ve yazılmaması gerektiği anlamına gelir . Hmmm, bu yüzden payınızın amacının ne olduğuna bağlı görünüyor.
htorque

@htorque (şimdi silinmiş) cevabında önerildiği gibi, / var altında bir yerde bir dosya paylaşımına en uygun olduğunu düşünüyorum.
misterben

1
Cevabımı sildim, çünkü FHS ayrıca şunu belirtiyor: Şunlar: Uygulamalar genellikle / var düzeyinin üstüne dizin eklememelidir. Bu tür dizinler, yalnızca sistem genelinde bazı uygulamaları varsa ve FHS posta listesine danışarak eklenmiş olmalıdır. - FHS basitçe (yazılabilir) veri paylaşmanızı istemiyor! : P
htorque

Teşekkürler, yararlı bir genel bakış ve diğer cevap gibi, gerçekten de kendi başına yardımcı olan kesin bir cevap olmadığını belgelemek gerçekten işe yarar.
misterben

5

FHS'nin paylaşılan kullanıcı verileri için herhangi bir yer tanımladığını sanmıyorum. Orada paylaşılan verileri depolamak istedikleri kullanıcıdır. Genelde /usr/local/sharedya da kullanırım /home/shared.


1

/exportNFS ile hizmet ettiğimi /mntve NFS belgelerinde de önerildiği gibi, kurumsal bir ortamda yerel olarak NFS paylaşımını yerel olarak bağladığımı gördüm; daha sonra Solaris adını değiştirdiğimden beri Sun OS'den geldiğine dair bir standart.

/etc/exportsDosya adları hacimleri ihraç ve /exportsdizin montajını uzak kullanıcılara, onları vermektedir /mnt. Sunucu ana bilgisayarı /mnt, aynı nfs sunucusunu, sunucuda yerel olarak çalışan herhangi bir istemcinin veya işlemin kullanımı için, uzak ana bilgisayarlarla uyumluluğu korumak ve belki de yük düzeylendirme, kotalar, vb. İşlevlerini korumak için de kullanabilir.

Bu, 'standarda' geldiği kadar yakın. /exportBu nedenle FHS’de bulunmadığına dikkat edin , bu nedenle /exportbağımsız bir şekilde eklenir, bu yüzden muhtemelen hiç kimseden memnun olmaz /srv. Muhtemelen 'hizmet' hacimlerinden ziyade daemon olarak çalışan 'hizmetler' ile ilgili kafa karışıklığı yüzünden. /exportaçık bir şekilde, çok az karışıklık şansı ile adlandırılmıştır. Hiçbir şey görmedim /srv.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.