apt-pinning: poder instalar paquetes de distintas ramas

Si usamos Debian Stable, a veces es necesario instalar un paquete más actualizado que el que existe en Stable. Podemos instalar paquetes de distintas ramas, aunque no es muy recomendable, sobre todo si modificas paquetes básicos (libc6, etc).

Estos pasos están hechos tomando Debian Wheezy como rama Stable.

Primero crearemos el archivo /etc/apt/preferences y dentro podremos:

Package: *
Pin: release o=Debian,n=wheezy-updates
Pin-Priority: 990

Package: *
Pin: release a=jessie
Pin-Priority: 800

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

Lo siguiente es crear el archivo /etc/apt/apt.conf y dentro añadir:

APT::Default-Release "wheezy";

Por último, nos faltaría añadir las fuentes al archivo /etc/apt/sources.list:

deb http://ftp.es.debian.org/debian jessie main contrib non-free
deb http://ftp.es.debian.org/debian sid main contrib non-free

Actualizamos la lista de paquetes: aptitude update

Para instalar una versión de una rama no Stable, hay que usar el parámetro -t. Por ejemplo, aptitude install -t sid nodejs

Instalar dependencias para compilar un paquete

Si alguna vez has tenido/querido compilar el mldonkey-server desde archivos fuente, te habrás dado cuenta que necesita unas cuantas librerías development cuando haces el configure.

La forma más sencilla de hacerlo es con:

apt-get build-dep mldonkey-server

Obviamente, para otro paquete, cambiaríamos mldonkey-server por lo que corresponda.

Lista de paquetes .deb instalados

Se puede guardar la lista de los paquetes .deb instalados para instalarlos tras un formateo o en un nuevo ordenador.

Para generar la lista sería:

dpkg --get-selections "*" > /root/paquetes_instalados.txt

Para cargar la lista e instalarlos:

dpkg --set-selections < /root/paquetes_instalados.txt
apt-get -u dselect-upgrade

Si queremos limpiar la selección de paquetes:

dpkg --clear-selections

Fuente: http://www.howtoforge.com/record-installed-deb-packages-in-a-text-file-ubuntu-debian