Luogo preferito per l'archiviazione dei file di configurazione che cambiano spesso


18

Ho un numero di applicazioni sul mio server Linux che dipendono da alcuni file di configurazione. Queste applicazioni sono correlate ma separate. Per quello che vale, al momento ogni applicazione ha la propria directory in /opt. I file di configurazione possono cambiare circa una volta alla settimana, ma non di più. Ho intenzione di impostare un lavoro cron per prendere l'ultima versione da un sito FTP ogni domenica.

Non ho ancora capito esattamente dove sarebbe il posto migliore dove mettere questi file di configurazione. Ecco alcune possibilità:

  • /etc/<appsuitename>/ È un file di configurazione, la configurazione entra /etc
  • /var/<appsuitename>/ I file cambiano abbastanza spesso, ma mai direttamente dall'amministratore (me), solo dal fornitore della piattaforma.
  • /opt/<appsuitename>/liboppure /opt/<appsuitename>/commonQuesto è più un modo di pensare di Windows, ma potrebbe avere senso in questo caso
  • /usr/lib probabilmente no, ma incluso per completezza.

O forse qualcos'altro a cui non ho pensato?

Modifica: rispondendo alle domande di MichaelKjörling:

  • Ci sono solo 3 partizioni, /home, /, e /swap. /optnon è di sola lettura.
  • Sì, un'altra persona dovrà utilizzare questo server se vengo investito da un autobus.
  • Queste applicazioni sono sviluppate internamente, quindi sono io a decidere dove dovrebbero andare le configurazioni. Se non fosse un "meta-tag" avrei potuto mettere un tag delle migliori pratiche.
  • In definitiva, qualunque cosa decida davvero, non importa, so che i sistemi organizzativi sono per l'amministratore di sistema più che per i meccanismi interni del sistema operativo, ma mi piace seguire le convenzioni standard in quanto esistono per un motivo.

Risposte:


21

Lo standard di gerarchia dei file system richiede che /opt/xyzvengano inseriti i file di configurazione per qualcosa installato in /etc/opt/xyz, dove xyzdevono corrispondere. Vale a dire, un'applicazione installata in una directory in / opt che richiede file di configurazione specifici dell'host dovrebbe avere una directory corrispondente in / etc / opt in cui vanno quei file di configurazione.

Lo scopo di / etc (configurazione di sistema specifica dell'host) è semplicemente indicato come:

La /etcgerarchia contiene file di configurazione. Un "file di configurazione" è un file locale utilizzato per controllare il funzionamento di un programma; deve essere statico e non può essere un file binario eseguibile.

Certo, nessuna configurazione è totalmente statica, ma in questo contesto prenderei "statico" per dire approssimativamente "non cambia senza l'intervento dell'amministratore".

/ etc / opt è più specifico e il suo scopo è dichiarato come:

I file di configurazione specifici dell'host per i pacchetti software applicativi aggiuntivi devono essere installati all'interno della directory /etc/opt/<subdir>, dove si <subdir>trova il nome della sottostruttura in /optcui sono memorizzati i dati statici da quel pacchetto.

Poiché si sta installando il software in / opt, i file di configurazione dovrebbero quindi andare in una sottodirectory o gerarchia corrispondente in / etc / opt.

Ovviamente, nulla richiede che il tuo sistema sia conforme a FHS, ma renderà molto più facile per gli altri trovare tutti i file che potrebbero cercare poiché sapranno dove possono aspettarsi di trovarli.

Poiché si tratta di software sviluppato internamente, suggerirei vivamente di rendere configurabile la posizione . Anche se è configurabile solo attraverso una dichiarazione macro effettuata nel makefile ed effettuata attraverso una ricostruzione completa dal sorgente, è comunque molto meglio che codificare in modo rigido una posizione specifica nel codice sorgente ovunque si desideri aprire un file di configurazione.


In realtà è già fatto in un .propertiesfile. Ma al momento, ogni versione del software ha la sua copia in una /optsottodirectory, che ovviamente non è l'ideale ed è qualcosa che stavo pensando di cambiare. Questa domanda riguarda "a cosa dovrei cambiarlo". Grazie!
durron597,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.