271
contributi
m (dimenticato un pezzo :)) |
(spostamento del punto 6-7-8 prima del 2; l'aggiunta di contrib e non-free va contro la politica Debian, spieghiamo subito che si usano per scelta personale e non è un obbligo come sembra essere ora) |
||
Riga 2: | Riga 2: | ||
= 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. In ogni sistema Debian i repository utilizzati vengono indicati nel file <code>/etc/apt/sources.list</code>. Vedi anche [[Faq#Repository|FAQ: Cos'è un '''repository'''?]]. | 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 <code>/etc/apt/sources.list</code>. Vedi anche [[Faq#Repository|FAQ: Cos'è un '''repository'''?]]. | ||
= 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|<code>apt-file</code>]]; | |||
* '''non-US''' a causa di problemi legali dovuti al divieto di esportazione di materiale 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 directory experimental, 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''' 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 i punti 5 e/o 6 delle [[DFSG]], 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 [[DFSG|Debian Free Software Guidelines]]) | |||
'''Nota: Debian promuove e percorre il sentiero del software totalmente libero; l'uso delle sezioni '''contrib''' e '''non-free''' è una scelta personale e non un obbligo.''' | |||
= Sources.list = | |||
== Il ruolo fondamentale == | |||
Il file <code>'''/etc/apt/sources.list'''</code> è 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 CD-ROM, poi la rete locale, poi internet, ecc.). | |||
== Sintassi == | |||
Ogni riga che descrive un repository ha una ben determinata sintassi: | |||
<pre> | |||
deb[-src] <URI> <distribuzione> [componente/i] | |||
</pre> | |||
Analizziamo i singoli componenti: | |||
* <code>'''deb o deb-src'''</code>: serve ad indicare se il repository indicato contiene pacchetti binari o pacchetti sorgenti (se li contiene entrambi, è necessario specificarlo usando due righe diverse); | |||
* <code>'''URI'''</code>: indica l'indirizzo a cui è possibile trovare il repository; è possibile scegliere tra i seguenti metodi di accesso ai pacchetti: | |||
** <code>'''file'''</code>: permette di inserire un repository presente sul disco rigido del computer; | |||
** <code>'''cdrom'''</code>: permette di inserire un repository presente su un cd-rom; | |||
** <code>'''http'''</code>: permette di accedere ad un repository tramite il protocollo HTTP (se è impostata una variabile di ambiente <code>'''http_proxy'''</code> col formato <code>'''http://server:port/'''</code> verranno usate queste opzioni per accedere al repository; in caso di necessità di autenticazione, è possibile specificare l'indirizzo del proxy, nella variabile d'ambiente <code>'''http_proxy'''</code>, nel seguente modo: <code>'''http://user:pass@server:port/'''</code>, anche se risulta non essere un modo sicuro di autenticazione); | |||
** <code>'''ftp'''</code>: permette di accedere ad un repository tramite il protocollo FTP; è possibile specificare un proxy nello stesso modo indicato per http al punto precedente, sostituendo alla variabile <code>'''http_proxy'''</code> <code>'''ftp_proxy'''</code>; | |||
** <code>'''copy'''</code>: è identico a file, ma i file utilizzati vengono salvati nella cache di apt; utile nel caso di supporti removibili quali chiavette USB, floppy, memorie SD, ecc.; | |||
** <code>'''rsh, ssh'''</code>: permette di accedere ad un repository tramite il protocollo SSH. Non è possibile, però, effettuare alcuna autenticazione interattiva, ma solo tramite lo scambio di chiavi RSA; | |||
* <code>'''distribuzione'''</code>: indica la [[La struttura della Distribuzione|distribuzione (o release)]] utilizzata, è possibile usare il nome in codice (<code>lenny</code>, <code>squeeze</code>, <code>sid</code>) o il nome generico (<code>stable</code>, <code>testing</code>, <code>unstable</code>); | |||
* <code>'''componente/i'''</code>: indica le sezioni (<code>main</code>, <code>contrib</code>, <code>non-free</code>) del repository da inserire; sono possibili scelte multiple. | |||
== Alcuni esempi == | |||
Non c'è niente di meglio, per capire la sintassi del file <code>sources.list</code>, di un po' di esempi. | |||
I repository ufficiali (binari e sorgenti) presi da un mirror italiano: | |||
<pre> | |||
deb http://ftp.it.debian.org/debian/ stable main | |||
deb-src http://ftp.it.debian.org/debian/ stable main | |||
</pre> | |||
Ecco come invece si presenta la riga se si sceglie di aggiungere le sezioni contenenti software non totalmente libero.<br> | |||
solo contrib: | |||
<pre> | |||
deb http://ftp.it.debian.org/debian/ stable main contrib | |||
deb-src http://ftp.it.debian.org/debian/ stable main contrib | |||
</pre> | |||
anche non-free: | |||
<pre> | |||
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 | |||
</pre> | |||
Il repository di apt-build (Rif. 7.1 Pag. [*]): | |||
<pre> | |||
deb file:/var/cache/apt-build/repository apt-build main | |||
</pre> | |||
Un repository 'artigianale' accessibile tramite un webserver: | |||
<pre> | |||
deb http://repos.debianizzati.org ./ | |||
</pre> | |||
Un repository situato nella home dell'utente maxer, creato con <code>dpkg-scanpackages</code>: | |||
<pre> | |||
deb file:/home/maxer/repos ./ | |||
</pre> | |||
Per altri repository vedere: [[I repository ed il loro utilizzo#Lista repository ufficiali Debian|Lista repository ufficiali Debian]] e [[Repository non ufficiali]]. | |||
== Sources.list aggiuntivi == | |||
A volte può capitare di avere l'esigenza di avere più di un file contenente la lista dei repository da cui scaricare i pacchetti. Questo può capitare nel caso il file <code>sources.list</code> inizi a contenere un numero molto elevato di righe oppure perché si vogliono utilizzare dei repository diversi per le normali operazioni sui pacchetti. | |||
Per far ciò è possibile creare dei semplici file di testo, contenenti gli indirizzi dei repository, nella directory <code>/etc/apt/sources.list.d</code> . La sintassi da utilizzare al loro interno è uguale a quella del file <code>sources.list</code>; si può scegliere liberamente il nome da assegnare ai file purché termini con l'estensione <code>.list</code> | |||
Una volta creati i file aggiuntivi, questi verranno considerati da APT come se le righe al loro interno fossero presenti all'interno del file <code>sources.list</code>. | |||
È possibile anche specificare un file, contenente gli indirizzi dei repository, che non si trova all'interno della directory <code>/etc/apt/sources.list.d</code>. Ad esempio, se il repository da cui abitualmente scarichiamo/aggiorniamo i pacchetti è irraggiungibile, basta creare un file (nell'esempio chiamato <code>nomefile.list</code>) contenente dei repository appartenenti ad un diverso mirror ed eseguire: | |||
<pre># apt-get -o Dir::Etc::SourceList=/percorso/del/file/nomefile.list update | |||
</pre> | |||
Bisogna specificare obbligatoriamente il percorso completo del file se questo non si trova nella directory <code>/etc/apt/sources.list.d</code> | |||
= Lista repository ufficiali Debian = | = Lista repository ufficiali Debian = | ||
Riga 9: | Riga 102: | ||
<pre> | <pre> | ||
## Debian Stable (Squeeze) | ## Debian Stable (Squeeze) | ||
deb http://ftp.it.debian.org/debian/ squeeze main | deb http://ftp.it.debian.org/debian/ squeeze main | ||
#deb-src http://ftp.it.debian.org/debian/ squeeze main | #deb-src http://ftp.it.debian.org/debian/ squeeze main | ||
## Aggiornamenti della sicurezza | ## Aggiornamenti della sicurezza | ||
deb http://security.debian.org/ squeeze/updates main | deb http://security.debian.org/ squeeze/updates main | ||
#deb-src http://security.debian.org/ squeeze/updates main | #deb-src http://security.debian.org/ squeeze/updates main | ||
</pre> | </pre> | ||
Riga 23: | Riga 116: | ||
<pre> | <pre> | ||
## Debian Testing (Wheezy) | ## Debian Testing (Wheezy) | ||
deb http://ftp.it.debian.org/debian/ wheezy main | deb http://ftp.it.debian.org/debian/ wheezy main | ||
#deb-src http://ftp.it.debian.org/debian/ wheezy main | #deb-src http://ftp.it.debian.org/debian/ wheezy main | ||
## Aggiornamenti della sicurezza | ## Aggiornamenti della sicurezza | ||
deb http://security.debian.org/ wheezy/updates main | deb http://security.debian.org/ wheezy/updates main | ||
#deb-src http://security.debian.org/ wheezy/updates main | #deb-src http://security.debian.org/ wheezy/updates main | ||
</pre> | </pre> | ||
Riga 34: | Riga 127: | ||
<pre> | <pre> | ||
## Debian Unstable (Sid) | ## Debian Unstable (Sid) | ||
deb http://ftp.it.debian.org/debian/ unstable main | deb http://ftp.it.debian.org/debian/ unstable main | ||
#deb-src http://ftp.it.debian.org/debian/ unstable main | #deb-src http://ftp.it.debian.org/debian/ unstable main | ||
</pre> | </pre> | ||
Per '''Sid''' non c'è il repository per la sicurezza dato che eventuali falle vengono corrette semplicemente con l'aggiornamento del pacchetto incriminato. | Per '''Sid''' non c'è il repository per la sicurezza dato che eventuali falle vengono corrette semplicemente con l'aggiornamento del pacchetto incriminato. | ||
Riga 42: | Riga 135: | ||
<pre> | <pre> | ||
## Debian old-stable (Lenny) | ## Debian old-stable (Lenny) | ||
deb http://ftp.it.debian.org/debian/ lenny main | deb http://ftp.it.debian.org/debian/ lenny main | ||
#deb-src http://ftp.it.debian.org/debian/ lenny main | #deb-src http://ftp.it.debian.org/debian/ lenny main | ||
## Aggiornamenti della sicurezza | ## Aggiornamenti della sicurezza | ||
deb http://security.debian.org/ lenny/updates main | deb http://security.debian.org/ lenny/updates main | ||
#deb-src http://security.debian.org/ lenny/updates main | #deb-src http://security.debian.org/ lenny/updates main | ||
</pre> | </pre> | ||
Riga 56: | Riga 149: | ||
<pre> | <pre> | ||
# proposed updates per la prossima point release (stabile) | # proposed updates per la prossima point release (stabile) | ||
deb http://ftp.it.debian.org/debian stable-proposed-updates main | deb http://ftp.it.debian.org/debian stable-proposed-updates main | ||
</pre> | </pre> | ||
* Debian old-stable | * Debian old-stable | ||
<pre> | <pre> | ||
# proposed updates per la prossima point release (old-stable) | # proposed updates per la prossima point release (old-stable) | ||
deb http://ftp.us.debian.org/debian oldstable-proposed-updates main | deb http://ftp.us.debian.org/debian oldstable-proposed-updates main | ||
</pre> | </pre> | ||
Alcuni aggiornamenti per determinati pacchetti vengono rinviati al rilascio della successiva [[point-release]] della versione stabile (o vecchia stabile) di Debian. Se non si vuole aspettare la point-release si può utilizzare questo repository per installare immediatamente gli aggiornamenti proposti.<br/> | Alcuni aggiornamenti per determinati pacchetti vengono rinviati al rilascio della successiva [[point-release]] della versione stabile (o vecchia stabile) di Debian. Se non si vuole aspettare la point-release si può utilizzare questo repository per installare immediatamente gli aggiornamenti proposti.<br/> | ||
Riga 68: | Riga 161: | ||
== Debian updates == | == Debian updates == | ||
<pre> | <pre> | ||
deb http://ftp.it.debian.org/debian stable-updates main | deb http://ftp.it.debian.org/debian stable-updates main | ||
</pre> | </pre> | ||
Questo archivio sostituisce l'archivio "Volatile" a partire dal rilascio di Debian 6.0 "Squeeze". I pacchetti contenuti in questo repository soddisfano le seguenti caratteristiche: | Questo archivio sostituisce l'archivio "Volatile" a partire dal rilascio di Debian 6.0 "Squeeze". I pacchetti contenuti in questo repository soddisfano le seguenti caratteristiche: | ||
Riga 83: | Riga 176: | ||
<pre> | <pre> | ||
## Debian experimental | ## Debian experimental | ||
deb http://ftp.debian.org/debian experimental main | deb http://ftp.debian.org/debian experimental main | ||
</pre> | </pre> | ||
Riga 94: | Riga 187: | ||
<pre> | <pre> | ||
## Debian Volatile (lenny) | ## Debian Volatile (lenny) | ||
deb http://volatile.debian.org/debian-volatile lenny/volatile main | deb http://volatile.debian.org/debian-volatile lenny/volatile main | ||
</pre> | </pre> | ||
Riga 102: | Riga 195: | ||
<pre> | <pre> | ||
## Debian Volatile (Etch) | ## Debian Volatile (Etch) | ||
deb http://volatile.debian.org/debian-volatile etch/volatile-sloppy main | deb http://volatile.debian.org/debian-volatile etch/volatile-sloppy main | ||
## Debian Volatile (Lenny) | ## Debian Volatile (Lenny) | ||
deb http://volatile.debian.org/debian-volatile lenny/volatile-sloppy main | deb http://volatile.debian.org/debian-volatile lenny/volatile-sloppy main | ||
</pre> | </pre> | ||
Riga 117: | Riga 210: | ||
= Lista repository non ufficiali = | = Lista repository non ufficiali = | ||
Per una lista dei repository non ufficiali più diffusi vedere: [[Repository non ufficiali]]. | Per una lista dei repository non ufficiali più diffusi vedere: [[Repository non ufficiali]]. | ||
---- | ---- | ||
[[User:MaXeR|MaXeR]] | [[User:MaXeR|MaXeR]] |
contributi