Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Repository/RigaDiComando"
Differenze tra le versioni 45 e 58 (in 13 versioni)
Versione 45 del 15/10/2018 11.18.48
Dimensione: 14816
Autore: jeremie2
Commento:
Versione 58 del 25/04/2024 14.32.59
Dimensione: 16991
Autore: jeremie2
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 5: Linea 5:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=431132")>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=431132"; rilasci="20.04 22.04 23.10 23.04 24.04")>>
Linea 9: Linea 9:
Questa pagina descrive come gestire i repository da riga di comando tramite l'utilizzo di un qualsiasi [[Ufficio/EditorDiTesto|editor di testo]], senza utilizzare appositi programmi con interfaccia grafica. Queste informazioni si rivelano utili dato che funzionano in tutte le versioni di Ubuntu. Questa pagina descrive come gestire i repository tramite [[AmministrazioneSistema/Terminale|riga di comando]] ed [[Ufficio/EditorDiTesto|editor di testo]] senza utilizzare gli specific programmi a interfaccia grafica. Il vantaggio sta nel fatto che le informazioni qui riportate risultano utili in qualsiasi delle versioni di Ubuntu esistenti, indipendentemente dall'ambiante grafico utilizzato.
Linea 14: Linea 14:
 * [[Repository/Kubuntu|Gestire i repository con Kubuntu]]

= Informazioni preliminari =
 * [[Repository/Kubuntu|Gestire i repository con Kubuntu e Lubuntu]]

= Ubuntu 24.04 e successivi =

A partire da '''Ubuntu 24.04''' il principale file di configurazione è `/etc/apt/sources.list.d/ubuntu.sources` e questo è il suo contenuto subito dopo l'installazione:
 {{{
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: multiverse main universe restricted
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
}}}

 * '''Types''': definisce il tipo di pacchetto ospitato nel reopository:
  * `deb` per i pacchetti precompilati;
  * `deb-src` per il codice sorgente.
 * '''URIs''': indirizzo del server.
 * '''Suites''': definisce la tipologia dei pacchetti in base al ciclo di rilascio. Ogni versione di Ubuntu ha un nome in codice, ad esempio '''Noble Numbat''' nel caso della 24.04. Viene quindi presa la prima parte del nome '''numbat''' e quindi verranno fatte le seguenti classificazioni:
  * '''noble''': pacchetti presenti al rilascio della nuova versione di Unbuntu;
  * '''noble-updates''': contengono aggiornamenti dei pacchetti;
  * '''noble-backports''': offrono [[Repository/Backports|ulteriori aggiornamenti]] che arrivano da versione successive di Ubuntu;
  * '''noble-security''': aggiornamenti che risolvono bug di siscurezza.
 * '''Components''': ulteriore classificazione in '''main''', '''restricted''', '''universe''', '''multiverse''' [[Repository/Componenti|vedi guida]]
 * '''Signed-By''': chiave pubblica per verificare l'autenticità dei pacchetti.

== Aggiungere repository ==

I file relativi a eventuali repository esterni verranno ancora salvati nella directory `/etc/apt/sources.list.d` e le procedure esistenti rimangono pressoché invariate.

