Old:Debian on a Toshiba Satellite M30X-113: differenze tra le versioni

m
ati open source non ati di default
(Modifica imponente per adattamento a etch stable)
m (ati open source non ati di default)
Riga 1: Riga 1:
== Introduzione ==
==Stable, Testing e Unstable==
Il [[repository]] � a tutti gli effetti un archivio ordinato dove sono raccolti i pacchetti Debian (siano essi pacchetti binari o sorgenti) in modo ben organizzato e costantemente aggiornato. In ogni sistema debian i repository utilizzati vengono indicati nel file <tt>/etc/apt/sources.list</tt>. Vedi anche [[Faq#Repository|FAQ: Cos'� un '''repository'''?]].


== Lista repository ufficiali debian ==
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]] con pacchetti in fase di sviluppo, ''Experimental''.
Di seguito troverete l'elenco repository ufficiali da inserire nel <tt>sources.list</tt> per le varie [[La struttura della Distribuzione|versioni di debian]]. Il mirror quello italiano. I repository dei pacchetti sorgente sono commentati. per ulteriori informazioni leggere la sezione: [[I repository ed il loro utilizzo#Sources.list|Sources.list]].


=== Vecchia Stabile: Debian Sarge ===
==Stable ==
{{Warningbox|Sarge ormai la vecchia stable. Usate Etch per le nuove installazioni}}
''Stable'' � la [[release]] '''stabile''' di Debian. Nello sviluppo Debian, una release viene dichiarata stabile quando tutti i bug RC (Release Critical) ad essa associati prima del rilascio sono zero.
  ## Debian Stable (sarge)
  deb http://ftp.it.debian.org/debian/ sarge main contrib non-free
  #deb-src http://ftp.it.debian.org/debian/ sarge main contrib non-free
   
   
  ## Aggiornamenti della sicurezza
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).  
  deb http://security.debian.org/ sarge/updates main contrib
  #deb-src http://security.debian.org/ sarge/updates main contrib


Per l'uso di sarge in ambito desktop (ma non solo) sono molto utili i [[backport]]:
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/>


* [http://backports.org/ Debian Backports]
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.  
 
Questo � un motivo per cui, nella release Stable, ci sono solo aggiornamenti riguardanti bugfix.
=== Stabile: Debian Etch ===
 
  ## Debian Stable (etch)
  deb http://ftp.it.debian.org/debian/ stable main contrib non-free
  #deb-src http://ftp.it.debian.org/debian/ stable main contrib non-free
  ## Aggiornamenti della sicurezza
  deb http://security.debian.org/ stable/updates main contrib
  #deb-src http://security.debian.org/ stable/updates main contrib
 
=== Testing: Debian Lenny ===
 
  ## Debian Testing (lenny)
  deb http://ftp.it.debian.org/debian/ testing main contrib non-free
  #deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free
   
   
  ## Aggiornamenti della sicurezza
===I Nomi delle Release===
  deb http://security.debian.org/ testing/updates main contrib
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].
  #deb-src http://security.debian.org/ testing/updates main contrib
 
=== Unstable: Debian Sid ===
 
  ## Debian Unstable (sid)
  deb http://ftp.it.debian.org/debian/ unstable main contrib non-free
  #deb-src http://ftp.it.debian.org/debian/ unstable main contrib non-free
 
Per '''Sid''' non c'� il repository per la sicurezza dato che eventuali falle vengono corrette semplicemente con l'aggiornamento del pacchetto incriminato.
 
== Lista repository non ufficiali ==
Per una lista dei repository non ufficiali pi� diffusi vedere: [[Repository non ufficiali]].
 
== La Struttura dei repository ==
Un repository � suddivisibile, grossomodo, in due sezioni:
* '''dists''' in questo ramo sono contenuti i file di controllo, che permettono il funzionamento del sistema di pacchettizzazione. Infatti sono presenti i file che descrivono i pacchetti presenti nell'archivio (divisi per la release di appartenenza);
* '''doc''' raccoglie la documentazione di base per Debian (segnalazioni di Bug, Faq, il Contratto Sociale ed altro)
* '''indices''' contiene l'indice di tutti i file contenuti in tutti i pacchetti. Queste informazioni sono usate da [[Apt-file: ricerca all'interno dei pacchetti|<tt>apt-file</tt>]].
* '''non-US''' a causa di problemi legali dovuti al divieto di esportazione di matariale per la difesa (tra cui materiale crittografici, utilizzati anche in PGP e SSH). Per ovviare a questi problemi, i pacchetti sono stati posti in una sezione a parte, la cui distribuzione � legata a server non Statunitensi.
* '''pool''' questo � l'archivio vero e proprio, dove sono contenuti i pacchetti, raggruppati per lettera iniziale;
* '''project''' contiene materiale per sviluppatori. Degne di nota la direcotory experimetal, che contiene i pacchetti in fase di sviluppo e perfezionamento;<br/>
* '''tools''' contiene degli strumenti Dos per la creazione di dischetti di boot, partizionamento e lancio di Linux.


