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.