Questo è un semplice tutorial che mostra come impostare la priorità di un determinato pacchetto e/o repository apt in Ubuntu, Debian, Linux Mint.
In Ubuntu, installiamo pacchetti software da diverse fonti, inclusi i repository dell'universo Ubuntu (utilizzando il software Ubuntu), i PPA di Ubuntu (ad es. LibreOffice, Kodi, GIMP e altro), i repository apt delle app (ad es. Chrome, VirtualBox, Opera, e altro).
Possiamo anche installare app da altre distribuzioni Linux. Ad esempio, è possibile installare il lettore IPTV di Linux Mint, Web App Manager e Chromium Browser (in formato deb) in Ubuntu.
Perché impostare la priorità:
Tuttavia, l'installazione da fonti software miste può causare le seguenti domande:
- Blocca un pacchetto nella versione specificata.
- Più repository hanno lo stesso pacchetto, ma desideri installare o ricevere aggiornamenti del pacchetto da un determinato repository.
- Installa solo uno o due pacchetti dal repository, ma rifiuta tutti gli altri.
Crea e imposta la priorità del pacchetto:
Aggiungendo un file di regole nella directory /etc/apt/preferences.d/ e fissando una priorità si risolveranno i problemi.
Basta aprire il terminale dal programma di avvio delle app di sistema ed eseguire il comando per creare e modificare un file di configurazione (sostituire gedit con un altro sistema):
sudo gedit /etc/apt/preferences.d/99mint-repository
Nel caso, ho creato un 99mint-repository
file e aggiunto le seguenti righe:
# Allow upgrading only webapp-manager from Ulyssa repository Package: webapp-manager Pin: release n=ulyana Pin-Priority: 500 # Also allow upgrading chromium (Added by another post). Package: chromium Pin: release n=ulyana Pin-Priority: 500 # Never prefer other packages from the Ulyssa repository Package: * Pin: release n=ulyana Pin-Priority: 1
Come puoi vedere, ogni voce ha 3 righe (escludere la riga descrittiva che inizia con # all'inizio) e separate da una riga vuota.
Le tre righe iniziavano con Package:all'inizio specificavano i pacchetti:“webapp-manager”, “chromium” e “*” (tutto).
Informazioni sulla riga "Pin:":
La seconda riga specifica la definizione del pin. Può essere Pin:versione 1.0.99*, il “*” è un “carattere jolly”, che indica il pacchetto con tutte le versioni che iniziano con 1.0.99.
Puoi anche utilizzare release o origin per l'origine del pacchetto specificata. Ad esempio:
Pin: release o=LP-PPA-team-xbmc
Pin: release l=linuxmint
Pin: origin packages.linuxmint.com
I parametri per il rilascio sono:a (archivio), c (componenti), v (versione), o (origine) e l (etichetta).
E puoi scoprire i valori per release e origin eseguendo il comando:
apt-cache policy |more
Informazioni sul numero di Pin-Priorità:
Il valore della terza riga può essere impostato su:
- 1000 o superiore. Installa una versione dalla versione di destinazione anche se sostituisce (downgrade) un pacchetto installato con una versione successiva.
- Da 990 a 999. Installa una versione anche se non proviene dalla versione di destinazione, a meno che la versione installata non sia più recente.
- Da 500 a 899. Installa una versione a meno che non sia disponibile una versione appartenente alla versione di destinazione o la versione installata non sia più recente.
- Da 100 a 499. Installa una versione a meno che non sia disponibile una versione appartenente a un'altra distribuzione o la versione installata non sia più recente.
- Da 1 a 99. Installa una versione solo se non è presente una versione installata del pacchetto.
- -1 o inferiore. Impedisci l'installazione della versione
Dopo aver impostato il file di configurazione, aggiorna la cache del pacchetto di sistema tramite sudo apt update
comando e fatto.
Articolo originale