I repository ed il loro utilizzo: differenze tra le versioni

Revisione Wiki task #63
(aggiornamento a Stretch (e futuri aggiornamenti - task Revisione Wiki #61))
(Revisione Wiki task #63)
Riga 15: Riga 15:


== Organizzazione e struttura ==
== Organizzazione e struttura ==
Un repository (per esempio: http://ftp.debian.org/debian/) è suddiviso nei seguenti rami:
Un repository (per esempio: {{APT-mirror|main}}) è 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);
* '''doc''' raccoglie la documentazione di base per Debian (segnalazioni di Bug, Faq, il Contratto Sociale ed altro);
* '''doc''' raccoglie la documentazione di base per Debian (segnalazioni di Bug, Faq, il Contratto Sociale ed altro);
Riga 29: Riga 29:


Per esempio nel caso del repository principale della [[stable]]:
Per esempio nel caso del repository principale della [[stable]]:
* l'indirizzo è http://ftp.debian.org/debian, ma quello di qualsiasi [[mirror]] sarebbe equivalente;
* l'indirizzo è {{APT-mirror}}, ma quello di qualsiasi [[mirror]] sarebbe equivalente;
* come distribuzione si può usare sia il [[codename]] (attualmente '''{{Codename|stable}}''') che il nome della [[suite]] ('''stable''');
* come distribuzione si può usare sia il [[codename]] (attualmente '''{{Codename|stable}}''') che il nome della [[suite]] ('''stable''');
il suo file ''Release'' è consultabile all'indirizzo http://ftp.debian.org/debian/dists/{{Codename|stable}}/Release ; per esempio quello di Debian 8 ([[Jessie]]), {{#ifeq: {{Codename|Jessie}} | obsoleta | ormai obsoleta | attualmente la [[{{Codename|Jessie}}]]}}, quando era la ''stable'' ed era appena stata rilasciata conteneva:
il suo file ''Release'' è consultabile all'indirizzo http://ftp.debian.org/debian/dists/{{Codename|stable}}/Release ; per esempio quello di Debian 10 ([[Buster]]), {{#switch: {{Codename|Buster}}
| stable = appena rilasciata
| obsoleta = ormai obsoleta, quando era la ''stable'' ed era appena stata rilasciata
| attualmente la [[{{Codename|Buster}}]], quando era la ''stable'' ed era appena stata rilasciata }} conteneva:
<pre>
<pre>
Origin: Debian
Origin: Debian
Label: Debian
Label: Debian
Suite: stable
Suite: stable
Version: 8.0
Version: 10.0
Codename: jessie
Codename: buster
Date: Sat, 25 Apr 2015 11:11:17 UTC
Changelogs: http://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog
Architectures: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
Date: Sat, 06 Jul 2019 09:08:16 UTC
Acquire-By-Hash: yes
Architectures: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
Components: main contrib non-free
Components: main contrib non-free
Description: Debian 8.0 Released 25 April 2015
Description: Debian 10.0 Released 06 July 2019
...
...
</pre>
</pre>
Riga 48: Riga 53:
* '''Label''' identifica il repository: potete inserire descrizioni, ecc. Se si fa uso del pinning si può sfruttare questo dato inserendo la riga <code>Pin: release l=</code> In <code>preferences</code>.
* '''Label''' identifica il repository: potete inserire descrizioni, ecc. Se si fa uso del pinning si può sfruttare questo dato inserendo la riga <code>Pin: release l=</code> In <code>preferences</code>.
* '''Suite''' (o anche ''Archive'') è l'archivio Debian a cui i pacchetti appartengono (ad es.: stable, testing. ecc.). Se si fa uso del pinning si può sfruttare questo dato inserendo la riga <code>Pin: release a=</code> In <code>preferences</code>.
* '''Suite''' (o anche ''Archive'') è l'archivio Debian a cui i pacchetti appartengono (ad es.: stable, testing. ecc.). Se si fa uso del pinning si può sfruttare questo dato inserendo la riga <code>Pin: release a=</code> In <code>preferences</code>.
* '''Version''' indica la versione corrente, e nel caso di Jessie all'inizio è 8.0 e poi sarà aumentata a ogni nuova ''point release'' (8.1, 8.2, ...), ma sempre mantenendo la prima cifra fino all'arrivo della [[stable]] successiva.
* '''Version''' indica la versione corrente, e nel caso di Buster all'inizio è 10.0 e poi sarà aumentata a ogni nuova ''point release'' (10.1, 10.2, ...), ma sempre mantenendo la prima cifra fino all'arrivo della [[stable]] successiva.
* '''Codename''' specifica il nome in codice della release. Se si fa uso del pinning si può sfruttare questo dato inserendo la riga <code>Pin: release n=</code> In <code>preferences</code>.
* '''Codename''' specifica il nome in codice della release. Se si fa uso del pinning si può sfruttare questo dato inserendo la riga <code>Pin: release n=</code> In <code>preferences</code>.
* '''Architectures''' elenca le [[architettura|architetture]] dei pacchetti contenuti nel repository (ad es.: i386, sparc, source, ecc.).
* '''Architectures''' elenca le [[architettura|architetture]] dei pacchetti contenuti nel repository (ad es.: i386, sparc, source, ecc.).
Riga 80: Riga 85:


==== 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 amministrazione]] 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 sono sempre richiesti [[privilegi di amministrazione]]. A partire da Debian 8 [[Jessie]] è raccomandabile utilizzare [[apt]] per modificare il file principale (<code>/etc/apt/sources.list</code>):
<pre># apt edit-sources</pre>
perché effettua anche un controllo della sintassi prima di apportare le modifiche con il proprio editor preferito. Nel caso di [[nano]], il più semplice da usare, dopo aver effettuato le modifiche basta premere Ctrl-o per salvare e Ctrl-x per uscire.
 
