Quando si installano pacchetti utilizzando l’Ubuntu Software Center o le utilità a 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 che sono leggibili dagli strumenti APT.
Mentre ci sono migliaia di applicazioni disponibili nei repository di default di Ubuntu, a volte potrebbe essere necessario installare software da un repository di terze parti.
In questo tutorial, vi mostreremo due modi per aggiungere un repository apt sui sistemi Ubuntu e Debian. Il primo metodo è utilizzando il comando add-apt-repository
e il secondo è quello di aggiungere manualmente il repository utilizzando un editor di testo.
Sorgenti apt #
Su Ubuntu e tutte le altre distribuzioni basate su Debian, i repository software apt sono definiti nel file /etc/apt/sources.list
o in file separati sotto la directory /etc/apt/sources.list.d/
.
I nomi dei file del repository all’interno della directory /etc/apt/sources.list.d/
devono finire con .list
.
La sintassi generale del file /etc/apt/sources.list
ha il seguente formato:
deb http://repo.tld/ubuntu distro component...
- La prima voce della 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 sorgente. - La seconda voce è l’URL del repository.
- La terza voce specifica il nome in codice della distribuzione, come beaver, xenial e così via.
- Le ultime voci sono i componenti del repository o categorie. I repository di default di Ubuntu sono divisi in quattro componenti – main, restricted, universe e multiverse. Generalmente, i repository di terze parti hanno solo una categoria.
Il formato dei file sotto la directory /etc/apt/sources.list.d/
è lo stesso del normale 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 essere loggati come utenti con accesso sudo o come root.
Di solito, le istruzioni su come abilitare un certo repository sono incluse nella documentazione del software.
Installazione di add-apt-repository (comando add-apt-repository non trovato) #
add-apt-repository
è uno script Python che permette di aggiungere un repository APT a /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 il add-apt-repository
non è disponibile sul tuo sistema otterrai un messaggio di errore che dice “add-apt-repository command not found”.
L’utilità add-apt-repository
è inclusa nel pacchetto software-properties-common
. Per installarla eseguire i seguenti comandi:
sudo apt update
sudo apt install software-properties-common
Aggiungere repository con add-apt-repository #
La sintassi di base del comando add-apt-repository
è la seguente:
add-apt-repository repository
dove repository
può essere sia una voce di repository regolare che può essere aggiunta al file sources.list
come 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
digitate man add-apt-repository
nel vostro terminale.
Di default, su ubuntu 18.04 e successive il comando add-apt-repository
aggiornerà anche l’indice dei pacchetti se la chiave pubblica del repository viene importata.
L’indice dei pacchetti è un database che contiene i record dei pacchetti disponibili dai repository abilitati nel vostro sistema.
Diciamo che vuoi installare MongoDB dai loro repository ufficiali.
Prima importa la chiave pubblica del repository:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Aggiungi il repository MongoDB usando il comando seguente.
sudo add-apt-repository 'deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Il repository sarà aggiunto al file sources.list
.
È ora possibile installare qualsiasi pacchetto dal repository appena abilitato:
sudo apt install mongodb-org
Se per qualsiasi motivo si desidera rimuovere un repository precedentemente abilitato, utilizzare l’opzione --remove
:
sudo add-apt-repository --remove 'deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Aggiungere repository PPA #
Personal Package Archives (PPA) è un servizio che permette agli utenti di caricare i pacchetti sorgente di Ubuntu che sono costruiti e pubblicati con Launchpad come repository apt.
Quando si aggiunge un repository PPA il comando add-apt-repository
crea un nuovo file sotto la directory /etc/apt/sources.list.d/
.
Ad esempio, per aggiungere il PPA di Jonathon F che fornisce FFmpegversion 4..x si dovrebbe eseguire:
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
Quando viene richiesto di premere Enter
e il repository verrà abilitato.
Press to continue or Ctrl-c to cancel adding it.
La chiave pubblica del repository PPA verrà scaricata e registrata automaticamente.
Una volta che il PPA è aggiunto al vostro sistema potete installare i pacchetti del repository:
sudo apt install ffmpeg
Il comando apt
installerà il pacchetto e tutte le sue dipendenze.
Aggiungi manualmente i repository #
Se vuoi avere più controllo su come sono organizzate le tue fonti puoi modificare manualmente il file /etc/apt/sources.list
e aggiungere la linea apt repository al file.
Per dimostrazione, attiveremo il repository CouchDB e installeremo il software. CouchDB è un database NoSQL libero e open-source fault-tolerant mantenuto dalla Apache Software Foundation.
Per aggiungere il repository aprite il file sources.list
con il vostro editor di testo:
sudo nano /etc/apt/sources.list
Aggiungi la linea del repository alla fine del file:
deb https://apache.bintray.com/couchdb-deb bionic main
Invece di modificare il file con un editor di testo si può usare il seguente comando per aggiungere la linea del repository al file sources.list
:
echo "deb https://apache.bintray.com/couchdb-deb $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list
$(lsb_release -cs)
stamperà il nome in codice di Ubuntu. Per esempio, se avete Ubuntu versione 18.04 il comando stamperà bionic
.
Un’altra opzione è quella di creare un nuovo file di repository sotto la directory /etc/apt/sources.list.d/
.
Quando si configura manualmente un repository è anche necessario importare manualmente la chiave pubblica del repository sul vostro sistema. Per farlo usate wget
o curl
:
curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -
Il comando sopra dovrebbe produrre OK
che significa che la chiave GPG è stata importata con successo e i pacchetti da questo repository saranno considerati affidabili.
Prima di installare i pacchetti dal nuovo repository aggiunto è necessario aggiornare l’indice dei pacchetti:
sudo apt update
Una volta aggiornato l’indice dei pacchetti è possibile installare i pacchetti dal nuovo repository aggiunto:
sudo apt install couchdb
Conclusione #
Vi abbiamo mostrato come aggiungere repository apt in Ubuntu. Le stesse istruzioni valgono per qualsiasi distribuzione basata su Debian, comprese Kubuntu, Linux Mint e Elementary OS.