Sık değişen yapılandırma dosyalarını saklamak için tercih edilen yer


18

Linux sunucumda birkaç yapılandırma dosyasına bağlı bir dizi uygulama var. Bu uygulamalar birbiriyle ilişkilidir ancak ayrıdır. Değer için, şu anda her uygulamanın kendi dizini vardır /opt. Yapılandırma dosyaları haftada yaklaşık bir kez değişebilir, ancak bundan daha fazla olamaz. Her Pazar bir FTP sitesinden en son sürümü almak için bir cron işi kurmayı planlıyorum.

Bu yapılandırma dosyalarını koymak için en iyi yerin tam olarak nerede olacağını tam olarak anlamıyorum. İşte bazı olasılıklar:

  • /etc/<appsuitename>/ Bu bir yapılandırma dosyası, yapılandırma içeri giriyor /etc
  • /var/<appsuitename>/ Dosyalar makul sıklıkta değişir, ancak asla doğrudan yönetici (ben) tarafından değil, yalnızca platform sağlayıcısı tarafından değişir.
  • /opt/<appsuitename>/libveya /opt/<appsuitename>/commonBu daha çok Windows düşünme biçimidir, ancak bu durumda mantıklı olabilir
  • /usr/lib muhtemelen değil, ama tamlık için dahil.

Ya da belki de hiç düşünmediğim bir şey?

Edit: Answering @ MichaelKjörling 'in soruları:

  • Sadece 3 bölüm vardır, /home, /, ve /swap. /optsalt okunur değildir.
  • Evet, bir otobüse çarparsam başka bir kişi bu sunucuyu kullanmak zorunda kalacak.
  • Bu uygulamalar dahili olarak geliştirildi, bu yüzden yapılandırmaların nereye gitmesi gerektiğine karar veren benim. Eğer bir "meta-tag" olmasaydı en iyi uygulamalar etiketi koyabilirdim.
  • Nihayetinde, ne karar verirsek vereyim önemli değil, örgütsel sistemlerin sistem yöneticisi için işletim sisteminin iç işleyişinden daha fazla olduğunu biliyorum, ama bir nedenden dolayı var oldukları için standart sözleşmeleri takip etmeyi seviyorum.

Yanıtlar:


21

Dosya Sistemi Hiyerarşi Standardı altında yüklü birşey için yapılandırma dosyaları gerektirir /opt/xyziçine gitmeli /etc/opt/xyznereye, xyzaynı olmalıdır. Yani, / opt altında dizine yüklenen ve ana bilgisayara özgü yapılandırma dosyaları gerektiren bir uygulama , / etc / opt altında, bu yapılandırma dosyalarının girdiği eşleşen bir dizine sahip olmalıdır.

Amacı / etc (ana bilgisayar özel sistem konfigürasyonu) basit bir şekilde ifade edilmektedir:

/etcHiyerarşi yapılandırma dosyalarını içerir. "Yapılandırma dosyası", bir programın çalışmasını kontrol etmek için kullanılan yerel bir dosyadır; statik olmalı ve yürütülebilir bir ikili dosya olamaz.

Tabii ki, hiçbir yapılandırma tamamen statik değil, ama ben bu bağlamda "statik" almak istiyorum kabaca "yönetici müdahalesi olmadan değişmez" anlamına gelir.

/ etc / opt daha spesifiktir ve amacı şu şekilde ifade edilir:

Uygulamaya eklenti yazılım paketlerinin Sunucu özel yapılandırma dosyası dizin içinde yüklü olmalıdır /etc/opt/<subdir>, <subdir>içinde alt ağacın adıdır /opto paketten statik verilerin saklandığı yerde.

Yazılımı / opt altına yüklediğiniz için, yapılandırma dosyaları / etc / opt altında ilgili bir alt dizine veya hiyerarşiye gitmelidir.

Tabii ki, hiçbir şey sisteminizin FHS ile uyumlu olmasını gerektirmez , ancak başkalarının aradıkları herhangi bir dosyayı bulmasını kolaylaştıracaktır, çünkü onları nerede bulabileceklerini bileceklerdir.

Bu, dahili olarak geliştirilen yazılımla ilgili olduğundan , konumu yapılandırılabilir hale getirmenizi de şiddetle öneririm . Yalnızca makefile içinde yapılan bir makro bildirimi ile yapılandırılabilir ve kaynaktan tam bir yeniden oluşturma yoluyla etkilenmiş olsa bile, bu, bir yapılandırma dosyasını açmak istediğiniz her yerde belirli bir konumu kaynak koduna kodlamaktan daha iyidir.


Aslında zaten bir .propertiesdosyada yapıldı. Ama şu anda, yazılımın her versiyonunun bir /optalt dizinde kendi kopyası var , ki bu kesinlikle ideal değil ve değiştirmek istediğim bir şey. Bu soru "onu NEDEN değiştirmeliyim" ile ilgilidir. Teşekkürler!
durron597
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.