Dosya Sistemi Hiyerarşisi Standardı - Tedarik edilebilir fonksiyonlar nereye yerleştirilir?


9

Sistem kontrollerini çalıştıran birkaç bash komut dosyam var. Bu komut dosyaları, / etc / healthchecks / config dosyasından kaynak yapılandırma seçeneklerini sunar.

Yapılandırma dosyasıyla birlikte, paylaşılan bir işlevler dosyam var. Komut dosyaları bu dosyayı kaynaklayabilmeli ve içindeki işlevleri çalıştırabilmelidir.

Dosya Sistemi Hiyerarşi Standardına dayanarak, paylaşılan işlevler dosyasını nereye koymalıyım? Bu bir yapılandırma değil, bu yüzden / etc'ye ait gibi görünmüyor, ancak / usr / bin yanlış görünüyor. Belki / usr / lib?

Yanıtlar:


7

healthchecksYürütülebilir dosyalarınızı / usr / local / bin veya / opt / bin içine koymalısınız . Klasörünüzün / opt'inizin boş olduğunu görürseniz, linux dağıtımınızın onu kullanmadığı anlamına gelir. Yani, uygun yer / usr / local olacaktır.

/ usr / local ve / opt her "manuel" paket / programın yerleştirilmesi gereken yerlerdir. / usr, paket yöneticileri (dpkg) tarafından yönetilen paketler içindir. / opt, FHS'ye göre manuel paketler için "standart yer" dir, ancak debian dağıtımları bunun yerine / usr / local kullanır.

Yapılandırma dosyaları için / usr / local / etc üzerine yerleştirilmelidir, çünkü / etc otomatik paketlerin ve diğer sistem programlarının yapılandırma dosyaları içindir.

Paylaşılan işlevleriniz için doğru yer / usr / local / share'dir (/ usr / share otomatik paketlerin paylaşılan dosyaları içindir). Salt okunur ve mimariden bağımsız olarak tasarlanan her dosya / usr / share veya / usr / local / share dizinine aittir (eğer "otomatik" veya "manuel" paketler varsa).

/ usr / lib dinamik ve statik ikili kütüphaneler (.so veya .a) içindir ve "yorumlanmış" kütüphaneler / işlevler için değildir.

Genellikle, tercümanların her sürüm için / etc / share / içinde ve her sürüm klasöründe, komut dosyaları, yerel ayarlar, testler, örnekler vb. İçin farklı alt klasörler bulunur.

Bir gün paketiniz için resmi bir havuz oluşturursanız healthchecks, / usr / local / healthchecks içeriklerinizi / usr / healthchecks ve / etc / healthchecks olarak taşıyabilirsiniz.


2
Devam ettim ve cevabımı sildim çünkü 1) sizinki konuyu yeterince iyi kaplıyor ve 2) libexecteknik olarak henüz FHS'nin bir parçası değil. Bu mevcut olduğunu 3,0 taslak ve FHS RedHat'in Bakış , ama teknik FHS henüz bir parçası değildir. (isterseniz temel olarak kullanın)
Andrew B

1

Genellikle siteye özgü şeyleri bu ayrılmış sistem alanlarının dışında tutmaya çalışırım. Sistem alanlarını kullanırken, özel site dosyaları sistem gelişimi sırasında kolayca kaybolabilir veya unutulabileceği için kendi üst düzey dizin hiyerarşinizi kullanmayı düşünebilirsiniz. Başka bir olasılık / usr / local / etc olabilir .....

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.