Martes, Febrero 19, 2019

Cómo degradar paquetes a una versión específica con APT en Debian, Ubuntu o Linux Mint

ultra-flat-2

Este artículo explica cómo degradar un paquete a una versión específica usando APT, en Debian, Ubuntu o Linux Mint (desde la línea de comandos).

A veces puedes encontrar problemas con un paquete actualizado recientemente, y quieres volver al antiguo. Para poder actualizar un paquete en Debian, Ubuntu o Linux Mint (y otras distribuciones de Linux basadas en Debian/Ubuntu), la versión del paquete al que quieres actualizar debe estar disponible en un repositorio.

Para degradar un paquete a una versión específica, deberás añadir =version después del nombre del paquete en el comando de instalación, siendo la versión la versión a la que deseas degradar el paquete:

sudo apt install <paquete>=<version>

Ejemplo 1.

Veamos un ejemplo simple. Actualmente tengo Firefox 65 instalado en Ubuntu 18.10, y quiero actualizarlo usando APT. Lo primero que hay que hacer es mirar las versiones disponibles, ejecutando apt policy firefox (policy apt-cache también funciona):

apt policy firefox
firefox:
Installed: 65.0+build2-0ubuntu0.18.10.1
Candidate: 65.0+build2-0ubuntu0.18.10.1
Version table:
*** 65.0+build2-0ubuntu0.18.10.1 500
500 http://security.ubuntu.com/ubuntu cosmic-security/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu cosmic-updates/main amd64 Packages
100 /var/lib/dpkg/status
63.0+build1-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu cosmic/main amd64 Packages

Este comando APT muestra que la versión de Firefox instalada en mi sistema es 65.0+build2-0ubuntu0.18.10.1, y está disponible en los repositorios cosmic-security y cosmic-updates. Existe una versión más antigua, 63.0+build1-0ubuntu1, disponible en el repositorio principal, por lo que Firefox puede ser degradado a esta versión.

Para degradar Firefox de la versión 65.0+build2-0ubuntu0.18.10.1 instalada, a la versión 63.0+build1-0ubuntu1 del repositorio principal, el comando sería:

sudo apt install firefox=63.0+build1-0ubuntu1

Este comando degrada Firefox sin tener que degradar ningún otro paquete, porque Firefox no depende de ninguna versión de paquete estricta:

sudo apt install firefox=63.0+build1-0ubuntu1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be DOWNGRADED:
firefox
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 51 not upgraded.
Need to get 46.1 MB of archives.
After this operation, 4,243 kB disk space will be freed.
Do you want to continue? [Y/n]

Hay casos en los que debes resolver algunas dependencias para poder degradar el paquete, y veremos un ejemplo como ese a continuación.

Ejemplo 2.

Veamos un ejemplo más complicado – un paquete que no puede ser degradado directamente usando APT sin también degradar algunas de sus dependencias.

apt policy chromium-browser
chromium-browser:
Installed: 72.0.3626.81-0ubuntu1~ppa2~18.10.1
Candidate: 72.0.3626.81-0ubuntu1~ppa2~18.10.1
Version table:
*** 72.0.3626.81-0ubuntu1~ppa2~18.10.1 500
500 http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu cosmic/main amd64 Packages
100 /var/lib/dpkg/status
71.0.3578.98-0ubuntu0.18.10.1 500
500 http://security.ubuntu.com/ubuntu cosmic-security/universe amd64 Packages
500 http://archive.ubuntu.com/ubuntu cosmic-updates/universe amd64 Packages
69.0.3497.100-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu cosmic/universe amd64 Packages

