Assegna una priorità maggiore a PPA


13

Sto cercando di capire come assegnare una priorità più alta a un PPA rispetto a un altro PPA. Ho dato un'occhiata a un sacco di risposte su questo forum, ma nessuna di esse risolve il mio problema.

Abbiamo due fonti PPA su alcuni dei nostri server in cui restiamo in file separati /etc/apt/sources.list.d. Alcuni di questi repository forniscono gli stessi pacchetti (in termini di nomi) ma versioni diverse e possibilmente binari diversi. C'è un modo in cui possiamo PRIORITIZZARE un repo su un altro?

Ho letto il tutorial di apt_preferences ma non potrebbe essere più oscuro e non ho trovato le risposte alla mia domanda. Ecco la situazione Abbiamo le seguenti fonti:

$ ls -l /etc/apt/sources.list.d 
total 12
-rw-r--r-- 1 root root 66 Jan  2 16:50 nginx-source.list
-rw-r--r-- 1 root root 84 Jan  2 16:49 ruby-ng-experimental-source.list

dove il nginx-source.listcontenuto è:

deb     http://ppa.launchpad.net/nginx/stable/ubuntu precise main

e il ruby-ng-experimental-source.listcontenuto è:

deb     http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main

Entrambe queste fonti forniscono un pacchetto completo di nginx di diverse versioni ecc. Quando elenco le priorità ruby-ng-sperimentale-source.list è in cima all'output, quindi nginx-full è installato da quel repository:

$ apt-cache policy nginx-full                                 
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Version table:
     1:1.2.6-1~43~precise1 0
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 0
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 0
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 0
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

Come posso dare la priorità ai repository elencati in nginx-source.list rispetto a quello che è in cima alla lista ora? Ho provato qualcosa del genere:

$ cat /etc/apt/preferences
Package: nginx-full
Pin: origin http://ppa.launchpad.net/nginx/stable/ubuntu
Pin-Priority: 1000

Package: nginx-full
Pin: origin http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu
Pin-Priority: 100

Ma questo ha cambiato le priorità di entrambe le fonti allo stesso numero - o qualcosa del genere? Quindi questo NON ha cambiato le priorità e nginx-full è ancora installato dal PPA del brightbox

$ apt-cache policy nginx-full  
nginx-full:
  Installed: 1:1.2.3-1~38~precise1
  Candidate: 1:1.2.6-1~43~precise1
  Package pin: (not found)
  Version table:
     1:1.2.6-1~43~precise1 1000
        500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
 *** 1:1.2.3-1~38~precise1 1000
        100 /var/lib/dpkg/status
     1.4.1-1ppa0~precise 1000
        500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
     1.1.19-1ubuntu0.1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
     1.1.19-1 1000
        500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages

Qualcuno ha idea di come ottenere ciò che sto cercando di fare?

Risposte:


15

Ecco un esempio di /etc/apt/preferences

mint@mint ~ $ cat /etc/apt/preferences
Package: *
Pin: release o=linuxmint
Pin-Priority: 700

Package: *
Pin: origin packages.linuxmint.com
Pin-Priority: 700

Package: *
Pin: release o=Ubuntu
Pin-Priority: 500

Probabilmente devi eseguire apt-get updatedopo aver creato il file.


/ etc / apt / preferenze non esiste su 13.04, sebbene esista /etc/apt/preferences.d/, ma è una directory vuota.
Ancora un altro utente

1
Il file non è disponibile, basta crearlo
GM-Script-Writer-62850,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.