Se si intende utilizzare un '''PPA''' vale quanto riportato nel [[#ppa|paragrafo dedicato]]. Supponendo ad esempio di voler installare '''[[https://launchpad.net/~mozillateam/+archive/ubuntu/firefox-next|Firefox Beta]]''', alla fine della procedura verrà creato il file `mozillateam-ubuntu-firefox-next-noble.sources` con il seguente contenuto:
 {{{
Types: deb
URIs: https://ppa.launchpadcontent.net/mozillateam/firefox-next/ubuntu/
Suites: noble
Components: main
Signed-By:
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 .
 mI0ESXMwOwEEAL7 "segue lungo codice alfa-numerico"

 -----END PGP PUBLIC KEY BLOCK-----
}}}

Da notare che sarà ancora valido il formato `.list` pertanto per il software ospitato al di fuori di Launchpad vale quanto descritto nella pagina [[Repository/GestioneRepositoryTerzeParti|gestione repository terze parti]].

= Versioni di Ubuntu fino alla 23.10 =

== Informazioni preliminari ==
Linea 20: Linea 71:
Anche se Ubuntu conserva di default una copia del file `sources.list`, è buona norma creare una copia di backup del file prima di modificarlo, in modo tale da poterlo ripristinare in caso di problemi.

Per creare una copia di backup del file `sources.list`, digitare il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
Anche se Ubuntu conserva di default una [[AmministrazioneSistema/ComandiBase#cp|copia]] del file `sources.list`, è buona norma creare una copia di backup del file prima di modificarlo, in modo tale da poterlo ripristinare in caso di problemi.<<BR>>Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 27: Linea 76:
= Descrizione del file sources.list =

Per controllare la validità del proprio file `sources.list` senza senza modificarlo, è possibile prenderne visione col seguente comando: {{{
== Descrizione del file sources.list ==

Il file `/etc/apt/sources.list` è sostanzialmente un file di testo che contiene i dettagli relativi ai [[Repository#Introduzione|repository]] in uso.<<BR>>
Per controllare la validità del proprio file `sources.list` senza modificarlo, è possibile prenderne visione nel [[AmministrazioneSistema/Terminale|terminale]] con il seguente comando: {{{
Linea 32: Linea 82:
Prendendo come esempio il caso di un sistema Ubuntu 16.04.1 LTS, il contenuto dovrebbe essere simile al seguente: {{{
# deb cdrom:[Ubuntu 16.04.1 LTS _Xenial Xerus_ - Release amd64 (20160719)]/ xenial main restricted
Prendendo come esempio il caso di un sistema Ubuntu 22.04 LTS, il contenuto dovrebbe essere simile al seguente: {{{
# deb cdrom:[Ubuntu 22.04.3 LTS _Jammy Jellyfish_ - Release amd64 (20230807.2)]/ jammy main restricted
Linea 37: Linea 87:
deb http://it.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://it.archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://it.archive.ubuntu.com/ubuntu/ jammy main restricted
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy main restricted
Linea 42: Linea 92:
deb http://it.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://it.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://it.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
Linea 46: Linea 96:
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software
. Also, please note that software in
##
universe WILL NOT receive any review or updates from the Ubuntu security
##
team.
deb http://it.archive.ubuntu.com/ubuntu/ xenial universe
# deb-src http://it.archive.ubuntu.com/ubuntu/ xenial universe
deb http://it.archive.ubuntu.com/ubuntu/ xenial-updates universe
# deb-src http://it.archive.ubuntu.com/ubuntu/ xenial-updates universe
## team. Also, please note that software in universe WILL NOT receive any
##
review or updates from the Ubuntu security team.
deb http://it.archive.ubuntu.com/ubuntu/ jammy universe
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy universe
deb http://it.archive.ubuntu.com/ubuntu/ jammy-updates universe
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-updates universe
Linea 60: Linea 108:
deb http://it.archive.ubuntu.com/ubuntu/ xenial multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://it.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://it.archive.ubuntu.com/ubuntu/ jammy multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy multiverse
deb http://it.archive.ubuntu.com/ubuntu/ jammy-updates multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-updates multiverse
Linea 70: Linea 118:
deb http://it.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://security.ubuntu.com/ubuntu xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
}}}

Le righe di testo che iniziano con uno o due caratteri hash «#» sono commenti e servono esclusivamente per fornire informazioni all'utente. Non influiscono in alcun modo sull'operato del proprio gestore di pacchetti.
deb http://it.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu jammy-security main restricted
# deb-src http://security.ubuntu.com/ubuntu jammy-security main restricted
deb http://security.ubuntu.com/ubuntu jammy-security universe
# deb-src http://security.ubuntu.com/ubuntu jammy-security universe
deb http://security.ubuntu.com/ubuntu jammy-security multiverse
# deb-src http://security.ubuntu.com/ubuntu jammy-security multiverse

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
}}}

{{{#!wiki note
Ogni singola riga indica un diverso repository.<<BR>>
Le righe che iniziano con uno o due caratteri hash «#» sono commentate e non influiscono in alcun modo sull'operato del proprio gestore di pacchetti. Vengono utilizzate per riportare dei repository disabilitati oppure semplicemente per fornire informazioni all'utente.
}}}
Linea 91: Linea 141:
tipo posizione componenti
}}}

 * '''Tipo''', può essere:
tipo posizione rilascio componenti
}}}

 * '''Tipo''': indica il tipo di archivio che può essere:
Linea 97: Linea 146:
  * '''deb-src''': questi repository contengono il codice sorgente dei pacchetti e sono utili agli sviluppatori. Nell'esempio precedente, tutti i repository di questo tipo sono commentati '''#''', pertanto non vengono considerati.

 * '''Posizione''': è l'indirizzo a cui è reperibile il server o il supporto che ospita i pacchetti, ad esempio:

 
'''http://it.archive.ubuntu.com/ubuntu/''': l' '''URI''' (Uniform Resource Indentifier), in questo caso una posizione su internet.

 * '''Componenti''': possono essere diversi, e vanno separati l'uno dall'altro da uno spazio, ad esempio: {{{
  * '''deb-src''': questi repository contengono il codice sorgente dei pacchetti e sono utili agli sviluppatori. Nell'esempio precedente, tutti i repository di questo tipo sono commentati '''#''', pertanto non vengono considerati (impostazione consigliata per gli utenti comuni).

 * '''Posizione''': è l'indirizzo presso il quale è reperibile il server o il supporto che ospita i pacchetti. Ad esempio considerando l' '''URI''' (Uniform Resource Identifier) '''http://it.archive.ubuntu.com/ubuntu/''', risulta essere una posizione su Internet (in questo caso un URL, visitabile anche con un comune [[InternetRete/Navigazione#Browser_per_navigare|browser web]], tramite il quale è possibile navigare all'interno delle relative directory).

 * '''[[Rilasci|Rilascio]]''': indica la versione di Ubuntu, tramite il suo ''codename''; ad esempio ''focal'' si riferisce a Ubuntu 20.04 LTS «''Focal Fossa''». In alcuni casi può essere assente o avere un formato differente (ad esempio in alcuni repository non ufficiali).

 * '''[[Repository/
Componenti|Componenti]]''': possono essere diversi; vanno separati l'uno dall'altro da uno spazio, ad esempio: {{{
Linea 107: Linea 156:
 * Può inoltre essere presente l'identificativo del rilascio di Ubuntu per cui i pacchetti sono preparati, come ad esempio nel file sopraccitato '''xenial''', ma questa indicazione può mancare in alcuni repository non ufficiali.

= Abilitare i repository =
== Abilitare i repository ==
Linea 113: Linea 160:
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/etc/apt/sources.list`, quindi cancellare il simbolo hash '''#''' davanti alla riga di interesse.

 0. Salvare la modifica ed aggiornare l'elenco pacchetti, digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] il file `/etc/apt/sources.list`, quindi cancellare il simbolo hash '''#''' davanti alla riga di interesse.

 0. Salvare la modifica ed aggiornare l'elenco pacchetti, digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 120: Linea 167:
In caso di errori, invece, è possibile ripristinare la situazione precedente tramite il backup precedentemente creato, digitando quindi il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ In caso di errori, invece, è possibile ripristinare la situazione precedente tramite il backup precedentemente creato, digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 125: Linea 172:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Se si desidera abilitare solo un componente di quelli presenti nella riga interessata, omettere i componenti indesiderati. ||

= Aggiungere altri repository =

||<tablestyle
="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Si consiglia di prestare sempre la massima attenzione nella scelta di repository affidabili e compatibili per non compromettere la sicurezza e la stabilità del proprio sistema operativo.''' ||
{{{#!wiki tip
Se si desidera abilitare solo un componente di quelli presenti nella riga interessata, omettere i componenti indesiderati.}}}

== Aggiungere altri repository ==

{{{#!
wiki important
Si consiglia di prestare sempre la massima attenzione nella scelta di repository affidabili e compatibili per non compromettere la sicurezza e la stabilità del proprio sistema operativo.}}}
Linea 137: Linea 186:
 0. Digitare il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{  0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 140: Linea 189:
 verificando la presenza di eventuali file con estensione `.list`. Analogamente a `/etc/apt/sources.list`:
  *
è possibile visionarne il contenuto tramite il comando:{{{
 verificando la presenza di eventuali file con estensione `.list`. Analogamente a `/etc/apt/sources.list` è possibile visionare nel [[AmministrazioneSistema/Terminale|terminale]] il contenuto tramite il comando:{{{
Linea 144: Linea 192:
  * eventuali righe che iniziano con il simbolo '''#''' sono commentate e non vengono prese in considerazione.

== Repository di terze parti ==

 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/etc/apt/sources.list`;

{{{#!wiki note
Eventuali righe che iniziano con il simbolo '''#''' sono commentate e non vengono prese in considerazione.
}}}

=== Repository di terze parti ===

Per evitare modifiche accidentali indesiderate al file `/etc/apt/sources.list`, di norma vengono creati dei file dedicati, con estensione `.list` e all'interno di `/etc/apt/sources.list.d/`. Utilizzare la seguente procedura:

 0. Aprire un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e scrivere il repository desiderato;
 0. Salvare il file all'interno della cartella `/etc/apt/sources.list.d/` indicando come estensione `.list` (ad esempio `virtualbox.list`);
 0. Aggiornare la lista dei repository, digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
sudo apt update
}}}

Tuttavia, anche se generalmente sconsigliato, è in alternativa possibile modificare direttamente il file `/etc/apt/sources.list`:

 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] il file `/etc/apt/sources.list`;
Linea 154: Linea 215:
Tuttavia, per evitare modifiche accidentali indesiderate al file `/etc/apt/sources.list`, si consiglia di utilizzare la seguente procedura alternativa:
 0. Aprire un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e scrivere il repository desiderato;
 0. Salvare il file all'interno della cartella `/etc/apt/sources.list.d/` indicando come estensione `.list` (ad esempio `virtualbox.list`);
 0. Aggiornare la lista dei repository, digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]:
{{{
sudo apt update
}}}

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Solitamente alcuni programmi installabili [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|tramite pacchetto debian]] (quali '''[[InternetRete/Navigazione/GoogleChrome|GoogleChrome]]''', '''[[InternetRete/Navigazione/Opera|Opera]]''', '''[[InternetRete/Telefonia/Skype#Skype_for_Linux|Skype]]''' ed altri) provvedono automaticamente a generare un file relativo al proprio repository all'interno della cartella `/etc/apt/sources.list.d/`. ||
{{{#!wiki note
Per Ubuntu 22.04 e successivi si raccomanda di consultare questa [[Repository/GestioneRepositoryTerzeParti|guida]].
}}}

{{{#!wiki tip
Solitamente alcuni programmi installabili [[AmministrazioneSistema/InstallareProgrammi/PacchettiDebian|tramite pacchetto debian]] (quali '''[[InternetRete/Navigazione/GoogleChrome|GoogleChrome]]''', '''[[InternetRete/Navigazione/Opera|Opera]]''', '''[[InternetRete/Telefonia/Skype#Skype_for_Linux|Skype]]''' e altri) provvedono automaticamente a generare un file relativo al proprio repository all'interno della cartella `/etc/apt/sources.list.d/`.
}}}
Linea 164: Linea 224:
== Aggiungere repository launchpad ==

Se il repository si trova sulla piattaforma [[https://launchpad.net/|Launchpad]] è possibile seguire una procedura automatizzata:
=== Aggiungere repository launchpad ===

Se il repository si trova sulla piattaforma [[https://launchpad.net/|Launchpad]] ed è distribuito sotto forma di '''PPA''' ('''Personal Package Archive'''), allora è possibile eseguire una procedura automatizzata:
Linea 173: Linea 233:
 0. Se in uso Ubuntu 16.04 o precedente, aggiornare la lista dei repository digitando il seguente comando nel [[AmministrazioneSistema/Terminale|terminale]]: {{{
sudo apt update
}}}
 Al contrario, su Ubuntu 18.04 l'update non sarà necessario (verrà eseguito automaticamente).
 0. Aggiornamento della lista dei repository, digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
sudo apt update
}}}
Linea 181: Linea 240:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Solitamente sulle pagine della piattaforma [[https://launchpad.net/|launchpad]] sono riportate istruzioni relative comandi da eseguire da [[AmministrazioneSistema/Terminale|terminale]]. ||

= Abilitare automaticamente tutti i repository =

||<tablestyle
="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/warning.png,,center)>> ||<style="padding:0.5em; border:none;">'''Questo comando è destinato all'utilizzo di utenti esperti in quanto potrebbe rendere inutilizzabile il proprio file `sources.list` in caso di repository doppi.''' ||
{{{#!wiki tip
Solitamente sulle pagine della piattaforma [[https://launchpad.net/|launchpad]] sono riportate istruzioni relative comandi da eseguire da [[AmministrazioneSistema/Terminale|terminale]].}}}

=
= Abilitare automaticamente tutti i repository ==

{{{#!
wiki important
Questo comando è destinato all'utilizzo di utenti esperti in quanto potrebbe rendere inutilizzabile il proprio file `sources.list` in caso di repository doppi.
}}}
Linea 191: Linea 253:
sudo apt-get update
}}}

= Gestire le chiavi GPG =

Le chiavi di autenticazione sono fornite dal manutentore del repository. Solitamente vengono pubblicate all'interno di un server pubblico per la gestione delle chiavi come `www.keyserver.net`.

Può accadere che l'azione di aggiornamento della lista pacchetti eseguita con il comando: {{{
sudo apt-get update
}}}
restituisca un errore simile al seguente: {{{
W: Errore GPG: http://xxxxxx.xxxxxx.xx xxxx Release: Le seguenti firme non sono state verificate perché la chiave pubblica non è disponibile: NO_PUBKEY XYXYXYXYXYXYXY
W: È consigliabile eseguire apt-get update per correggere questi problemi
}}}

In tal caso è necessario aggiungere le chiavi di sicurezza del repository indicato dall'errore.

 0. Digitare il seguente comando in un [[AmministrazioneSistema/Terminale| terminale]]:{{{
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com CHIAVE
}}}
 sostituendo la dicitura «`CHIAVE`» con il numero della chiave pubblica che compare nell'errore.
 0. Controllare che l'inserimento della chiave sia avvenuto correttamente, digitando il seguente comando in un [[AmministrazioneSistema/Terminale| terminale]]:{{{
sudo apt-get update
}}}
sudo apt update
}}}

= Risoluzioni problemi =

In caso di errori durante l'[[AmministrazioneSistema/InstallareProgrammi/Apt#update|aggiornamento]] della lista pacchetti, consultare [[AmministrazioneSistema/Aggiornamenti/RisoluzioneProblemi|questa pagina]] per risolvere.


Guida verificata con Ubuntu: 20.04 22.04 23.10 24.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa pagina descrive come gestire i repository tramite riga di comando ed editor di testo senza utilizzare gli specific programmi a interfaccia grafica. Il vantaggio sta nel fatto che le informazioni qui riportate risultano utili in qualsiasi delle versioni di Ubuntu esistenti, indipendentemente dall'ambiante grafico utilizzato.

Se invece si desidera utilizzare gli strumenti specifici della propria distribuzione, leggere le seguenti guide:

Ubuntu 24.04 e successivi

A partire da Ubuntu 24.04 il principale file di configurazione è /etc/apt/sources.list.d/ubuntu.sources e questo è il suo contenuto subito dopo l'installazione:

  • Types: deb
    URIs: http://archive.ubuntu.com/ubuntu/
    Suites: noble
    Components: main restricted universe multiverse
    Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
    
    Types: deb
    URIs: http://security.ubuntu.com/ubuntu/
    Suites: noble-security
    Components: multiverse main universe restricted
    Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
  • Types: definisce il tipo di pacchetto ospitato nel reopository:

    • deb per i pacchetti precompilati;

    • deb-src per il codice sorgente.

  • URIs: indirizzo del server.

  • Suites: definisce la tipologia dei pacchetti in base al ciclo di rilascio. Ogni versione di Ubuntu ha un nome in codice, ad esempio Noble Numbat nel caso della 24.04. Viene quindi presa la prima parte del nome numbat e quindi verranno fatte le seguenti classificazioni:

    • noble: pacchetti presenti al rilascio della nuova versione di Unbuntu;

    • noble-updates: contengono aggiornamenti dei pacchetti;

    • noble-backports: offrono ulteriori aggiornamenti che arrivano da versione successive di Ubuntu;

    • noble-security: aggiornamenti che risolvono bug di siscurezza.

  • Components: ulteriore classificazione in main, restricted, universe, multiverse vedi guida

  • Signed-By: chiave pubblica per verificare l'autenticità dei pacchetti.

Aggiungere repository

I file relativi a eventuali repository esterni verranno ancora salvati nella directory /etc/apt/sources.list.d e le procedure esistenti rimangono pressoché invariate.

Se si intende utilizzare un PPA vale quanto riportato nel paragrafo dedicato. Supponendo ad esempio di voler installare Firefox Beta, alla fine della procedura verrà creato il file mozillateam-ubuntu-firefox-next-noble.sources con il seguente contenuto:

  • Types: deb
    URIs: https://ppa.launchpadcontent.net/mozillateam/firefox-next/ubuntu/
    Suites: noble
    Components: main
    Signed-By: 
     -----BEGIN PGP PUBLIC KEY BLOCK-----
     .
     mI0ESXMwOwEEAL7    "segue lungo codice alfa-numerico"
    
     -----END PGP PUBLIC KEY BLOCK-----

Da notare che sarà ancora valido il formato .list pertanto per il software ospitato al di fuori di Launchpad vale quanto descritto nella pagina gestione repository terze parti.

Versioni di Ubuntu fino alla 23.10

Informazioni preliminari

Apt è il programma che gestisce l'installazione dei pacchetti e la lista dei repository. Il file che contiene tale elenco è /etc/apt/sources.list e tramite la modifica di questo file è possibile aggiungere, rimuovere o disabilitare i repository.

Anche se Ubuntu conserva di default una copia del file sources.list, è buona norma creare una copia di backup del file prima di modificarlo, in modo tale da poterlo ripristinare in caso di problemi.
Digitare nel terminale il seguente comando:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

Descrizione del file sources.list

Il file /etc/apt/sources.list è sostanzialmente un file di testo che contiene i dettagli relativi ai repository in uso.
Per controllare la validità del proprio file sources.list senza modificarlo, è possibile prenderne visione nel terminale con il seguente comando:

cat /etc/apt/sources.list

Prendendo come esempio il caso di un sistema Ubuntu 22.04 LTS, il contenuto dovrebbe essere simile al seguente:

# deb cdrom:[Ubuntu 22.04.3 LTS _Jammy Jellyfish_ - Release amd64 (20230807.2)]/ jammy main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://it.archive.ubuntu.com/ubuntu/ jammy main restricted
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://it.archive.ubuntu.com/ubuntu/ jammy-updates main restricted
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://it.archive.ubuntu.com/ubuntu/ jammy universe
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy universe
deb http://it.archive.ubuntu.com/ubuntu/ jammy-updates universe
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://it.archive.ubuntu.com/ubuntu/ jammy multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy multiverse
deb http://it.archive.ubuntu.com/ubuntu/ jammy-updates multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://it.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src http://it.archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu jammy-security main restricted
# deb-src http://security.ubuntu.com/ubuntu jammy-security main restricted
deb http://security.ubuntu.com/ubuntu jammy-security universe
# deb-src http://security.ubuntu.com/ubuntu jammy-security universe
deb http://security.ubuntu.com/ubuntu jammy-security multiverse
# deb-src http://security.ubuntu.com/ubuntu jammy-security multiverse

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

Ogni singola riga indica un diverso repository.
Le righe che iniziano con uno o due caratteri hash «#» sono commentate e non influiscono in alcun modo sull'operato del proprio gestore di pacchetti. Vengono utilizzate per riportare dei repository disabilitati oppure semplicemente per fornire informazioni all'utente.

I repository vengono indicati con la seguente struttura:

tipo posizione rilascio componenti
  • Tipo: indica il tipo di archivio che può essere:

    • deb: questi repository contengono pacchetti binari o precompilati. Sono indicati per la maggior parte degli utenti.

    • deb-src: questi repository contengono il codice sorgente dei pacchetti e sono utili agli sviluppatori. Nell'esempio precedente, tutti i repository di questo tipo sono commentati #, pertanto non vengono considerati (impostazione consigliata per gli utenti comuni).

  • Posizione: è l'indirizzo presso il quale è reperibile il server o il supporto che ospita i pacchetti. Ad esempio considerando l' URI (Uniform Resource Identifier) http://it.archive.ubuntu.com/ubuntu/, risulta essere una posizione su Internet (in questo caso un URL, visitabile anche con un comune browser web, tramite il quale è possibile navigare all'interno delle relative directory).

  • Rilascio: indica la versione di Ubuntu, tramite il suo codename; ad esempio focal si riferisce a Ubuntu 20.04 LTS «Focal Fossa». In alcuni casi può essere assente o avere un formato differente (ad esempio in alcuni repository non ufficiali).

  • Componenti: possono essere diversi; vanno separati l'uno dall'altro da uno spazio, ad esempio:

    main universe multiverse

Abilitare i repository

Per abilitare un repository procedere come segue:

  1. Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/apt/sources.list, quindi cancellare il simbolo hash # davanti alla riga di interesse.

  2. Salvare la modifica ed aggiornare l'elenco pacchetti, digitando nel terminale il seguente comando:

    sudo apt update
    Se non si ricevono errori, l'operazione è andata a buon fine.

In caso di errori, invece, è possibile ripristinare la situazione precedente tramite il backup precedentemente creato, digitando nel terminale il seguente comando:

sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
sudo apt update

Se si desidera abilitare solo un componente di quelli presenti nella riga interessata, omettere i componenti indesiderati.

Aggiungere altri repository

Si consiglia di prestare sempre la massima attenzione nella scelta di repository affidabili e compatibili per non compromettere la sicurezza e la stabilità del proprio sistema operativo.

Possono esserci diverse ragioni per aggiungere dei repository non ufficiali alla propria lista. Ad esempio si può avere bisogno di programmi non presenti nei repository ufficiali o disponibili in questi ultimi soltanto in versioni non aggiornate, oppure di software vincolati da licenze e/o brevetti ecc.

A tal fine seguire le procedure indicate di seguito.
Dopo tali procedure sarà possibile installare o aggiornare da altri repository il software desiderato.

Per controllare se siano già presenti repository esterni:

  1. Visionare il file /etc/apt/sources.list come indicato nel precedente paragrafo, verificando che non siano presenti ulteriori righe oltre quelle relative ai repository ufficiali.

  2. Digitare nel terminale il seguente comando:

    ls /etc/apt/sources.list.d

    verificando la presenza di eventuali file con estensione .list. Analogamente a /etc/apt/sources.list è possibile visionare nel terminale il contenuto tramite il comando:

    cat /etc/apt/sources.list.d/nome_file.list

Eventuali righe che iniziano con il simbolo # sono commentate e non vengono prese in considerazione.

Repository di terze parti

Per evitare modifiche accidentali indesiderate al file /etc/apt/sources.list, di norma vengono creati dei file dedicati, con estensione .list e all'interno di /etc/apt/sources.list.d/. Utilizzare la seguente procedura:

  1. Aprire un editor di testo con i privilegi di amministrazione e scrivere il repository desiderato;

  2. Salvare il file all'interno della cartella /etc/apt/sources.list.d/ indicando come estensione .list (ad esempio virtualbox.list);

  3. Aggiornare la lista dei repository, digitando il seguente comando nel terminale:

    sudo apt update

Tuttavia, anche se generalmente sconsigliato, è in alternativa possibile modificare direttamente il file /etc/apt/sources.list:

  1. Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/apt/sources.list;

  2. Inserire a fondo pagina il repository desiderato, quindi salvare il file;
  3. Aggiornare la lista dei repository, digitando il seguente comando nel terminale:

    sudo apt update

Per Ubuntu 22.04 e successivi si raccomanda di consultare questa guida.

Solitamente alcuni programmi installabili tramite pacchetto debian (quali GoogleChrome, Opera, Skype e altri) provvedono automaticamente a generare un file relativo al proprio repository all'interno della cartella /etc/apt/sources.list.d/.

Aggiungere repository launchpad

Se il repository si trova sulla piattaforma Launchpad ed è distribuito sotto forma di PPA (Personal Package Archive), allora è possibile eseguire una procedura automatizzata:

  1. Solo se si è su sistema minimale, installare il pacchetto software-properties-common.

  2. Digitare nel terminale un comando che abbia la seguente sintassi:

    sudo add-apt-repository ppa:utente/nome-ppa

    avendo cura di sostituire «utente» con il nome del profilo launchpad del manutentore del repository e «nome-ppa» con il nome del repository (ad esempio ppa:libreoffice/ppa);

  3. Aggiornamento della lista dei repository, digitando nel terminale il comando:

    sudo apt update

Se la procedura è andata a buon fine, il repository launchpad verrà salvato in un file aggiuntivo all'interno della cartella /etc/apt/sources.list.d/.
Per annullare le modifiche effettuate tramite questa procedura, è possibile seguire le istruzioni di questa guida.

Solitamente sulle pagine della piattaforma launchpad sono riportate istruzioni relative comandi da eseguire da terminale.

Abilitare automaticamente tutti i repository

Questo comando è destinato all'utilizzo di utenti esperti in quanto potrebbe rendere inutilizzabile il proprio file sources.list in caso di repository doppi.

È possibile abilitare automaticamente tutti i repository presenti nel sources.list togliendo tutti i caratteri hash «#» seguiti dal termine deb digitando:

sudo sed -i -e "s/# deb/deb/g" /etc/apt/sources.list

e aggiornare quindi la lista dei pacchetti:

sudo apt update

Risoluzioni problemi

In caso di errori durante l'aggiornamento della lista pacchetti, consultare questa pagina per risolvere.

Ulteriori risorse


CategoryAmministrazione