Per modificare invece i file .list in <code>/etc/apt/sources.list.d</code> è necessario utilizzare un editor esterno, in questo caso <code>nano</code>:  
<pre>
<pre>
# nano /etc/apt/sources.list
# nano /etc/apt/sources.list.d/NOME-DEL-FILE.list
</pre>
</pre>
(poi premere <code>Ctrl-o</code> per salvare e <code>Ctrl-x</code> per uscire)
A partire da Debian 8 ([[Jessie]]) è invece consigliato utilizzare [[apt]]:
<pre># apt edit-sources</pre>
che effettua anche un controllo della sintassi prima di apportare le modifiche.


In entrambi i casi, si ricordi che ogni volta che si aggiunge o si rimuove un repository è necessario aggiornare la lista dei [[pacchetto|pacchetti]] del sistema. Per esempio eseguendo con [[privilegi di amministrazione]]:
Si ricordi sempre che ogni volta che si aggiunge o si rimuove un repository è necessario anche aggiornare la lista dei [[pacchetto|pacchetti]] del sistema. Per esempio eseguendo con [[privilegi di amministrazione]]:
<pre>
<pre>
# apt-get update
# apt update
</pre>
</pre>
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.
Riga 122: Riga 126:
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.


I repository ufficiali di Debian {{Codename|versione_stable}} ([[{{Codename|Stable}}]]) con solo software libero (binari e sorgenti) presi da un mirror italiano:
I repository ufficiali di Debian {{Codename|versione_stable}} ([[{{Codename|Stable}}]]) con solo software libero (binari e sorgenti) presi dal mirror {{APT-mirror|descrizione}}:


  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main
  deb {{APT-mirror}} {{Codename|stable}} main
  deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main
  deb-src {{APT-mirror}} {{Codename|stable}} main


