Linux: Retener paquetes y restaurarlos | Algo de Linux

jueves, 31 de enero de 2008

Linux: Retener paquetes y restaurarlos

En muchas ocasiones nos interesa que el sistema no actualice determinados paquetes porque los que tenemos instalados son más actuales o los hemos compilado para unas necesidades especificas que no cubren los que hay en los repositorios.

Por ejemplo: La versión de ffmpeg que hay en los repositorios de ubuntu no tiene soporte para amr. Así que he cogido el código fuente y la he compilado para que lo tenga. Pero cuando actualizo la lista de paquetes, el sistema me informa de que hay una versión más reciente en los repositorios. Como sé que esta versión no tiene soporte para amr, retengo el paquete para que no se actualice:

# echo "ffmpeg hold" | dpkg --set-selections

Es importante saber que los paquetes retenidos para apt no están retenidos para aptitude, y viceversa, por lo que deberemos retenerlos para el sistema que nos interese.

Esto es importante, porque si hemos retenido un paquete para apt y hacemos un aptitude upgrade no respetará el paquete retenido.
Lo mismo ocurre si retenemos un paquete para aptitude: Si hacemos un apt-get upgrade tampoco lo respetará.

Naturalmente, si usamos apt-get o aptitude indistintamente, sería recomendable que cuando retengamos un paquete lo hagamos para apt y para aptitude.

Retener paquetes para aptitude.

Podemos retener paquetes para aptitude de dos formas:

  • Mediante consola:
$ sudo aptitude hold nombre_del paquete
  • Mediante el menú de aptitude:
- Primero hacemos aptitude update para ver qué paquetes son actualizables.
- Una vez hecho lo anterior, ejecutamos aptitude en una consola.
- Buscamos en paquetes actualizables. Nos colocamos sobre el que deseamos retener.
- Una vez sobre el fichero retenido, pulsamos la tecla "=" y ya está.
- Y finalmente pulsamos q para salir.

Podemos restaurar paquetes para permitir su actualización con aptitude:

  • Mediante consola:
$ sudo aptitude unhold nombre_del_paquete
  • Mediante el menú de aptitude.

- Primero hacemos aptitude update para ver qué paquetes son actualizables.
- Una vez hecho lo anterior, ejecutamos aptitude en una consola.
- Buscamos en paquetes actualizables. Nos colocamos sobre el que deseamos retener.
- Una vez sobre el fichero retenido, pulsamos la tecla "=" y ya está.
- Y finalmente pulsamos q para salir.

Retener paquetes para apt y dpkg.

Para retener un paquete:

echo “nombre_del_paquete hold” | sudo dpkg --set-selections

Para restaurar el paquete y permitir su actualización:

echo “nombre_del_paquete install” | sudo dpkg --set-selections


No hay comentarios: