Downgrade: Tornar a una versió anterior d'un paquet de programari

Downgrade paquet en Linux

El normal és que sempre actualitzem els paquets de programari per aconseguir versions més actualitzades d'aquests. Normalment, els desenvolupadors s'esforcen a que amb l'arribada de noves versions cada vegada són millors. Però no sempre passa això. En ocasions les versions prèvies d'un paquet poden ser més estables, funcionar millor per algun motiu, o fins i tot que l'usuari li agradi més la versió anterior a l'actualització perquè tingui alguna cosa que el nou ja no implementi.

Si aquest és el teu cas, en aquest tutorial us anem a mostrar com pots fer downgrade de qualsevol paquet, és a dir, revertir una actualització i aconseguir la versió anterior instal·lada al sistema. D'aquesta manera no tindràs problema si les noves versions t'han defraudat. Doncs anem a això!

Com que no hi ha un mètode comú per a totes les distros, vaig a mostrar com es pot fer amb els gestors de paquets més populars. Per cert, si fas servir altres mètodes com YaST, Synaptic, etc., els procediments són també possibles, però de forma gràfica i molt més intuïtiva. Aquí explicaré els mètodes a través de la consola, que són els que generen més confusió ...

apt-get: Debian / Ubuntu i derivats

Per a totes les distribucions basades en paquets DEB i amb el gestor de paquets apt-get, pots realitzar el canvi d'una versió més moderna a una anterior d'una forma senzilla. Per exemple, anem a prendre com a referència el paquet firefox, imaginant que volem tornar d'una versió actual a una altra prèvia. En aquest cas, pots executar les següents ordres:

  • pots aconseguir informació sobre el paquet firefox (o el que necessitis, només has de canviar el nom per l'adequat en el teu cas), com les versions prèvies instal·lades, etc., pots utilitzar la següent comanda:
sudo apt-cache showpkg firefox

  • Un cop sàpigues ben la versió anterior que vols instal·lar, Pots usar la següent comanda per instal·lar el paquet que vols. En el nostre cas, en la comanda anterior hem obtingut un paquet anomenat firefox = 57.3-build1-0ubuntu1 que és el que volem instal·lar:
sudo apt-get install firefox=57.3-build1-0ubuntu1

  • Després de fer això, ja tindries la versió anterior d'aquest programa instal·lada. Ja saps, que si no especifiques la versió amb APT, et instal·la la darrera versió disponible al repositori d'aquest paquet. En aquest cas hem indicat la versió específica.

Recorda que és possible que dos paquets de versions diferents convisquin en GNU / Linux sense problema. Així que si vols tenir dues versions diferents d'un mateix paquet podràs fer-ho ...

pacman: Arch Linux i derivats

En el cas que tinguis Arch Linux, Llavors hauràs de bregar amb pacman com a gestor de paquets. Aquesta eina també permet tornar a una versió prèvia si ho desitja. La forma de fer-ho és una mica diferent, però igualment senzilla:

  • Per a buscar in la memòria cau de paquets les versions disponibles, Pots consultar el registre. Per filtrar els resultats només per als paquets firefox en el nostre cas (però ja saps que pots substituir el nom de el paquet pel que vulguis ...), pots utilitzar:
ls /var/cache/pacman/pkg/ | grep firefox

  • Ara, un cop sàpigues la versió que vols, pots fer servir la següent comanda per instal·lar-la:
sudo pacman -U /var/cache/pacman/pkg/firefox-57.3.pkg.tar.xz

Zypper: SUSE / openSUSE i derivats

Al món SUSE, pots fer servir el gestor de paquets Zypper. També és un mètode fàcil per poder aconseguir el paquet en una versió prèvia. En el nostre cas, amb Mozilla Firefox, seria així:

  • El primer és consultar la memòria cau de paquets de manera similar a com ho fèiem per Arch, amb la següent comanda per saber les versions prèvies d'el paquet disponible:
cat /var/log/zypp/history | grep firefox

  • Un cop localitzada la versió anterior, pots instal·lar aquesta versió usant Zypper d'aquesta manera:
sudo zypper -in -f firefox_57.3

dnf: Red Hat / CentOS / Fedora i derivats

Finalment, en distribucions basades en Fedora es farà servir yum o dnf. Per poder revertir una actualització d'un paquet i tornar a una versió prèvia amb el teu downgrade, pots fer servir aquestes ordres:

  • En aquest cas el primer serà veure les versions prèvies de el paquet que estiguis intentant instal·lar en els repositoris de DNF. Per al nostre exemple, pots utilitzar aquesta comanda per obtenir la llista:
sudo dnf --showduplicates list firefox

  • Ara, un cop t'hagis fixat bé en el nom de la versió que vols instal·lar, només has de copiar de les dades llançats a la sortida de la comanda anterior i enganxar-lo en el següent. Per exemple:
<pre>sudo dnf install firefox-57.3.fc28</pre>

També podràs fer servir snapshots o instantànies per tornar a versions prèvies. Per això, pots utilitzar les següents comandes, que el que faran, respectivament, és obtenir l'historial, després obtenir informació d'una transacció de l'historial amb el seu ID (la que vulguis en el teu cas), i després es reverteix a l'estat d'aquesta transacció indicant l'ID (en el nostre exemple la 32):

sudo dnf history

sudo dnf history info 32

sudo dnf history undo 32

Espero que aquest tutorial us hagi ajudat a resoldre els problemes que et estava causant una nova versió d'un paquet de programari en el teu distro favorita. Ja saps que pots deixar les teves comentaris amb dubtes o suggeriments...


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   anonimo va dir

    En gentoo, s'emmascara la versió de el paquet que ja no es desitja, nova poniendola explícitament a l'arxiu /etc/portage/package.mask/package.mask.
    Per exemple si no volem l'últim firefox que és el 69.0.1 s'ho diem així:

    = Www-client / firefox-69.0.1
    o si no volem cap versió que sigui superior a futures actualitzacions
    > = Www-client / firefox-69.0.1

    Després fer el downgrade seria així:
    # Emergeix -av1 firefox
    Aquest packages that would be merged, in order:
    Calculating dependencies ... done!
    [Ebuild UD] www-client / firefox-68.1.0
    Would you like to merge these packages? [Yes / No] i

    La UD indica Update Downgrade

    1.    Isaac va dir

      Hola, moltes gràcies per aquesta aportació. Em vaig decidir a posar aquestes distros perquè són les més usades, però evidentment hi ha grans distros com Slackware, Gentoo i altres de les que no vaig parlar. De vegades és complicat decantar-se per unes o altres, i sempre has de triar i deixar algunes fora ...
      Una salutació!

  2.   Alex va dir

    Hi ha alguna manera de fer això amb molts paquets alhora?