Revertir actualización de paquetes en Ubuntu

No todas las actualizaciones en el sistema operativo pueden ser benéficas, en ciertas ocasiones es posible que la actualización de algún paquete cause conflictos o tenga resultados no deseados en nuestras aplicaciones. En esos casos es necesario revertir la actualización de dicho paquete. A lo largo de este articulo intentare explicar los pasos necesarios para revertir una instalación fallida de los paquetes de Docker en Ubuntu.

Lo primero a realizar es determinar el nombre exacto del paquete. Podemos encontrar el nombre exacto filtrando la lista de las actualizaciones realizadas en las ultimas 24 horas mediante el comando.

$ find /var/lib/dpkg/info/ -name \*.list -mtime -1 | sed 's#.list$##;s#.*/##' | grep docker
docker-ce

Una vez que encontramos el nombre exacto del paquete a revertir, recurrimos a la tabla de versiones de dicho paquete. Esta tabla puede ser mostrada a traves del comando apt-cache.

$ sudo apt-cache policy docker-ce
docker-ce:
  Installed: 17.12.1~ce-0~ubuntu
  Candidate: 17.12.1~ce-0~ubuntu
  Version table:
 *** 17.12.1~ce-0~ubuntu 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
        100 /var/lib/dpkg/status
     17.12.0~ce-0~ubuntu 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.09.1~ce-0~ubuntu 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.09.0~ce-0~ubuntu 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.06.2~ce-0~ubuntu 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.06.1~ce-0~ubuntu 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.06.0~ce-0~ubuntu 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.03.2~ce-0~ubuntu-trusty 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.03.1~ce-0~ubuntu-trusty 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages
     17.03.0~ce-0~ubuntu-trusty 0
        500 https://download.docker.com/linux/ubuntu/ trusty/stable amd64 Packages

Como podemos observar la versión instalada en nuestro sistema operativo es la señalada con tres asteriscos, es decir, la versión 17.12.1~ce-0~ubuntu. Esta tabla nos permite conocer las versiones disponibles para nuestro paquete. El paso que resta es revertir los cambios del paquete a la versión deseada.

$ sudo apt-get install docker-ce=17.09.1~ce-0~ubuntu --force-yes -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be DOWNGRADED:
  docker-ce
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Need to get 21.0 MB of archives.
After this operation, 52.6 MB disk space will be freed.
Fetched 21.0 MB in 7s (2,693 kB/s)
dpkg: warning: downgrading docker-ce from 17.12.1~ce-0~ubuntu to 17.09.1~ce-0~ubuntu
(Reading database ... 69403 files and directories currently installed.)
Preparing to unpack .../docker-ce_17.09.1~ce-0~ubuntu_amd64.deb ...
docker stop/waiting
Unpacking docker-ce (17.09.1~ce-0~ubuntu) over (17.12.1~ce-0~ubuntu) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up docker-ce (17.09.1~ce-0~ubuntu) ...
Installing new version of config file /etc/bash_completion.d/docker ...
docker start/running, process 7219

Leave a Reply