Herramientas de usuario

Herramientas del sitio


temp:apt-pinning

Apt-Pinning

(Trabajo en progreso)

Introducción

Quienes utilizan Debian GNU/Linux regularmente, seguramente habrán notado que aunque este sistema operativo tiene gran estabilidad, sus paquetes pueden quedar obsoletos con respecto a las últimas versiones estables que van lanzando sus desarrolladores.

Afortunadamente, existe una alternativa para aquellos que tengan un espíritu no tan conservador, conocida como apt-pinning. Este método permite utilizar un sistema operativo fundamentalmente estable, pero con versiones más recientes de aquellos paquetes que interesan.

Nota: Antes de utilizar pinning, siempre es recomendable verificar si el paquete deseado ha sido agregado ya al repositorio backports, ya que tomarlo de este origen ocasiona menos conflictos en el sistema. Al utilizar apt-pinning, el responsable de garantizar la compatibilidad de los paquetes es el usuario, por lo que Debian no alienta el uso de apt-pinning sin una cuidadosa consideración.

Configuración

En su nivel más básico, apt-pinning utiliza dos archivos: /etc/apt/sources.list y /etc/apt/preferences. Además es importante el uso del parámetro target, que se combina con la rama que se pretende utilizar.

Configurar los orígenes

El primer paso consiste en configurar el archivo /etc/apt/sources.list para que incluya las ramas deseadas. Un ejemplo simple sería este:

#Stable
deb http://ftp.us.debian.org/debian stable main non-free contrib
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
 
#Testing
deb http://ftp.us.debian.org/debian testing main non-free contrib
deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
 
#Unstable
deb http://ftp.us.debian.org/debian unstable main non-free contrib
deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free

Evidentemente, este ejemplo puede ampliarse agregando las entradas deb-src u otros repositorios como security.debian.org.

Configurar las preferencias

El próximo paso consiste en crear (o modificar) el archivo /etc/apt/preferences. Es allí donde verdaderamente ocurre el pinning.

Este archivo tiene diferentes maneras de configurarse que no son del todo consistentes entre sí y de las cuales depende la manera en que el sistema interpreta los parámetros, por lo que probablemente sea recomendable utilizar un ejemplo como el siguiente:

Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 800
 
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 500
 
Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 300
 
Package: *
Pin: release o=Debian
Pin-Priority: -10

El parámetro Package define el paquete para el cual se desea utilizar pinning. En este caso, al colocar un asterisco se admitirán todos los paquetes, pero también podría colocarse el nombre de algún paquete en particular.1)

El parámetro Pin especifica la rama a utilizar, o la versión del paquete si se especificó un nombre. En este caso se han configurado tres ramas, pero podrían utilizarse solo dos.2)

El parámetro Pin-Priority establece la prioridad de los diferentes Pin, observe que este ejemplo tiene un valor mayor en el Pin stable, por lo que se priorizará sobre testing y unstable. la última entrada tiene un valor negativo, lo cual implica que no se instalará nunca un paquete de otra rama, como por ejemplo experimental.

Para conocer las prioridades de cada origen, puede utilizarse el comando apt-cache policy. Si lo que se desea es conocer las prioridades de uno o varios paquetes, puede ejecutarse lo siguiente:

apt-cache policy nombrepaquete1 [nombrepaquete2] [...]

Actualización

Una vez configurados los archivos necesarios, es preciso actualizar los listados de paquetes disponibles:

apt-get update

Uso de apt-pinning

Hay dos maneras de utilizar apt-pinning:

Referencias

1)
El asterisco no puede utilizarse de comodín para completar nombres de paquetes.
2)
El parámetro Pin también podría utilizarse para especificar un repositorio existente en otro servidor, pero esto no lo cubriremos aquí.
temp/apt-pinning.txt · Última modificación: 2020/04/22 20:57 (editor externo)