E repository relativo di sicurezza:
E repository relativo di sicurezza:


  # Sicurezza
  # Sicurezza
  deb <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main
  deb {{APT-mirror|security}} {{Codename|stable}}/updates main
  deb-src <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main
  deb-src {{APT-mirror|security}} {{Codename|stable}}/updates main
 
{{Box | Cambiamento nella sintassi del repository di sicurezza | A partire da Debian 10 ([[Buster]])) la forma preferita del mirror di sicurezza termina con '''debian-security'''; tale sintassi è compatibile anche per versioni precedenti, se ancora supportate. La forma precedente (senza ''debian-security'') è ancora supportata.
 
Inoltre a partire da Debian 11 ([[Bullseye]]), si dovrà utilizzare ''codename'''''-security''' al posto di ''codename'''''/updates''', ossia nel caso di bullseye:
deb {{APT-mirror|security}} bullseye'''-security''' main}}


Ecco come invece si presenterà il file, se si sceglie di aggiungere anche "contrib" e "non-free" ai due repository precedenti:
Ecco come invece si presenterà il file, se si sceglie di aggiungere anche "contrib" e "non-free" ai due repository precedenti:


  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main '''contrib non-free'''
  deb {{APT-mirror}} {{Codename|stable}} main '''contrib non-free'''
  deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main '''contrib non-free'''
  deb-src {{APT-mirror}} {{Codename|stable}} main '''contrib non-free'''
   
   
  # Sicurezza
  # Sicurezza
  deb <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main '''contrib non-free'''
  deb {{APT-mirror|security}} {{Codename|stable}}/updates main '''contrib non-free'''
  deb-src <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main '''contrib non-free'''
  deb-src {{APT-mirror|security}} {{Codename|stable}}/updates main '''contrib non-free'''


I repository sorgenti (''deb-src'') si possono anche rimuovere, se non si scaricano i sorgenti per controllarli o modificarli, oppure commentare (aggiungendo a inizio riga il carattere <code>#</code>) per poterli riabilitare facilmente.
I repository sorgenti (''deb-src'') si possono anche rimuovere, se non si scaricano i sorgenti per controllarli o modificarli, oppure commentare (aggiungendo a inizio riga il carattere <code>#</code>) per poterli riabilitare facilmente.
Riga 174: Riga 183:
==== Esempi di configurazioni consigliate ====
==== Esempi di configurazioni consigliate ====
===== Stable più aggiornata =====
===== Stable più aggiornata =====
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 e abilitando aggiornamenti raccomandati e [[backports]]:
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]] {{APT-mirror|descrizione}} e abilitando aggiornamenti raccomandati e [[backports]]:


  # Repository principale
  # Repository principale
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main
  deb {{APT-mirror}} {{Codename|stable}} main
  deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main
  deb-src {{APT-mirror}} {{Codename|stable}} main
    
    
  # Aggiornamenti di sicurezza
  # Aggiornamenti di sicurezza
  deb <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main
  deb {{APT-mirror|security}} {{Codename|stable}}/updates main
  deb-src <nowiki>http://security.debian.org/</nowiki> {{Codename|stable}}/updates main
  deb-src {{APT-mirror|security}} {{Codename|stable}}/updates main
    
    
  # Aggiornamenti raccomandati (ex-volatile)
  # Aggiornamenti raccomandati (ex-volatile)
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-updates main
  deb {{APT-mirror}} {{Codename|stable}}-updates main
  deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-updates main
  deb-src {{APT-mirror}} {{Codename|stable}}-updates main
    
    
  # Backports
  # Backports
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-backports main
  deb {{APT-mirror}} {{Codename|stable}}-backports main
  deb-src <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}}-backports main
  deb-src {{APT-mirror}} {{Codename|stable}}-backports main


