Introduzione

Quando si installano i pacchetti utilizzando Ubuntu Software Center o le utilità della riga di comando come apt o apt-get i pacchetti vengono scaricati da uno o più repository software apt. Un repository APT è un server di rete o una directory locale contenente pacchetti deb e file di metadati leggibili dagli strumenti APT.

Esistono migliaia di applicazioni disponibili nei repository Ubuntu predefiniti, a volte potrebbe essere necessario installare software da un repository di terze parti.

In questo tutorial vedremo due modi per aggiungere un repository apt su sistemi Ubuntu e Debian. Il primo metodo consiste nell'utilizzare il comando add-apt-repository e il secondo è aggiungere manualmente il repository utilizzando un editor di testo.

Come aggiungere i repository APT

Su Ubuntu e su tutte le altre distribuzioni basate su Debian, i repository software apt sono definiti nel file /etc/apt/sources.list o in file separati nella directory /etc/apt/sources.list.d/.

I nomi dei file del repository all'interno della directory /etc/apt/sources.list.d/ devono terminare con .list.

La sintassi generale del file /etc/apt/sources.list.d/ assume il seguente formato:

deb http://repo.tld/ubuntu distro component
  • La prima voce nella riga definisce il tipo di archivio. Il tipo di archivio può essere deb o deb-src . Deb implica che il repository contiene pacchetti deb  mentre deb-src implica pacchetti source.
  • La seconda voce è l'URL del repository.
  • La terza voce specifica il nome del codice di distribuzione, come beaver, xenial etc.
  • Le ultime voci sono i componenti o le categorie del repository. I repository Ubuntu predefiniti sono suddivisi in quattro componenti: main, restricted, universe and multiverse. In genere, i repository di terze parti hanno solo una categoria.

Il formato per i file nella directory /etc/apt/sources.list.d/ è lo stesso del file sources.list.

La maggior parte dei repository fornisce una chiave pubblica per autenticare i pacchetti scaricati che devono essere scaricati e importati.

Per poter aggiungere o rimuovere un repository è necessario aver effettuato l'accesso come utente con accesso sudo o root.

Di solito, le istruzioni su come abilitare un determinato repository sono incluse nella documentazione del software.

Installazione add-apt-repository

add-apt-repository è uno script Python che consente di aggiungere un repository APT ad  /etc/apt/sources.list o a un file separato nella directory /etc/apt/sources.list.d . Il comando può anche essere usato per rimuovere un repository già esistente.

Se add-apt-repository non è disponibile sul tuo sistema riceverai un messaggio di errore che dice "add-apt-repository command not found".

L' utility add-apt-repository è inclusa nel pacchetto software-properties-common. Per installarlo esegui i seguenti comandi:

sudo apt update
sudo apt install software-properties-common

Aggiungere un repository con add-apt-repository

La sintassi di base del comando add-apt-repository è la seguente:

add-apt-repository [options] repository

Dove repository può essere una normale voce di repository che può essere aggiunta al file sources.list simile a deb http://repo.tld/ubuntu distro component o un repository PPA nel formato ppa:<user>/<ppa-name>.

Per vedere tutte le opzioni disponibili del comando add-apt-repository:

man add-apt-repository

Per impostazione predefinita, su Ubuntu 18.04 e successivi add-apt-repository aggiornerà anche l'indice dei pacchetti se viene importata la chiave pubblica del repository.

L'indice dei pacchetti è un database che contiene i record dei pacchetti disponibili nei repository abilitati nel sistema.

Aggiungere repository PPA

Personal Package Archives (PPA) è un servizio che consente agli utenti di caricare pacchetti sorgente Ubuntu creati e pubblicati con Launchpad come repository apt.

Quando si aggiunge un repository PPA il comando add-apt-repository crea un nuovo file nella directory /etc/apt/sources.list.d.

Ad esempio, per aggiungere un repository PPA di esempio dovresti eseguire:

sudo add-apt-repository ppa:nome_utente/nome_ppa

Quando richiesto, premere INVIO e il repository verrà abilitato.

Press [ENTER] to continue or Ctrl-c to cancel adding it.

La chiave pubblica del repository PPA verrà automaticamente scaricata e registrata. Una volta aggiunto il PPA al sistema è possibile installare i pacchetti del repository.

Aggiungere manualmente il repository

Se si desidera avere un maggiore controllo sull'organizzazione delle origini, è possibile modificare manualmente il file /etc/apt/sources.list e aggiungere la riga del repository apt al file.

Per aggiungere un repository manualmente aprire il file sources.list con un editor di testo:

sudo nano /etc/apt/sources.list

Aggiungi la riga del repository alla fine del file:

deb https://LINK_REPOSITORY bionic main

Invece di modificare il file con un editor di testo è possibile utilizzare il comando seguente per aggiungere la riga del repository al file sources.list:

echo "deb https://LINK_REPOSITORY $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list

$(lsb_release -cs) stamperà il nome in codice di Ubuntu. Ad esempio, se si dispone di Ubuntu 18.04 verrà stampato bionic.

Un'altra opzione è quella di creare un nuovo file di repository nella directory /etc/apt/sources.list.d.

Quando si configura manualmente un repository, è inoltre necessario importare manualmente la chiave del repository pubblico nel proprio sistema. Per farlo, utilizzare wget o curl:

curl -L https://LINK_REPOSITORY/repo/pubkey.asc | sudo apt-key add -

Il comando sopra dovrebbe generare come output "OK" che significa che la chiave GPG è stata importata con successo e i pacchetti di questo repository saranno considerati affidabili.

Prima di installare i pacchetti del repository appena aggiunto è necessario aggiornare l'indice dei pacchetti:

sudo apt update

Una volta aggiornato l'indice dei pacchetti, è possibile installare i pacchetti del repository appena aggiunto:

sudo apt install nome_pacchetto

Conclusione

In questo tutorial abbiamo visto come aggiungere repository apt su Ubuntu. Le stesse istruzioni si applicano a qualsiasi distribuzione basata su Debian, inclusi Kubuntu, Linux Mint e Elementary OS.