Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.arcetri.astro.it/irlab/doc/std_places.pdf
Дата изменения: Tue Feb 27 12:58:45 2007
Дата индексирования: Tue Oct 2 09:12:27 2012
Кодировка:
INAF-OAA Gruppo Strumentazione Infrarossa

Progetto Giano

S t ru t t u ra d e l l e d i re c t o ri e s p er i progetti software del Laboratorio Infrarosso
C.Baffa, E.Giani
Versione 1.2, Firenze Febbraio 2007

Sommario
Nel presente memo descriveremo le linee guida pertinenti la sistemazione del le varie componenti dei software sviluppati presso il Laboratorio Infrarosso. Queste linee guida si muovono nel l'ambito del lo Unix Filesystem Hierarchy Standard.

1

Introduzione

Lo sviluppo di molteplici progetti software presso il Laboratorio Infrarosso, ha messo in luce le difficolt` derivanti dalla mancanza di uno standard per la sistemazione delle varie componenti del a progetto all'interno del filesystem Unix. I problemi derivanti vanno dalle difficolt` di installazione a a seri problemi di sicurezza. Nel seguito descriveremo lo standard per la sistemazione delle varie componenti in mo do che siano co erenti, sicure e seguano lo standard Unix Filesystem Hierarchy Standard[1].

2

La struttura generale

Dopo approfondita discussione, abbiamo deciso di uniformare la struttura delle directories in cui vengono installati i vari programmi sviluppati presso il Laboratorio Infrarosso allo standard Unix Filesystem Hierarchy Standard. In particolare si ` operata la scelta di riunire tutti i co dici sviluppati da noi in una oppotuna sote to directory della gerarchia /opt, evitando di mescolare i co dici dedicati alla strumentazione con i programmi di sistema (gerarchia /usr) o con quelli generali, ma specifici della macchina (gerarchia /usr/lo cal). Tutti i programmi sviluppati presso il Laboratorio Infrarosso, dovranno risiedere nella gerarchia /opt nella sotto directory /opt/softir, secondo le direttive dello Unix Filesystem Hierarchy Standard, che richiede una gerarchia specifica per ciascun fornitore di software (ad esempio kde, apache, staroffice). All'interno della directory /opt/softir vi ` una struttura standard di directories cos` come delineato e i in Fig. 1. Oltre alla directory principale di installazionei /opt/softir, i programmi potranno utilizzare, se


/opt

softir

kde

openoffice

bin

lib

share

man

include

doc

Figura 1: Struttura della directory /opt relativa ai programmi sviluppati presso il Laboratorio Infrarosso. necessario, alcune altre lo cazioni del filesystem, in particolare alcune sotto directories della gerarchie /etc e /var, come dettagliato in seguito. L'utilizzo delle sotto directories principali di /opt/softir segue le seguenti indicazioni: 1. /opt/softir/bin. Questa directory contiene tutti gli eseguibili binari. 2. /opt/softir/lib. Questa directory contiene versioni specializzate di librerie di sistema ed una sistemazione in /usr/lib. La possibilit` a programmi demoni ` da valutare caso per caso e le in di ,e librerie sviluppate per i programmi lo cali, le generale quelle per cui non sia desiderabile porre in /opt/softir/lib gli eseguibili dei comunque ` sconsigliata. e

3. /opt/softir/include. Questa directory contiene le dichiarazioni necessarie alla compilazione con librerie presenti nella directory /opt/softir/lib. Possono anche essere posti qui files di definizioni di tipo generale da caricarsi al run time, qualora non sia opportuno porli nella gerarchia /opt/softir/share. 4. /opt/softir/man. Questa directory contiene le pagine di informazionei sintetica, in formato man, per gli eseguibili in /opt/softir/bin. Lo Unix Filesystem Hierarchy Standard raccomanda di avere un soft-link tra questa directory e /opt/softir/share/man. 5. /opt/softir/doc. Questa directory contiene la do cumentazione dei programmi in formato diverso dal man, cio` pdf, ps, tex o HTML. Questa do cumentazione NON ` alternativa a quella e e in /opt/softir/man, ma deve complementarla, dando un quadro piu ampio, magari riportando ` anche articoli e/o rapporti tecnici. 6. /opt/softir/share. Questa directory contiene i files ausiliari per i programmi che risiedono in /opt/softir/bin, come immagini, firmware da caricare, definizioni di forme d'onda, ecc. Lo standard Unix Filesystem Hierarchy Standard raccomanda che ciascun programma abbia una propria directory privata (/opt/softir/share/) per evitare conflitti con files con nomi simili.


3

Files non compresi in /opt/softir

Lo standard Unix Filesystem Hierarchy Standard prevede la possibilit`, per pacchetti residenti a nella gerarchia /opt di avere files al di fuori di detta gerarchia. Le due necessita piu ovvie sono i `` files di configurazione di sistema (nella gerarchia /etc) e i files di log (registrazione degli eventi) e di lavoro (nella gerarchia /var)