Si avrà sempre la versione più aggiornata disponibile di un pacchetto presente in uno di questi repository, a eccezione dei ''backports''. Per maggiori informazioni e istruzioni su come installare un pacchetto dai ''backports'' si rimanda a [[Il repository Backports#Utilizzo | questa sezione]] della loro guida.<br/>
Si avrà sempre la versione più aggiornata disponibile di un pacchetto presente in uno di questi repository, a eccezione dei ''backports''. Per maggiori informazioni e istruzioni su come installare un pacchetto dai ''backports'' si rimanda a [[Il repository Backports#Utilizzo | questa sezione]] della loro guida.<br/>
Riga 198: Riga 207:


Come già visto in precedenza, per aggiungere software non libero è necessario abilitare una o entrambe le sezioni [[contrib]] e [[non-free]] per ogni repository. Per esempio per abilitarle entrambe il primo repository diverrebbe:
Come già visto in precedenza, per aggiungere software non libero è necessario abilitare una o entrambe le sezioni [[contrib]] e [[non-free]] per ogni repository. Per esempio per abilitarle entrambe il primo repository diverrebbe:
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main '''contrib non-free'''
  deb {{APT-mirror}} {{Codename|stable}} main '''contrib non-free'''


===== Stable (come di default), Testing o Unstable =====
===== Stable (come di default), Testing o Unstable =====
Riga 211: Riga 220:
==== 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]] (''{{Codename|stable}}''), si noti che in questo momento le due righe:
Se si preferisce indicare una [[release]] con il nome della [[suite]] (''stable'') invece del [[codename]] (''{{Codename|stable}}''), si noti che in questo momento le due righe:
<pre>
deb http://ftp.it.debian.org/debian/ stable main
</pre>


  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|stable}} main
  deb {{APT-mirror}} '''stable''' main
 
deb {{APT-mirror}} '''{{Codename|stable}}''' main


sono equivalenti come le equivalenti sostituzioni per le righe relative a tutti gli altri repository.<br/>
sono equivalenti come le equivalenti sostituzioni per le righe relative a tutti gli altri repository.<br/>
Allo stesso modo sono equivalenti:
Allo stesso modo sono equivalenti:
<pre>
deb http://ftp.it.debian.org/debian/ testing main
</pre>


  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> {{Codename|testing}} main
  deb {{APT-mirror}} '''testing''' main
 
deb {{APT-mirror}} '''{{Codename|testing}}''' main


Prestare particolare attenzione al fatto che questa equivalenza non sarà più valida al momento del rilascio della nuova [[stable]].<br/>
Prestare particolare attenzione al fatto che questa equivalenza non sarà più valida al momento del rilascio della nuova [[stable]].<br/>
Riga 237: Riga 244:
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":
  ...
  ...
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> '''stable''' main
  deb {{APT-mirror}} '''stable''' main
  ...
  ...
continueranno a ricevere aggiornamenti dai repository "stable", che però faranno riferimento alla nuova versione.
continueranno a ricevere aggiornamenti dai repository "stable", che però faranno riferimento alla nuova versione.
Riga 243: Riga 250:
Coloro che invece, come raccomandato, utilizzano il [[codename]]:
Coloro che invece, come raccomandato, utilizzano il [[codename]]:
  ...
  ...
  deb <nowiki>http://ftp.it.debian.org/debian/</nowiki> '''{{Codename|oldstable}}''' main
  deb {{APT-mirror}} '''{{Codename|oldstable}}''' main
  ...
  ...
