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.
Mentre ci sono migliaia di applicazioni disponibili nei repository Ubuntu predefiniti, a volte potrebbe essere necessario installare software da un repository di terze parti.
In questo tutorial, ti mostreremo 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.
Fonti 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
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 di origine. - La seconda voce è l'URL del repository.
- La terza voce specifica il nome del codice di distribuzione, come beaver, xenial e così via.
- Le ultime voci sono i componenti o le categorie del repository. I repository Ubuntu predefiniti sono suddivisi in quattro componenti: main, restricted, universe e 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.
Installare add-apt-repository
add-apt-repository
è uno script Python che consente di aggiungere un repository APT al file /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'utilità 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 voce di repository regolare 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
digita il seguente comando:
man add-apt-repository
Per impostazione predefinita, su Ubuntu 18.04 e versioni successive add-apt-repository
aggiornerà anche l'indice del pacchetto se viene importata la chiave pubblica del repository.
L'indice dei pacchetti è un database che contiene i record dei pacchetti disponibili dai repository abilitati nel sistema.
Supponiamo che tu voglia installare MongoDB dai loro repository ufficiali.
Innanzitutto importare 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 [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Il repository verrà aggiunto al file sources.list
.
Ora puoi installare uno qualsiasi dei pacchetti 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 [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Aggiugere un 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 il PPA di Jonathon F che fornisce FFmpeg versione 4.x dovresti eseguire:
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
Quando richiesto, premere Enter
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:
sudo apt install ffmpeg
Il comando apt
installerà il pacchetto e tutte le sue dipendenze.
Aggiungere un repository manualmente
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 la dimostrazione, abiliteremo il repository CouchDB e installeremo il software. CouchDB è un database NoSQL gratuito e open source con tolleranza agli errori gestito da Apache Software Foundation.
Per aggiungere il repository aprire il file sources.list
con l'editor di testo:
sudo nano /etc/apt/sources.list
Aggiungi la riga 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 è possibile utilizzare il comando seguente per aggiungere la riga 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. Ad esempio, se si dispone di Ubuntu versione 18.04 il comando verrà stampato bionic
.
Un'altra opzione è quella di creare un nuovo file 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 usa wget
o curl
:
curl -L https://couchdb.apache.org/repo/bintray-pubkey.asc | sudo apt-key add -
Il comando sopra dovrebbe generare 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 repository appena aggiunto, è necessario aggiornare l'indice dei pacchetti:
sudo apt update
Una volta aggiornato l'indice dei pacchetti, è possibile installare i pacchetti dal repository appena aggiunto:
sudo apt install couchdb
Conclusione
Ti abbiamo mostrato come aggiungere repository apt in Ubuntu. Le stesse istruzioni si applicano a qualsiasi distribuzione basata su Debian, inclusi Kubuntu, Linux Mint e Elementary OS.