Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


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:

  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