La struttura della Distribuzione: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Riga 1: Riga 1:
==Stable, Testing e Unstable==
==Come creare una directory shared tra macchine linux (nfs, acronimo di Network File System)==


Debian ha un sistema di sviluppo particolare quanto unico: infatti la sola ad avere tre rami diversi divisi in base alle caratteristiche di stabilit: Stable, Testing, Unstable ed un repository Experimental.


==Stable ==
Per far comunicare due macchine Linux, possibile in diversi metodi: il modo pi� veloce per fare tutto ci�, � utilizzare NFS per mettere in condivisione una particolare directory del filesystem ad altri client.<br>
Stable la release '''stabile''' di Debian. Nello sviluppo Debian, una release viene dichiarata stabile quando i bug ad essa associati prima del rilascio sono quasi inesistenti.
Di seguito � descritta una semplice procedura per configurare ed avviare il daemon di nfs sul server e per istruire il client a raggiungere la directory esportata: questa non vuole essere una guida esaustiva ad nfs, ma solo una breve descrizione di come risolvere velocemente lo scambio di dati tra macchiine linux.
Una volta rilasciata, viene aperto un repository speciale: '''security''', che ha lo scopo di raccogliere gli aggiornamenti dei pacchetti presenti nella Stable corrente, per quanto riguarda il fattore sicurezza. Questi aggiornamenti, per�, non riguardano la versione del pacchetto: infatti non ci saranno nuove versioni dei programmi disponibili, ma solo aggiornamenti di sicurezza (quindi applicazioni di patch, in linea di massima).  


Anche se la cosa pu sembrare inutile, non lo : supponiamo di avere un sistema produttivo, basato su l'ultima Stable... L'aggiornamento di un programma alla versione successiva potrebbe comportare un po' di problemi: <br/>
* la struttura e/o la sintassi dei file di configurazione potrebbe subire dei cambiamenti, creando delle incompatibilit con le configurazioni valide per versioni precedenti;<br/>
* potrebbero essere presenti dei cambiamenti sostanziali alla struttura del pacchetto o del programma;
* potrebbero presentarsi dei bug non segnalati, a causa della 'giovane et' del pacchetto. <br/>


