Guida verificata con Ubuntu: 20.04 22.04 24.04 24.10
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 22.04
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:
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.
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:
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.
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:
Aprire un editor di testo con i privilegi di amministrazione e scrivere il repository desiderato;
Salvare il file all'interno della cartella /etc/apt/sources.list.d/ indicando come estensione .list (ad esempio virtualbox.list);
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:
Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/apt/sources.list;
- Inserire a fondo pagina il repository desiderato, quindi salvare il file;
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:
Solo se si è su sistema minimale, installare il pacchetto software-properties-common.
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);
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.