I repository ed il loro utilizzo: differenze tra le versioni

nessun oggetto della modifica
(passaggio di versione e altre modifiche minori)
Nessun oggetto della modifica
Riga 7: Riga 7:
{{Box|Nota importante|Prima di procedere con la lettura della presente guida è fondamentale che il lettore abbia chiara la struttura di Debian. Si veda ad esempio [[La struttura della Distribuzione | questa guida]].}}
{{Box|Nota importante|Prima di procedere con la lettura della presente guida è fondamentale che il lettore abbia chiara la struttura di Debian. Si veda ad esempio [[La struttura della Distribuzione | questa guida]].}}


= Introduzione =
== Introduzione ==
Dopo aver installato una Debian nasce il bisogno di aggiungere nuovi programmi e allo stesso tempo di tenerla costantemente aggiornata.<br />
Dopo aver installato una Debian nasce il bisogno di aggiungere nuovi programmi e allo stesso tempo di tenerla costantemente aggiornata.<br />
Per questo scopo Debian dispone di un tool potentissimo: [[APT]] (Advanced Packaging Tool), con numerosi strumenti sia da riga di comando (la shell), come [[apt]], [[apt-get]], [[aptitude]], dselect, [[wajig]], sia per mezzo di interfacce grafiche come aptitude, [[synaptic]], PackageKit e altri.<br />
Per questo scopo Debian dispone di un tool potentissimo: [[APT]] (Advanced Packaging Tool), con numerosi strumenti sia da riga di comando (la shell), come [[apt]], [[apt-get]], [[aptitude]], dselect, [[wajig]], sia per mezzo di interfacce grafiche come aptitude, [[synaptic]], PackageKit e altri.<br />
Riga 14: Riga 14:
Per comprendere appieno tutto il meccanismo delle installazioni e degli aggiornamenti bisogna conoscere com'è strutturata una Debian. Questo articolo vuole essere un'introduzione alla comprensione della struttura per la gestione degli oltre 40.000 pacchetti che Debian offre. Per approfondimenti consultare le ricche pagine di [[Documentazione Debian|documentazione]] che accompagnano Debian come ''debian-reference-it'', ''debian-faq-it'', etc.
Per comprendere appieno tutto il meccanismo delle installazioni e degli aggiornamenti bisogna conoscere com'è strutturata una Debian. Questo articolo vuole essere un'introduzione alla comprensione della struttura per la gestione degli oltre 40.000 pacchetti che Debian offre. Per approfondimenti consultare le ricche pagine di [[Documentazione Debian|documentazione]] che accompagnano Debian come ''debian-reference-it'', ''debian-faq-it'', etc.


= Organizzazione e struttura =
== Organizzazione e struttura ==
Un repository (per esempio: http://ftp.debian.org/debian/) è suddiviso nei seguenti rami:
Un repository (per esempio: http://ftp.debian.org/debian/) è suddiviso nei seguenti rami:
* '''dists''' contiene 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);
* '''dists''' contiene 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);
Riga 23: Riga 23:
* '''tools''' contiene degli strumenti DOS per la creazione di dischetti di boot, partizionamento e lancio del sistema.
* '''tools''' contiene degli strumenti DOS per la creazione di dischetti di boot, partizionamento e lancio del sistema.


=== Il file "Release" ===
==== Il file "Release" ====
Ogni repository ha un file ''Release'' contenente diverse informazioni fondamentali per l'utilizzo da parte di [[APT]].
Ogni repository ha un file ''Release'' contenente diverse informazioni fondamentali per l'utilizzo da parte di [[APT]].


