Esegui il downgrade di un sacco di pacchetti


11

Forse hai installato pacchetti da un PPA o da una fonte esterna (ad esempio scaricato un .deb per un pacchetto che è disponibile tramite i repository di Ubuntu.).
Quindi decidi di eliminare queste versioni aggiornate a favore dei repository ufficiali.
Il primo passo è rimuovere le voci di sources.list.

C'è un modo per eseguire il downgrade di tutti alla versione più alta disponibile? So che puoi installare versioni specifiche con

apt-get install [pacchetto] = [versione]
Ma puoi declassare tutto?


Intendi un comando per rimuovere le attuali applicazioni PPA e quindi installare quelle dal repository ufficiale? Vorrei fare qualcosa del genere sudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3: non credo ci sia un singolo comando come sudo apt-get repocleanad esempio per farlo.
Kingmilo,

Quindi devo ottenere tutti i pacchetti che ho installato dal repository? Non è possibile eseguire l'upgrade alla versione più alta disponibile (è qualcosa che puoi fare con openSUSEs zypper).
Manuel,

Se si rimuove il repository e il pacchetto è disponibile nel repository ufficiale e quel pacchetto è una versione superiore rispetto al pacchetto che era disponibile nel repository che è stato aggiunto, quel pacchetto verrà aggiornato alla versione disponibile nel repository ufficiale.
Kingmilo,

1
Sì, ma se no? L'aggiornamento non è affatto un problema, ma il downgrade.
Manuel,

Risposte:


16

Un po 'tardi alla festa, ma ho trovato questa domanda quando cercavo una risposta e ora ho la mia risposta da condividere.

Credo che tu possa farlo attraverso il misterioso mondo di apt_preferences.

Prova a creare un file chiamato / tmp / a_p (o qualsiasi altra cosa) in questo modo ...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

Quindi eseguire:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

La seconda sezione del file fa sostanzialmente ciò che l'OP ha richiesto, in quanto aumenta la priorità di tutti i pacchetti in qualsiasi repository live per farli installare anche se significa un downgrade.

La prima sezione impedisce alla seconda sezione di avviare l'installazione di tutti i backport. Potrebbe interessarti o meno o volerlo. Suggerirei di armeggiare per vedere cosa funziona. Puoi usare apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkgper vedere quale effetto ha il file a_p su pacchetti specifici.

TIM


6

Ok, cosa succede se viene trovato lo script ppa-purge

Se hai aggiunto un PPA e un software aggiornato, puoi rimuovere il repository e in questo passaggio declassare tutti i pacchetti che sono stati aggiornati con

ppa-purge [nome repo]

È utile per un'altra persona?

Ma è ancora aperto se è possibile installare la versione più alta disponibile anche se la versione installata è superiore ...

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.