¿Cómo degradar paquetes en Ubuntu?

14

Update Manager mantiene los paquetes en la última versión, pero ocasionalmente una nueva versión del paquete puede no funcionar como se esperaba o de manera adecuada. ¿Cómo degradar un paquete instalado y bloquearlo en una versión específica para evitar que se actualice? ¿Cómo puedo hacer esto usando GUI o usando una Terminal ?

Radu Rădeanu
fuente

Respuestas:

17

En GUI - usando Synaptic

La interfaz simplificada del Centro de software de Ubuntu no ofrece la opción de degradar paquetes. Synaptic, una interfaz gráfica de administrador de paquetes más avanzada que Ubuntu solía incluir, ofrece esta opción. Para degradar un paquete gráficamente, primero instale la aplicación Synaptic :

Centro de software de Ubuntu

Después de hacer esto, abra el Administrador de paquetes Synaptic desde el Tablero:

synaptis

Busque el paquete del que desea instalar una versión anterior en Synaptic, selecciónelo y use la opción Paquete > Forzar versión :

Versión forzada

Seleccione la versión que desea instalar y haga clic en Forzar versión. Synaptic solo le mostrará las versiones disponibles en sus repositorios:

Seleccionar versión

Haga clic en el botón Aplicar para aplicar sus cambios e instalar la versión anterior del paquete, suponiendo que todo funcione correctamente.

Aplicar

Después de degradar el paquete, selecciónelo y use la opción Paquete > Bloquear versión . Si no hace esto, Ubuntu intentará actualizar el paquete instalado la próxima vez que actualice sus paquetes instalados:

Versión de bloqueo

En Terminal - usando apt-get

Puede instalar una versión específica de un paquete apt-geten la Terminal . Primero, determine las versiones disponibles que puede instalar con el siguiente comando (use para packagename el nombre del programa que desea degradar):

apt-cache showpkg [packagename]

A continuación, ejecute el apt-get install del sistema y especificar la versión del paquete que desea instalar (el uso de la versión el número de versión determinado previamente del programa que desea degradar):

sudo apt-get install [packagename]=[version]

Después de que esté instalado, ejecute el siguiente comando para mantener su versión instalada, evitando que el administrador de paquetes la actualice automáticamente en el futuro:

sudo echo "[packagename] hold" | sudo dpkg --set-selections

Fuente : http://www.howtogeek.com/117929/how-to-downgrade-packages-on-ubuntu/

Radu Rădeanu
fuente
44
si basó su respuesta en este sitio howtogeek.com/117929/how-to-downgrade-packages-on-ubuntu , proporcione el enlace de origen. No creo que les importe a howtogeek, pero seguro que necesitan el enlace fuente apropiado para poder obtener el crédito.
Luis Alvarado
Cuando intenté hacer esto, me metí en todo tipo de problemas con dependencias insatisfechas. Me pareció mejor usar aptitude ya que esto resolvió todas las dependencias, por ejemplo, sudo aptitude install smbclient = 2: 4.1.6 + dfsg-1ubuntu2. Ver askubuntu.com/questions/770789/how-to-downgrade-smbclient
Lance Holland
3

Otra posibilidad:

Vamos a encontrar el paquete archivado en http://packages.ubuntu.com/ :

Por ejemplo, degradar php5:

Buscar:

ingrese la descripción de la imagen aquí

Encontrado un golpe exacto, veamos la página del paquete para php5:

ingrese la descripción de la imagen aquí

Podemos ver las diferentes versiones de los lanzamientos de Ubuntu aquí estamos en confianza:

ingrese la descripción de la imagen aquí

Cambiemos a la versión que ejecutó php (5.3) ... 12.04 (precisa) por ejemplo:

ingrese la descripción de la imagen aquí

descarga el tar.gz

ingrese la descripción de la imagen aquí

Y luego extraiga el archivo tar e instálelo:

cd /path/to/download
tar -xzvf name_of_package
cd name_of_extracted_folder
./configure
make
sudo make install

Posibles problemas con los que uno podría encontrarse al ejecutar ./configure:

  • Dependencias faltantes (tuvo que instalar libxm2-dev): ingrese la descripción de la imagen aquí

Problemas en ejecución make:

  • los errores durante la compilación pueden incluir indicadores que no se configuran correctamente o problemas con el código en sí.
  • ¿Un montón de basura al compilar, y luego algún problema en el código?
  • En mi caso, tuve que encontrar los archivos fuente / tarball actualizados para php ( http://php.net/downloads.php )
  • y vuelva a intentar la extracción y haga
jmunsch
fuente