3.1

I files di configurazione

Nella directory /etc/opt/softir risiedono i files di configurazione dei diversi pacchetti software. Possono essere chiamati in mo do arbitrario, ma il valore suggerito ` .ini. e I files di configurazione qui presenti sono validi per il sistema nel suo complesso, mentre, a seconda dell'opportunit` relativa a ciascun pacchetto, ` possibile che un file di configurazione presente nella a e directory corrente, o nella HOME abbia la precedenza su questo generale. Per molti pacchetti ` anche opportuno poter specificare da linea di comando un file di configurae zione alternativo, di nome arbitrario.

3.2

I files di registrazione degli eventi

I files di log o di registrazione degli eventi risiedono normalmente in /var/log. Il nome standard per tali file ` /var/log/.log. Nel caso siano piu di uno, sarebbe e ` opportuno porli in una directory /var/log/. Si raccomanda di aggiungerli alla pro cedura di logrotate oppure di prevedere un meccanismo di rotazione autonomo all'interno del programma stesso. Nel caso che il programma debba essere eseguito con il privilegio di un utente, e non possa cos` i scrivere in /var/log, sarebbe opportuno prevedere una lo cazione alternativa in /var/tmp.

3.3

I files di identificazione di pro cesso

I files di pid o di identificazione di pro cesso risiedono normalmente in /var/run, assieme ad essi risiedono qui le named pipes. Il nome standard per tali file ` /var/run/.pid e /var/run/.sock. e Nel caso siano piu di uno, sarebbe opportuno porli in una directory /var/run/. ` Nel caso che il programma debba essere eseguito con il privilegio di un utente, e non possa cos` i scrivere in /var/run, sarebbe opportuno prevedere una lo cazione alternativa in /var/tmp.

3.4

I files di blo cco delle risorse

I files di lo ck o di blo cco delle risorse risiedono normalmente in /var/lock. Il nome raccomandato per tali file ` /var/log/LCK... e Nel caso che il programma debba essere eseguito con il privilegio di un utente, e non possa cos` i scrivere in /var/run, sarebbe opportuno prevedere una lo cazione alternativa in /var/tmp.


3.5

Aggiornamento dei p ercorsi di ricerca (path)

Le pro cedure di installazione devono prevedere la possibilit` di rendere agevolmente raggiungibili a le lo cazioni all'interno della gerarchia /opt. In particolare dovrebbero aggiungere le directories /opt/softir/bin al percorso di ricerca degli eseguibili (path) e /opt/softir/man al percorso di ricerca delle pagine di help (manpath). Il mo do dettagliato dipende dalla distribuzione su cui si intalla il pacchetto. Il mo do piu comune ` aggiungere nella directory /etc/profile.d i due files ` e softir.sh e softir.csh cos` composti: i

#!/bin/csh # /etc/profile.d/softir.csh - SOFTIR additions: if ( ! $?SOFTIRDIR ) then setenv SOFTIRDIR /opt/softir endif if ( $?PATH ) then set path = ( $path $SOFTIRDIR/bin ) else set path = ( $SOFTIRDIR/bin ) endif if ( $?MANPATH ) then setenv MANPATH ${MANPATH}:$SOFTIRDIR/man else setenv MANPATH $SOFTIRDIR/man endif

#!/bin/sh # /etc/profile.d/softir.sh - SOFTIR additions: SOFTIRDIR=/opt/softir PATH=$PATH:$SOFTIRDIR/bin MANPATH="${MANPATH}:/opt/softir/man" export SOFTIRDIR PATH MANPATH

Riferimenti bibliografici
[1] "Filesystem Hierarchy Standard", R.Russell, D.Quinlan, C.Yeoh, 2004, Rev 2.3, presso http://www.pathname.com/fhs/ [2] "Internet Core Proto cols: The Definitive Guide" E. Hall, Sebastopol, CA (USA), 2000.