3 581
contributi
(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: | 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 è | * 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 | 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: | Version: 10.0 | ||
Codename: | Codename: buster | ||
Date: Sat, | Changelogs: http://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog | ||
Architectures: amd64 arm64 armel armhf i386 mips mipsel | 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 | 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 | * '''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 | 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> | ||
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 | # 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 | I repository ufficiali di Debian {{Codename|versione_stable}} ([[{{Codename|Stable}}]]) con solo software libero (binari e sorgenti) presi dal mirror {{APT-mirror|descrizione}}: | ||
deb | deb {{APT-mirror}} {{Codename|stable}} main | ||
deb-src | deb-src {{APT-mirror}} {{Codename|stable}} main | ||
E repository relativo di sicurezza: | E repository relativo di sicurezza: | ||
# Sicurezza | # Sicurezza | ||
deb | deb {{APT-mirror|security}} {{Codename|stable}}/updates main | ||
deb-src | 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 | deb {{APT-mirror}} {{Codename|stable}} main '''contrib non-free''' | ||
deb-src | deb-src {{APT-mirror}} {{Codename|stable}} main '''contrib non-free''' | ||
# Sicurezza | # Sicurezza | ||
deb | deb {{APT-mirror|security}} {{Codename|stable}}/updates main '''contrib non-free''' | ||
deb-src | 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]] | 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 | deb {{APT-mirror}} {{Codename|stable}} main | ||
deb-src | deb-src {{APT-mirror}} {{Codename|stable}} main | ||
# Aggiornamenti di sicurezza | # Aggiornamenti di sicurezza | ||
deb | deb {{APT-mirror|security}} {{Codename|stable}}/updates main | ||
deb-src | deb-src {{APT-mirror|security}} {{Codename|stable}}/updates main | ||
# Aggiornamenti raccomandati (ex-volatile) | # Aggiornamenti raccomandati (ex-volatile) | ||
deb | deb {{APT-mirror}} {{Codename|stable}}-updates main | ||
deb-src | deb-src {{APT-mirror}} {{Codename|stable}}-updates main | ||
# Backports | # Backports | ||
deb | deb {{APT-mirror}} {{Codename|stable}}-backports main | ||
deb-src | 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 | 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: | ||
deb | 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: | ||
deb | 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 | 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 | 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> | 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 | # 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> | È 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:// | 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]] | : [[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]] |
contributi