Riga 57: Riga 57:
{{Box|Nota|Parte di queste informazioni possono essere ottenute anche usando il comando <code>$ apt-cache policy</code>, che mostra anche i pin dei repository e/o quelli manualmente definiti dall'utente.}}
{{Box|Nota|Parte di queste informazioni possono essere ottenute anche usando il comando <code>$ apt-cache policy</code>, che mostra anche i pin dei repository e/o quelli manualmente definiti dall'utente.}}


=== Sezioni ===
==== Sezioni ====
I repository ufficiali sono divisi in tre [[sezione|sezioni]] (dette anche aree o componenti):
I repository ufficiali sono divisi in tre [[sezione|sezioni]] (dette anche aree o componenti):
* [[main]] è la principale, e l'unica sia necessaria che autosufficiente. I pacchetti di '''main''' non dipendono dalle altre sezioni e nemmeno da materiale esterno a Debian, né per l'esecuzione né per la compilazione dei sorgenti.<br/>È composta soltanto dai pacchetti che rispettano completamente le [[DFSG|Debian Free Software Guidelines]], che garantiscono che il software presente è [[Software Libero]] (e quindi anche Open Source) e che ogni altro materiale (documentazione, dati, musica, ecc.) presente è ridistribuibile alle stesse condizioni;
* [[main]] è la principale, e l'unica sia necessaria che autosufficiente. I pacchetti di '''main''' non dipendono dalle altre sezioni e nemmeno da materiale esterno a Debian, né per l'esecuzione né per la compilazione dei sorgenti.<br/>È composta soltanto dai pacchetti che rispettano completamente le [[DFSG|Debian Free Software Guidelines]], che garantiscono che il software presente è [[Software Libero]] (e quindi anche Open Source) e che ogni altro materiale (documentazione, dati, musica, ecc.) presente è ridistribuibile alle stesse condizioni;
Riga 69: Riga 69:
A partire da Debian 6 (Squeeze) con l'uso della sola sezione '''main''' anche il kernel è completamente libero, mentre in precedenza poteva contenere blob binari, per esempio i [[firmware]] senza codice sorgente per alcuni dispositivi.}}
A partire da Debian 6 (Squeeze) con l'uso della sola sezione '''main''' anche il kernel è completamente libero, mentre in precedenza poteva contenere blob binari, per esempio i [[firmware]] senza codice sorgente per alcuni dispositivi.}}


== Sources.list ==
=== Sources.list ===
<!--
<!--
   NOTA: *NON* cambiare il nome della sezione "Sources.list", perché è utilizzata da altre guide
   NOTA: *NON* cambiare il nome della sezione "Sources.list", perché è utilizzata da altre guide
Riga 77: Riga 77:
In aggiunta a tale file possono esisterne altri con estensione <code>.list</code> all'interno della directory <code>/etc/apt/sources.list.d</code>, pensata per contenere i [[repository]] di terze parti. Questa directory dovrebbe essere vuota, se non si è installato nulla che la modifichi e non si sono aggiunti dei file manualmente.
In aggiunta a tale file possono esisterne altri con estensione <code>.list</code> all'interno della directory <code>/etc/apt/sources.list.d</code>, pensata per contenere i [[repository]] di terze parti. Questa directory dovrebbe essere vuota, se non si è installato nulla che la modifichi e non si sono aggiunti dei file manualmente.


=== Modifiche ai file di configurazione ===
==== Modifiche ai file di configurazione ====
Non esiste un unico modo per aggiungere, modificare o rimuovere repository, ma per esempio con [[privilegi di amministratore]] si può aprire il file principale con <code>nano</code> (l'editor predefinito) nel seguente modo:
Non esiste un unico modo per aggiungere, modificare o rimuovere repository, ma per esempio con [[privilegi di amministratore]] si può aprire il file principale con <code>nano</code> (l'editor predefinito) nel seguente modo:
<pre># nano /etc/apt/sources.list</pre>
<pre># nano /etc/apt/sources.list</pre>
Riga 90: Riga 90:
Tale lista va inoltre tenuta aggiornata periodicamente, in particolare prima di effettuare aggiornamenti o nuove installazioni.
Tale lista va inoltre tenuta aggiornata periodicamente, in particolare prima di effettuare aggiornamenti o nuove installazioni.


=== 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 prestazioni, è consigliabile ordinarli per velocità (es. prima il CD-ROM, poi la rete locale, poi Internet, ecc.).
È importante inserire i repository con un giusto ordine: i primi in elenco, infatti, sono i più importanti (o favoriti). Per migliorare le prestazioni, è consigliabile ordinarli per velocità (es. prima il CD-ROM, poi la rete locale, poi Internet, ecc.).


Se non si hanno esigenze particolari, gli utenti che installano Debian da CD o DVD possono cancellare o commentare le righe corrispondenti a queste sorgenti in <code>/etc/apt/sources.list</code> subito dopo l'installazione. Il motivo è dovuto al fatto che i pacchetti che si trovano su questi supporti sono rapidamente superati dagli aggiornamenti presenti nei [[repository ufficiali]]; questi ultimi, se assenti, vanno ovviamente aggiunti manualmente ad <code>/etc/apt/sources.list</code>.
Se non si hanno esigenze particolari, gli utenti che installano Debian da CD o DVD possono cancellare o commentare le righe corrispondenti a queste sorgenti in <code>/etc/apt/sources.list</code> subito dopo l'installazione. Il motivo è dovuto al fatto che i pacchetti che si trovano su questi supporti sono rapidamente superati dagli aggiornamenti presenti nei [[repository ufficiali]]; questi ultimi, se assenti, vanno ovviamente aggiunti manualmente ad <code>/etc/apt/sources.list</code>.


=== Sintassi ===
==== Sintassi ====
Ogni riga che descrive un repository ha una ben determinata sintassi:
Ogni riga che descrive un repository ha una ben determinata sintassi:
<pre>
<pre>
Riga 113: Riga 113:
* <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.
* <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 ===
==== Alcuni esempi ====
Non c'è niente di meglio, per capire la sintassi del file <code>sources.list</code>, di un po' di esempi.
Non c'è niente di meglio, per capire la sintassi del file <code>sources.list</code>, di un po' di esempi.


Riga 156: Riga 156:
Per altri repository vedere: [[Repository ufficiali|Lista repository ufficiali Debian]] e [[Repository non ufficiali]].
Per altri repository vedere: [[Repository ufficiali|Lista repository ufficiali Debian]] e [[Repository non ufficiali]].


=== Sources.list aggiuntivi ===
==== Sources.list aggiuntivi ====
A volte si può avere l'esigenza di disporre di più di un file per contenere la lista dei repository. Questo può capitare nel caso in cui 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.
A volte si può avere l'esigenza di disporre di più di un file per contenere la lista dei repository. Questo può capitare nel caso in cui 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.


Riga 168: Riga 168:
Bisogna specificare obbligatoriamente il percorso completo del file se questo non si trova nella directory <code>/etc/apt/sources.list.d</code> .
Bisogna specificare obbligatoriamente il percorso completo del file se questo non si trova nella directory <code>/etc/apt/sources.list.d</code> .


=== Esempi di configurazioni consigliate ===
==== Esempi di configurazioni consigliate ====
====Stable====
===== Stable =====
Per avere una Debian [[stable]] completamente libera, di seguito si propone una configurazione del file <code>/etc/apt/sources.list</code> con soli repository ufficiali, utilizzando il [[mirror]] italiano:
Per avere una Debian [[stable]] completamente libera, di seguito si propone una configurazione del file <code>/etc/apt/sources.list</code> con soli repository ufficiali, utilizzando il [[mirror]] italiano:
<pre>
<pre>
Riga 197: Riga 197:
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> jessie main '''contrib non-free'''
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> jessie main '''contrib non-free'''


==== Testing o Unstable ====
===== Testing o Unstable =====
Leggere la guida: [[Repository ufficiali]]
Leggere la guida: [[Repository ufficiali]]


==== Experimental ====
===== Experimental =====
Si legga attentamente la sezione: [[Repository speciali#Debian_experimental | Debian experimental]] (repository speciali)
Si legga attentamente la sezione: [[Repository speciali#Debian_experimental | Debian experimental]] (repository speciali)


E si ricordi, non essendo autosufficienti, di utilizzare i repository di Debian '''unstable'''/'''Sid''' (reperibili [[Repository ufficiali#Unstable: Debian Sid|qui]]).
E si ricordi, non essendo autosufficienti, di utilizzare i repository di Debian '''unstable'''/'''Sid''' (reperibili [[Repository ufficiali#Unstable: Debian Sid|qui]]).


== Altre modifiche ai repository ==
=== Altre modifiche ai repository ===
=== Utilizzare la suite (o archive) ===
==== Utilizzare la suite (o archive) ====
Se si preferisce indicare una [[release]] con il nome della [[suite]] (''stable'') invece del [[codename]] (''jessie''), si noti che in questo momento le due righe:
Se si preferisce indicare una [[release]] con il nome della [[suite]] (''stable'') invece del [[codename]] (''jessie''), si noti che in questo momento le due righe:
<pre>
<pre>
Riga 231: Riga 231:
* si preferisce installare da zero una Debian pulita, anziché aggiornare.
* si preferisce installare da zero una Debian pulita, anziché aggiornare.


=== Passaggio di versione alla nuova stable ===
==== Passaggio di versione alla nuova stable ====
Dal giorno in cui è rilasciata la nuova versione stabile di Debian, tutti coloro che nel proprio file <code>/etc/apt/sources.list</code> utilizzano il termine "stable":
Dal giorno in cui è rilasciata la nuova versione stabile di Debian, tutti coloro che nel proprio file <code>/etc/apt/sources.list</code> utilizzano il termine "stable":
  ...
  ...
Riga 244: Riga 244:
quando desiderano effettuare il passaggio di versione a Debian 8 ([[Jessie]]), e dopo aver letto le [https://www.debian.org/releases/stable/releasenotes.it.html note di rilascio], dovranno sostituire in tutte le righe del file <code>sources.list</code> il termine "wheezy" con "jessie" (il codename per la nuova stable). Senza questa modifica continueranno a ricevere aggiornamenti per un periodo di tempo limitato (di circa un anno) per consentire aggiornamenti alla [[Old Stable]].
quando desiderano effettuare il passaggio di versione a Debian 8 ([[Jessie]]), e dopo aver letto le [https://www.debian.org/releases/stable/releasenotes.it.html note di rilascio], dovranno sostituire in tutte le righe del file <code>sources.list</code> il termine "wheezy" con "jessie" (il codename per la nuova stable). Senza questa modifica continueranno a ricevere aggiornamenti per un periodo di tempo limitato (di circa un anno) per consentire aggiornamenti alla [[Old Stable]].


=== Passaggio da stable a testing ===
==== Passaggio da stable a testing ====
È necessario modificare tutte le occorrenze di "stable" (o "jessie") con "testing" (o "stretch") all'interno del file <code>/etc/apt/sources.list</code> e poi aggiornare la lista dei pacchetti.<br/>
È necessario modificare tutte le occorrenze di "stable" (o "jessie") con "testing" (o "stretch") all'interno del file <code>/etc/apt/sources.list</code> e poi aggiornare la lista dei pacchetti.<br/>
Per la ''testing'' non esistono i repository "updates", "proposed-updates" e backports.
Per la ''testing'' non esistono i repository "updates", "proposed-updates" e backports.


=== Passaggio da testing a unstable ===
==== Passaggio da testing a unstable ====
Leggere la guida [[Installare Debian SID]]
Leggere la guida [[Installare Debian SID]]


= Approfondimenti =
== Mirrors ==
=== Manpages ===
 
I repository ufficiali sono resi disponibili attraverso molteplici fonti, ovvero oltre al classico <code>ftp.it.debian.org</code> esistono numerosi altri repository secondari che è possibile usare in maniera sicura. Scegliere di usare una "copia" dei repository invece dei primari garantisce due vantaggi:
* la velocità di scaricamento dei pacchetti solitamente aumenta;
* si alleggerisce il carico di lavoro cui sono soggetti i repository primari.
 
Lo strumento <code>netselect-apt</code> permette di condurre in maniera automatica un test di velocità su tutti i repository primari e secondari ad esso noti e quindi di selezionare il mirror più veloce.
Per l'installazione è sufficiente digitare:
<pre># aptitude install netselect-apt</pre>
Per l'utilizzo invece basta semplicemente scrivere:
<pre># netselect-apt</pre>
Al termine della procedura (meno di cinque minuti) lo strumento proporrà un elenco composto dai dieci mirror secondo lui più veloci e quindi l'utente, se lo desidera, potrà decidere di modificare il proprio file <code>sources.list</code> sostituendo il repository primario con quello secondario suggerito.
 
== Approfondimenti ==
==== Manpages ====
<code>man sources.list</code>
<code>man sources.list</code>


2 894

contributi