== La Suddivisione del repository ==
Questa simpatica tradizione � stata iniziata da [http://perens.com/ Bruce Perens] con il rilascio di Debian 1.1 nel 1996. Perens, all' epoca [http://www.debian.org/devel/leader Debian Project Leader], lavorava anche per [http://www.pixar.com Pixar].
Navigando un po' tra gli archivi Debian, si nota subito una particolare suddivisione: i repository, infatti, sono divisi in '''main''', '''contrib''' e '''non-free''', nel modo seguente:
* '''main''' � la sezione principale, che contiene il 90% dei pacchetti presenti in Debian
* '''contrib''' raccoglie i pacchetti coerenti con la DFSG5.6, ma che dipendono da pacchetti che non la rispettano
* '''non-free''' contiene dei pacchetti che possiedono delle limitazioni nella distribuzione (ad esempio perch� non utilizzabili in ambito commerciale o perch� dipendenti da applicazioni o pacchetti che non rispettano la Debian Free Software Guideline)


== Sources.list ==
Ecco l'elenco dei nomi delle Stable fino ad ora rilasciate:
=== Il ruolo fondamentale ===
Il file '''/etc/apt/sources.list''' � forse il pi� importante file di configurazione del sistema di gestione dei pacchetti Debian. Esso, infatti, contiene l'elenco e gli indirizzi dei repository a cui apt accede.


=== Ordine di Inserimento ===
<br/>
� importante inserire i repository con un giusto ordine: i primi in elenco, infatti, sono i pi� importanti (o favoriti). Per migliorare le performance, � consigliabile ordinarli per velocit� (Es. prima il cdrom, poi la rete locale, poi internet, ...).
<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">2005/06/06</td>
<td align="center">il
"leader of The Green Plastic Army Men"</td>
</tr>
<tr><td align="center">4.0</td>
<td align="center">Etch</td>
<td align="center">2007</td>
<td align="center">(Etch-a-Sketch) la lavagna</td>
</tr>
<tr><td align="center">??</td>
<td align="center">Lenny</td>
<td align="center">''testing''</td>
<td align="center">il binocolo</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>


=== Sintassi ===
==Testing ==
Ogni riga che descrive un repository ha una ben determinata sintassi:
La release Testing � quella pi� utilizzata in ambito Desktop, visto che rappresenta il miglior compromesso tra stabilit� e aggiornamento di pacchetti.  
<pre>
deb uri distribution [component..]
</pre>


Analizziamo i singoli componenti:
===Il percorso dei pacchetti===
* '''deb o deb-src''' serve ad indicare se il repository indicato contiene pacchetti binari o pacchetti sorgenti (se li contiene entrambi, � necessario specificarlo usando due righe diverse).
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/>
* '''uri''' indica l'indirizzo a cui � possibile trovare il repository; � possibile scegliere tra i seguenti metodi di accesso ai pacchetti:
* Deve essere stato in unstable per 10, 5 o 2 giorni, in funzione dell'urgenza dell'upload; <br/>
** '''file''' permette di inserire un repository presente sull'Hard Disk del computer;
* Deve essere stato compilato e deve essere aggiornato su tutte le architetture su cui sia stato compilato in unstable; <br/>
** '''cdrom''' permette di inserire un repository presente su un cd-rom;
* Deve avere meno bug release-critical, o lo stesso numero, della versione corrente in "testing" (si veda sotto per maggiori informazioni); <br/>
** '''http''' permette di accedere ad un repository tramite il protocollo http (se � impostata una variabile di ambiente '''http_proxy''' col formato '''http://server:port/''' verranno usate queste opzioni per accedere al repository; in caso di necessit� di autenticazione, � possibile specificare l'inidirizzo del proxy, nella variabile d'ambiente '''http_proxy''', nel seguente modo: '''http://user:pass@server:port/''', anche se risulta non essere un modo sicuro di autenticazione);
* 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/>
** '''ftp''' permette di accedere ad un repository tramite il protocollo ftp; � possibile specificare un proxy nell stesso modo indicato per http al punto precedente, sostituendo alla variabile '''http_proxy''' '''ftp_proxy''';
* L'operazione di installazione del pacchetto in "testing" non dovr� danneggiare alcun pacchetto che sia gi� in "testing". <br/>
** '''copy''' � idendico a file, ma i file utilizzati vengono salvati nella cache di apt; utile nel caso di supporti removibili quali Usb-drive, Floppy, Zip, ...;
** '''rsh, ssh''' permette di accedere ad un repository tramite il protocollo ssh. Non � possibile, per�, effettuare alcuna autenticazione interativa, ma solo tramite lo scambio di chiavi RSA.
* '''distribution''' indica la [[La struttura della Distribuzione|distribuzione (o release)]] utilizzata... � possibile usare il nome in codice (sarge, etch, sid) o il nome generico (stable, testing, unstable);
*'''component''' indica la sezione (non-free, main, contrib...) del repository da inserire; sono possibili scelte multiple.


=== Alcuni esempi ===
===Da Testing a Stable===
Non c'niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi.
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.


I repository ufficiali (binari e sorgenti) presi da un mirror italiano:
==Unstable==
<pre>
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.
deb http://ftp.it.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.it.debian.org/debian/ stable main non-free contrib
</pre>


Il repository di apt-build (Rif. 7.1 Pag. [*]):
E' 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'installazione di alcuni pacchetti. Il mio consiglio � di non utilizzarla, a meno di non avere una certa dimestichezza e familiarit� con il sistema Debian.
<pre>
deb file:/var/cache/apt-build/repository apt-build main
</pre>


Un repository 'artigianale' accessibile tramite un webserver:
E' divertente notare che la versione '''unstable''' di Debian mantiene sempre il medesimo nome e cio� Sid, il ragazzaccio!
<pre>
deb http://repos.debianizzati.org ./
</pre>


Un repository situato nella home dell'utente maxer, creato con <code>dpkg-scanpackages</code>:
==Experimental==
<pre>
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.
deb file:/home/maxer/repos ./
</pre>


Per altri repository vedere: [[#Lista repository ufficiali debian|Lista repository ufficiali debian]] e [[Repository non ufficiali]].


----  
---- [[User:MaXeR|MaXeR]]
[[User:MaXeR|MaXeR]]
[[Categoria:Mondo Debian]]
[[Categoria:Apt]]
[[Categoria:Repository]]
127

contributi