I repository ed il loro utilizzo: differenze tra le versioni

Prima versione
(Prima versione)
 
(Prima versione)
Riga 1: Riga 1:
==Introduzione==
==Introduzione==
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.
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.


===La Struttura===
===La Struttura===
Un repository suddivisibile, grossomodo, in due sezioni:<br/>
Un repository è suddivisibile, grossomodo, in due sezioni:<br/>
* '''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);<br/>
* '''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);<br/>
* '''doc''' raccoglie la documentazione di base per Debian (segnalazioni di Bug, Faq, il Contratto Sociale ed altro)<br/>
* '''doc''' raccoglie la documentazione di base per Debian (segnalazioni di Bug, Faq, il Contratto Sociale ed altro)<br/>
* '''indices''' contiene i file utilizzati dallo strumento [[http://guide.debianizzati.org/index.php/Apt-file:_ricerca_all%27interno_dei_pacchetti | apt-file]]<br/>
* '''indices''' contiene i file utilizzati dallo strumento [[http://guide.debianizzati.org/index.php/Apt-file:_ricerca_all%27interno_dei_pacchetti | apt-file]]<br/>
* '''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.<br/>
* '''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.<br/>
* '''pool''' questo l'archivio vero e proprio, dove sono contenuti i pacchetti, raggruppati per lettera iniziale;<br/>
* '''pool''' questo è l'archivio vero e proprio, dove sono contenuti i pacchetti, raggruppati per lettera iniziale;<br/>
* '''project''' contiene materiale per sviluppatori. Degne di nota la direcotory experimetal, che contiene i pacchetti in fase di sviluppo e perfezionamento;<br/>
* '''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.<br/>
* '''tools''' contiene degli strumenti Dos per la creazione di dischetti di boot, partizionamento e lancio di Linux.<br/>
Riga 14: Riga 14:
===La Suddivisione del repository===
===La Suddivisione del repository===
Navigando un po' tra gli archivi Debian, si nota subito una particolare suddivisione: i repository, infatti, sono divisi in '''main''', '''contrib''', '''non-free''' e '''non-US''', nel modo seguente:<br/>
Navigando un po' tra gli archivi Debian, si nota subito una particolare suddivisione: i repository, infatti, sono divisi in '''main''', '''contrib''', '''non-free''' e '''non-US''', nel modo seguente:<br/>
* '''main''' la sezione principale, che contiene il 90% dei pacchetti presenti in Debian<br/>
* '''main''' è la sezione principale, che contiene il 90% dei pacchetti presenti in Debian<br/>
* '''contrib''' raccoglie i pacchetti coerenti con la DFSG5.6, ma che dipendono da pacchetti che non la rispettano<br/>
* '''contrib''' raccoglie i pacchetti coerenti con la DFSG5.6, ma che dipendono da pacchetti che non la rispettano<br/>
* '''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)<br/>
* '''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)<br/>




==Sources.list==
==Sources.list==
===Il ruolo fondamentale===
===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.
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===
===Ordine di Inserimento===
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, ...).
È 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, ...).


===Sintassi===
===Sintassi===
Riga 33: Riga 33:


Analizziamo i singoli componenti:
Analizziamo i singoli componenti:
* '''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).<br/>
* '''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).<br/>
** '''uri''' indica l'indirizzo a cui possibile trovare il repository; possibile specificare uno schema da utilizzare per il download:<br/>
** '''uri''' indica l'indirizzo a cui è possibile trovare il repository; è possibile specificare uno schema da utilizzare per il download:<br/>
** '''file''' permette di inserire un repository presente sull'Hard Disk del computer;<br/>
** '''file''' permette di inserire un repository presente sull'Hard Disk del computer;<br/>
** '''cdrom''' permette di inserire un repository persnte su un cd-rom;<br/>
** '''cdrom''' permette di inserire un repository persnte su un cd-rom;<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);<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);<br/>
** '''ftp''' permette di eccedere ad un repository tramite il protocollo ftp; possibile specificare un proxy nell stesso modo indicato per http al punto precedente, sostuendo alla variabile '''http_proxy''' '''ftp_proxy''';<br/>
** '''ftp''' permette di eccedere ad un repository tramite il protocollo ftp; è possibile specificare un proxy nell stesso modo indicato per http al punto precedente, sostuendo alla variabile '''http_proxy''' '''ftp_proxy''';<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, ...;<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, ...;<br/>
** '''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.<br/>
** '''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.<br/>
* '''distribution''' indica la distribuzione (o release) utilizzata... possibile usare il nome in codice (woody, sarge, sid) o il nome generico (stable, testing, unstable);<br/>
* '''distribution''' indica la distribuzione (o release) utilizzata... è possibile usare il nome in codice (woody, sarge, sid) o il nome generico (stable, testing, unstable);<br/>
*'''component''' indica la sezione (non-free, main, contrib...) del repository da inserire; sono possibili scelte multiple.<br/>
*'''component''' indica la sezione (non-free, main, contrib...) del repository da inserire; sono possibili scelte multiple.<br/>


===Alcuni esempi===
===Alcuni esempi===
Non c'niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi:
Non c'è niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi:
<pre>
<pre>
deb http://ftp.it.debian.org/debian/ stable main non-free contrib
deb http://ftp.it.debian.org/debian/ stable main non-free contrib
1 487

contributi