[simterm]
El comando apt policy muestra que actualmente tengo instalado Chromium browser beta (versión 72) desde el PPA Saiarcot Chromium Beta, con dos versiones anteriores disponibles en las actualizaciones de seguridad de Ubuntu y en los repositorios principales.
Intentemos bajar la versión 72.0.3626.81-0ubuntu1~ppa2~18.10.1 a la versión 71.0.3578.98-0ubuntu0.18.10.1 (desde los repositorios de seguridad/actualizaciones) usando APT y veamos qué pasa:
sudo apt install chromium-browser=71.0.3578.98-0ubuntu0.18.10.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
chromium-browser : Depends: chromium-codecs-ffmpeg-extra (= 71.0.3578.98-0ubuntu0.18.10.1) but 72.0.3626.81-0ubuntu1~ppa2~18.10.1 is to be installed or
chromium-codecs-ffmpeg (= 71.0.3578.98-0ubuntu0.18.10.1) but it is not going to be installed
Recommends: chromium-browser-l10n but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

La degradación del navegador Chromium no funciona porque depende de códecs de chromium-códecs-ffmpeg-extra o códecs de chromium-códecs-ffmpeg, con la misma versión que el propio paquete del navegador Chromium. En este caso, también bajemos el paquete chromium-codecs-ffmpeg-extra a la misma versión:

sudo apt install chromium-browser=71.0.3578.98-0ubuntu0.18.10.1 chromium-codecs-ffmpeg-extra=71.0.3578.98-0ubuntu0.18.10.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
webaccounts-chromium-extension unity-chromium-extension adobe-flashplugin
Recommended packages:
chromium-browser-l10n
The following packages will be REMOVED:
chromium-browser-l10n chromium-chromedriver
The following packages will be DOWNGRADED:
chromium-browser chromium-codecs-ffmpeg-extra
0 upgraded, 0 newly installed, 2 downgraded, 2 to remove and 51 not upgraded.
Need to get 58.8 MB of archives.
After this operation, 61.5 MB disk space will be freed.
Do you want to continue? [Y/n]

La salida de comando apt downgrade muestra que el navegador Chromium ahora puede ser degradado, pero el comando quiere eliminar 2 paquetes. Estos son paquetes recomendados que se instalaron automáticamente cuando se instaló el navegador (y también necesitan ser exactamente la misma versión que el paquete del navegador), y aunque no son requeridos por el navegador, es posible que los necesite. Por lo tanto, es una buena idea rebajarlas también, para que no se eliminen.

En este caso, el comando apt downgrade se convierte en:

sudo apt install chromium-browser=71.0.3578.98-0ubuntu0.18.10.1 chromium-codecs-ffmpeg-extra=71.0.3578.98-0ubuntu0.18.10.1 chromium-browser-l10n=71.0.3578.98-0ubuntu0.18.10.1 chromium-chromedriver=71.0.3578.98-0ubuntu0.18.10.1

Veamos qué pasa cuando lo usamos:

$ sudo apt install chromium-browser=71.0.3578.98-0ubuntu0.18.10.1 chromium-codecs-ffmpeg-extra=71.0.3578.98-0ubuntu0.18.10.1 chromium-browser-l10n=71.0.3578.98-0ubuntu0.18.10.1 chromium-chromedriver=71.0.3578.98-0ubuntu0.18.10.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  webaccounts-chromium-extension unity-chromium-extension adobe-flashplugin
The following packages will be DOWNGRADED:
  chromium-browser chromium-browser-l10n chromium-chromedriver chromium-codecs-ffmpeg-extra
0 upgraded, 0 newly installed, 4 downgraded, 0 to remove and 51 not upgraded.
Need to get 64.9 MB of archives.
After this operation, 35.8 MB disk space will be freed.
Do you want to continue? [Y/n]

Como puedes ver, el downgrade puede ser realizado, y ningún paquete está a punto de ser eliminado. Ya que todo se ve bien ahora, podemos proceder con el downgrade.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 174 invitados y ningún miembro en línea

Contador de Visitas

9569192
Hoy Hoy 1709
Ayer Ayer 2114
Esta semana Esta semana 3823
Este mes Este mes 22032
Total de Visitas Total de Visitas 9569192

Día con más
visitantes

12-27-2018 : 2190

Gracias por su visita