I repository ed il loro utilizzo: differenze tra le versioni
mNessun oggetto della modifica |
m (→Introduzione: corretto link, tolti <br>) |
||
Riga 1: | Riga 1: | ||
== | ==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. In ogni sistema debian i repository utilizzati vengono indicati nel file <tt>/etc/apt/sources.list</tt>. | |||
Debian | ===La Struttura=== | ||
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=== | ||
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/> | |||
* '''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/> | |||
==Sources.list== | |||
===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=== | |||
È 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=== | |||
Ogni riga che descrive un repository ha una ben determinata sintassi: | |||
<pre> | |||
deb uri distribution [component..] | |||
</pre> | |||
< | |||
</ | |||
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/> | |||
** '''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/> | |||
** '''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/> | |||
** '''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/> | |||
** '''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/> | |||
*'''component''' indica la sezione (non-free, main, contrib...) del repository da inserire; sono possibili scelte multiple.<br/> | |||
=== | ===Alcuni esempi=== | ||
Non c'è niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi: | |||
<pre> | |||
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> | |||
I repository ufficiali (binari e sorgenti) presi da un mirror italiano. | |||
<pre> | |||
deb file:/var/cache/apt-build/repository apt-build main | |||
</pre> | |||
Il repository di apt-build (Rif. 7.1 Pag. [*]) | |||
<pre> | |||
deb http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free | |||
deb-src http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free | |||
</pre> | |||
I repository ufficiali del repository non-US; interessante l'indicazione della directory non-US presente nella directory dists/sid/ | |||
<pre> | |||
deb http://repos.debianizzati.org ./ | |||
</pre> | |||
Un repository 'artigianale' accessibile tramite un webserver | |||
<pre> | |||
deb file:/home/maxer/repos ./ | |||
</pre> | |||
Un repository situato nella home dell'utente maxer, creato con dpkg-scanpackages. | |||
---- [[User:MaXeR|MaXeR]] | ---- [[User:MaXeR|MaXeR]] | ||
[[Categoria:Apt]] | |||
[[Categoria:Repository]] |
Versione delle 12:51, 13 apr 2006
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. In ogni sistema debian i repository utilizzati vengono indicati nel file /etc/apt/sources.list.
La Struttura
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.
- 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;
- tools contiene degli strumenti Dos per la creazione di dischetti di boot, partizionamento e lancio di Linux.
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:
- 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
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
È 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
Ogni riga che descrive un repository ha una ben determinata sintassi:
deb uri distribution [component..]
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).
- uri indica l'indirizzo a cui è possibile trovare il repository; è possibile specificare uno schema da utilizzare per il download:
- file permette di inserire un repository presente sull'Hard Disk del computer;
- cdrom permette di inserire un repository persnte su un cd-rom;
- 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);
- 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;
- 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.
- uri indica l'indirizzo a cui è possibile trovare il repository; è possibile specificare uno schema da utilizzare per il download:
- distribution indica la distribuzione (o release) utilizzata... è possibile usare il nome in codice (woody, sarge, 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
Non c'è niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi:
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
I repository ufficiali (binari e sorgenti) presi da un mirror italiano.
deb file:/var/cache/apt-build/repository apt-build main
Il repository di apt-build (Rif. 7.1 Pag. [*])
deb http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free deb-src http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free
I repository ufficiali del repository non-US; interessante l'indicazione della directory non-US presente nella directory dists/sid/
deb http://repos.debianizzati.org ./
Un repository 'artigianale' accessibile tramite un webserver
deb file:/home/maxer/repos ./
Un repository situato nella home dell'utente maxer, creato con dpkg-scanpackages.