quando desiderano effettuare il passaggio di versione a Debian {{Codename|versione_stable}} ([[{{Codename|Stable}}]]), 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 "{{Codename|oldstable}}" con "{{Codename|stable}}" (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 [[oldstable]].
quando desiderano effettuare il passaggio di versione a Debian {{Codename|versione_stable}} ([[{{Codename|Stable}}]]), 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 "{{Codename|oldstable}}" con "{{Codename|stable}}" (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 [[oldstable]].
Riga 258: Riga 265:
   NOTA: *NON* cambiare il nome della sezione "Mirrors", perché è utilizzata da altre guide
   NOTA: *NON* cambiare il nome della sezione "Mirrors", perché è utilizzata da altre guide
-->
-->
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:
I repository ufficiali sono resi disponibili attraverso molteplici fonti, ovvero oltre al classico <code>{{APT-mirror|it}}</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;
* la velocità di scaricamento dei pacchetti solitamente aumenta;
* si alleggerisce il carico di lavoro cui sono soggetti i repository primari.
* si alleggerisce il carico di lavoro cui sono soggetti i repository primari.
Riga 267: Riga 274:
Per l'installazione è sufficiente digitare:
Per l'installazione è sufficiente digitare:
<pre>
<pre>
# apt-get install netselect-apt
# apt install netselect-apt
</pre>
</pre>


Riga 278: Riga 285:


=== Uso di HTTP Redirector ===
=== Uso di HTTP Redirector ===
Risolve il problema di dover scegliere un mirror. Usando dei dati come la posizione geografica della connessione dell'utente, la famiglia di indirizzi IP, la disponibilità e l'aggiornamento dei mirror, l'architettura dei pacchetti da scaricare e altre cose, il ''redirector'' riesce a fornire all'utente in modo trasparente il miglior mirror per un dato pacchetto. Tra i molti vantaggi rispetto ad un mirror tradizionale si annoverano una velocità maggiore di scaricamento (grazie ai download in parallelo da più mirror) e il non dover aggiornare il <code>sources.list</code> con un nuovo mirror in caso di viaggi o spostamenti.
{{#ifeq: {{APT-mirror|descrizione}} | HTTP redirector | È la scelta di default a partire da Debian 10 ([[Buster]]), e risolve il problema di dover scegliere un mirror.<br/> | Risolve il problema di dover scegliere un mirror.}}
Usando dei dati come la posizione geografica della connessione dell'utente, la famiglia di indirizzi IP, la disponibilità e l'aggiornamento dei mirror, l'architettura dei pacchetti da scaricare e altre cose, il ''redirector'' riesce a fornire all'utente in modo trasparente il miglior mirror per un dato pacchetto. Tra i molti vantaggi rispetto ad un mirror tradizionale si annoverano una velocità maggiore di scaricamento (grazie ai download in parallelo da più mirror) e il non dover aggiornare il <code>sources.list</code> con un nuovo mirror in caso di viaggi o spostamenti.


È sufficiente utilizzare '''<code><nowiki>http://httpredir.debian.org/debian</nowiki></code>''' come mirror al posto di quello usato nel proprio <code>/etc/apt/sources.list</code> per tutti i repository aggiunti, meno quello di sicurezza (che è consigliato lasciare <code><nowiki>http://security.debian.org/</nowiki></code>).
È sufficiente utilizzare '''<code>{{APT-mirror|redirector}}</code>''' come mirror al posto di quello usato nel proprio <code>/etc/apt/sources.list</code> per tutti i repository aggiunti, meno quello di sicurezza (che è consigliato lasciare <code>{{APT-mirror|security}}</code>).


Per maggiori informazioni si può consultare il [http://http.debian.net/ sito ufficiale].
Per maggiori informazioni si può consultare il [http://deb.debian.org/ sito ufficiale].


== Approfondimenti ==
== Approfondimenti ==
Riga 304: Riga 312:
: [[Utente:Marcomg|Marcomg]]
: [[Utente:Marcomg|Marcomg]]
: [[Utente:S3v|S3v]] 13:28, 30 ago 2014 (CEST)
: [[Utente:S3v|S3v]] 13:28, 30 ago 2014 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 12:58, 18 giu 2017 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 15:26, 3 ago 2019 (CEST)
|Numero_revisori = 6
|Numero_revisori = 6
}}
}}


[[Categoria:Repository ufficiali]][[Categoria:Apt]]
[[Categoria:Repository ufficiali]][[Categoria:Apt]]
3 581

contributi