Anche se i punti sopra citati sembrano banali, non � cos�: una macchina di produzione deve essere solida e stabile, e visto che molto spesso � una ottima pratica avere in cron le operazioni di aggiornamento, la probabilit� che un aggiornamento automatico possa creare situazioni di instabilit� o non funzionamento di un servizio non pu� essere accettato.
===[Impostazione del Server]===
Questo � un motivo per cui, nella release Stable, ci sono solo aggiornamenti riguardantii bugfix.
Dopo aver installato con apt-get i pacchetti '''nfs-user-server''' (un linux daemon che lavora in userspace) e '''portmap''', bisogna modificare il file '''/etc/exports''' (in caso esso non esista, bisogna crearlo) aggiungendo una riga per ogni directory che si vuole esportare.<br>
===I Nomi delle Release===
Una domanda diffusa tra gli utenti alle prime armi con Debian riguarda i nomi delle release; a prima vista, infatti, possono sembrare strani, ma la spiegazione � molto semplice: sono tutti nomi dei personaggi del film [http://www.pixar.com/feature/toystory/toystory.html ToyStory].<br>
Questa simpatica tradizione � stata iniziata da [http://perens.com/ Bruce Perence] con il rilascio di Debian 1.1 nel 1996. Perence, all' epoca [http://www.debian.org/devel/leader Debian Project Leader], lavorava anche per [http://www.pixar.com Pixar].
Ecco l'elenco dei nomi delle Stable fino ad ora rilasciate:


<br/>
{{Box | Nota |Portmap viene impostato di default ad essere "bindato" sul solo indirizzo di localhost, mentre l'uso consueto � diretto verso una o pi� reti lan. Per permettere alle varie reti di accedere al server � necessario modificare (oppure eliminare, per permettere un accesso completo) il parametro '''OPTIONS''', presente nel file '''/etc/default/portmap''' }}
<div align="center">
<table border="1" cellpadding="3" cellspacing="0">
<tr><td align="center">Versione</td>
<td align="center">Nome</td>
<td align="center">Anno</td>
<td align="center">Significato</td>
</tr>
<tr><td align="center">1.1</td>
<td align="center">Buzz</td>
<td align="center">1996/06/17</td>
<td align="center">(Buzz Lightyear) l'astronauta</td>
</tr>
<tr><td align="center">1.2</td>
<td align="center">Rex</td>
<td align="center">1996/12/12</td>
<td align="center">Il tirannosauro</td>
</tr>
<tr><td align="center">1.3</td>
<td align="center">Bo</td>
<td align="center">1997/06/05</td>
<td align="center">(Bo Peep) la bambina che si prese cura della
pecorella</td>
</tr>
<tr><td align="center">2.0</td>
<td align="center">Hamm</td>
<td align="center">1998/07/23</td>
<td align="center">il porcellino salvadanaio</td>
</tr>
<tr><td align="center">2.1</td>
<td align="center">Slink</td>
<td align="center">1999/03/09</td>
<td align="center">(Slinky Dog) il cane giocattolo</td>
</tr>
<tr><td align="center">2.2</td>
<td align="center">Potato</td>
<td align="center">2000/08/15</td>
<td align="center">Mr. Potato</td>
</tr>
<tr><td align="center">3.0</td>
<td align="center">Woody</td>
<td align="center">2002/07/19</td>
<td align="center">il cowboy</td>
</tr>
<tr><td align="center">3.1</td>
<td align="center">Sarge</td>
<td align="center">testing</td>
<td align="center">il
"leader of The Green Plastic Army Men"</td>
</tr>
<tr><td align="center">??</td>
<td align="center">Etch</td>
<td align="center">testing</td>
<td align="center">(Etch-a-Sketch) la lavagna</td>
</tr>
<tr><td align="center">N.D.</td>
<td align="center">Sid</td>
<td align="center">unstable</td>
<td align="center">il bambino della porta accanto che rompeva i giocattoli.</td>
</tr>
</table>
</div>


==Testing ==
Un esempio di entry per il file export pu� essere:
La release Testing � quella pi� utilizzata in ambito Desktop, visto che rappresenta il miglior compromesso tra stabilit� � aggiornamento di pacchetti.


===Il percorso dei pacchetti===
<pre>/mnt/Data/download 192.168.2.3 (rw)</pre>  
I pacchetti, prima di entrare nella release di Testing compiono un tragitto per raggiungere un buon grado di maturit�. Quando vengono creati, possono essere inseriti in Experimental, se hanno bisogno di test approfonditi e non sono considerati completamente stabili dall'autore, oppure possono essere inseriti in Unstable, pronti per essere testati dagli sviluppatori4.7. Il pacchetto viene incluso in Testing (sostituendo eventualmente quello pi� vecchio) se: <br/>
* Deve essere stato in unstable per 10, 5 o 2 giorni, in funzione dell'urgenza dell'upload; <br/>
* Deve essere stato compilato e deve essere aggiornato su tutte le architetture su cui sia stato compilato in unstable; <br/>
* Deve avere meno bug release-critical, o lo stesso numero, della versione corrente in "testing" (si veda sotto per maggiori informazioni); <br/>
* Tutte le sue dipendenze devono o essere soddisfatte dai pacchetti gi� in "testing", o essere soddisfatte dall'insieme di pacchetti che verranno installati nel contempo; <br/>
* L'operazione di installazione del pacchetto in "testing" non dovr� danneggiare alcun pacchetto che sia gi� in "testing". <br/>


===Da Testing a Stable===
Quando la versione di Testing raggiunge un buon grado di maturit, avviene il passaggio da Testing a Stable. Prima di tutto viene dicharata una situazione di freeze, in cui non pi possibile inserire nuove versioni di un pacchetto (a meno che non sia fondamentale per la correzione di qualche bug) ma solo correggere i bug riscontrati. Quando la versione di Testing verr valutata come sufficientemente stabile, verr rilasciata come Stable. Dopo il rilascio della Stable, la nuova Testing verr ricreata secondo le normali regole a partire da Unstable.


==Unstable==
in cui
Unstable � la distribuzione per gli sviluppatori, come indicato sul sito ufficiale Debian, e l'uso di questa release in ambito lavorativo (o comunque produttivo) pu� portare a degli inconvenienti o instabilit�. � possibile, infatti, che a causa di qualche aggiornamento vengano introdotti dei bug che possano compromettere il normale funzionamento di qualche applicazione, inoltre � possibile che, a causa dell'aggiornamento di alcune librerie o set di programmi, si possano creare delle situazioni di dipendenze non risolte che potrebbero rendere impossibile l'aggiornamento e/o l'instalazione di alcuni pacchetti. Il mio consiglio � di non utilizzarla, a meno di non avere una certa dimestichezza e familiarit� con il sistema Debian.
*    '''/mnt/Data/download''' &nbsp;&nbsp;&nbsp; � la directory da esportare
*    '''192.168.2.3'''      &nbsp;&nbsp;&nbsp;� il client che pu� raggiungere la directory in questione;
*    '''(rw)'''       &nbsp;&nbsp;&nbsp;sono le opzioni impostabili ('''rw''':permessi di scrittura/lettura);


==Experimental==
Experimental un repository (e non una release) che contiene i pacchetti che in fase di testing da parte dei Debian Developer e che necessitano di lavoro prima di essere pronti per entrare in Unstable.


Qualora, invece, volessimo esportare la directory a tutte le macchine presenti all'interno di una sottorete:


---- [[User:MaXeR|MaXeR]]
<pre>/mnt/Data/download    192.168.0.1/255.255.255.0(rw)</pre>
 
{{Box | Nota |Nelle nuove versioni di nfs � necessario inserire un flag aggiuntivo ('''sync''' oppure '''async''') per definire la modalit� di accesso ed uso dei file.
'''Sync''' forza la scrittura immediata dei dati man mano che questi arrivano al server, mentre '''async''' consente di scrivere tali dati in intervalli successivi, migliorando cos� le performance del trasferimento.
Vista la peculiarit� di questo tipo di trasferimento � conveniente usare '''sync''' nelle situazioni di rw, ed '''async''' in quelle di ro, in modo da eliminare il pericolo di dati non salvati correttamente (e quindi persi) durante le fasi di scrittura nel caso di crash del server. }}
 
E' possibile inoltre definire gli accessi in modo pi� granulare utilizzando i file /etc/host.access e /etc/host.denied, ma per un uso basilare di nfs non � necessario applicare alcuna modifica.
 
===[Impostazione del Client]===
Bisogna innanzitutto installare '''nfs-common''' con apt-get, e successivamente modificare il proprio '''/etc/fstab''', aggiungendo una entry relativa alla directory che si vuole raggiungere via nfs; ad esempio:
 
<pre>192.168.2.2:/mnt/Data/download  /mnt/nfs nfs rw,users,noauto  0  0</pre>
 
 
in cui
*    '''192.168.2.2:/mnt/Data/download''' &nbsp;&nbsp;&nbsp;  � la url completa della directory da raggiungere (sintassi, ip:path);
*    '''/mnt/nfs''' &nbsp;&nbsp;&nbsp;  � la directory dove si vuole montare il device (la directory deve essere stata creata precendentemente);
*    '''nfs''' &nbsp;&nbsp;&nbsp;  identifica il tipo di filesystem da usare (in questo caso nfs, filesystem di rete);
*    '''rw,users,noauto'''  &nbsp;&nbsp;&nbsp;  sono i flag di mount del device (rw: permessi di scrittura/lettura, users: device montabile e smontabile dai vari user, noauto: device da non avviare automaticamente al boot del sistema);
*    '''0 0''' &nbsp;&nbsp;&nbsp;  sono i flag relativi al check del device da parte dei programmi di controllo della coerenza del filesystem.
 
A questo punto basta un semplice
 
<pre>$mount /mnt/nfs</pre>
 
per poter usare normalmente la share nfs, come una normale directory del sistema.
 
In caso di malfunzionamenti inoltre, � possibile controllare lo stato della share nfs sia dal client che dal server, utilizzando le applicazioni '''rpcinfo''' e '''nfsstat''' in modo da verificare visualmente le risorse condivise attive nella rete.
 
[[Utente:Ldonesty|Ldonesty]]
806

contributi

Menu di navigazione