viernes, 20 de noviembre de 2009

Apt-Pinning

Apt-Pinning  en Debian , mezclar diversas ramas , mezclar diversas releases , híbrido.

El Apt-pinning nos permite mezclar varias ramas de Debian. Por ejemplo, nos permite tener un sistema instalado estable, pero con opción a poder instalar paquetes por APT de la versión experimental o inestable, permitiéndonos no renunciar a un sitema estable para instalar paquetes más recientes.


Hay que recordar que la versión estable es la que recibe soporte de seguridad, pero para servicios de mera importancia podemos optar a instalar una versión experimental o inestable manteniendo la base sólida de la estable.

Para ello, editaremos nuestro sources.list con:

# nano /etc/apt/sources.list

Podemos dejarlo así:

# APT-PINNING
##### Estable #####
deb http://ftp2.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile stable/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile stable/volatile main contrib non-free
#### Testing ######
deb http://ftp2.de.debian.org/debian/ testing contrib non-free main
deb-src http://ftp2.de.debian.org/debian/ testing main contrib non-free
#### Inestable #####
deb http://ftp2.de.debian.org/debian/ unstable contrib main non-free
deb-src http://ftp2.de.debian.org/debian/ unstable contrib non-free

Ahora crearemos el fichero de preferencias del APT para poder dar prioridades entre los diferentes repositorios, entendiendo que se le da más prioridad a las antiguas versiones ya que són las más seguras:

# nano /etc/apt/preferences

Y añadimos:


Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=unstable
Pin-Priority: 600

Nota: por poco texto que es, se recomienda copiarlo a mano, ya que a veces se cuela algún carácter fantasma y el APT no lo pilla.
Ahora ejecutaremos:


# aptitude update

Llegados aquí nos podría dar un error de Mmap, para solucionarlo estableceremos la caché del APT más grande:
Editamos o creamos si no existe:


# nano /etc/apt/apt.conf

Añadimos:


APT::Cache-Limit "20000000";

Ahora ya podemos instalar paquetes de las diferentes versiones, existen dos maneras de hacerlo:
Si queremos instalar un paquete de una versión concreta pero para satisfacer las dependencias queremos utilizar la versión de mas prioridad (estable) escribiremos:


# aptitude install paquete/versión

paquete = paquete que queremos instalar. Versión = stable, testing , unstable.
Instalar el paquete de una versión determinada pero para satisfacer las dependencias utilizará la misma versión:


# aptitude -t versión install paquete

Para continuar actualizando la base del sistema en stable, como siempre:

# aptitude update && aptitude safe-upgrade


Saludos ;-)

2 comentarios: