APT - Jugando con APT en Ubuntu (o cualquier Debian)
Apt es uno de los mejores front-ends que hay para dpkg y todo el que lo usa coincide en lo cómodo que resulta que él solo resuelva dependencias, se baje los paquetes, los configure e instale. Pero mucha gente desconoce el uso de apt para gestionar y mezclar diferentes sources de forma controlada.
La finalidad de este artículo es que cada uno pueda tener al final una distribución debian-like con los paquetes que más le guste de cada uno de los diferentes sources (estable, inestable, el_de_mi_vecino, el_de_un_ruso_por_ahi_perdido, etc...) de forma organizada.
:: ¿ Qué es un source? ::
Cada una de las líneas que encontramos en el fichero /etc/apt/sources.list se corresponde con una fuente de paquetes para nuestra distribución favorita. Por ejemplo podemos tener perfectamente:
# Distribución estable deb http://archive.ubuntu.com/ubuntu warty main restricted deb-src http://archive.ubuntu.com/ubuntu warty main restricted deb http://archive.ubuntu.com/ubuntu warty universe deb-src http://archive.ubuntu.com/ubuntu warty universe deb http://security.ubuntu.com/ubuntu warty-security main restricted deb-src http://security.ubuntu.com/ubuntu warty-security main restricted #Distribución inestable deb http://archive.ubuntu.com/ubuntu hoary main restricted deb-src http://archive.ubuntu.com/ubuntu hoary main restricted deb http://archive.ubuntu.com/ubuntu hoary universe deb-src http://archive.ubuntu.com/ubuntu hoary universe deb http://security.ubuntu.com/ubuntu hoary-security main restricted deb-src http://security.ubuntu.com/ubuntu hoary-security main restricted
En este fichero sources.list el segundo grupo de fuentes se corresponde con la versión inestable de ubuntu . El problema de dejarlo así sin más es que tendremos mezclados los paquetes sin control (o más concretamente, sin que nosotros tengamos el control).
:: ¡¡ Apt-preferences !! la solución ::
En primer lugar vamos a establecer (si no lo tenemos hecho ya) cual es la distribución objetivo. para ello editamos (o creamos) el fichero /etc/apt/apt.conf y escribimos:
APT::Default-Release "warty";
nota: warty es como se llama el source de la rama estable en ubuntu esto varía según la debian con la que estemos.
Lo segundo es editar (o crear) el fichero /etc/apt/preferences :
Package: * Pin: release a=warty Pin-Priority: 900 Package: * Pin: release a=hoary Pin-Priority: 50
Y ya esta! de esta forma controlamos cómo queremos que actúe apt a la hora de instalar paquetes. Apt tiene un sistema de puntuación para establecer cuando tiene que actualizar un paquete, lo que hacemos con /etc/apt/preferences es determinar el peso que queremos darle. Para entender más sobre que valores usar es muy recomendable mirar man apt_preferences(5), pero como pequeña chuleta un adelanto:
| P > 1000 | la versión se instala incluso si es una versión anterior a la instalada en el sistema. |
| 990 < P <=1000 | la versión se instala aunque no venga de la distribución objetivo, a menos que la versión instalada sea más reciente. |
| 500 < P <=990 | la versión se instala a menos que exista otro ejemplar disponible perteneciente a la distribución objetivo o bien la versión instalada sea más reciente. |
| 100 < P <=500 | la versión se instala a menos que exista un ejemplarperteneciente a otra distribución o la versión instalada sea más reciente. |
| 0 < P <=100 | la versión sólo se instala si no hay ninguna versión del paquete instalado. |
| P < 0 | la versión nunca se instala. |
:: cómo usar apt una vez configurado ::
Una vez dado valor a cada una de las fuentes, podemos actualizar el sistema sin miedo a que nos intente actualizar 500 paquetes a la versión inestable utilizando un simple 'apt-get upgrade'. De esta forma además podremos instalar paquetes que no estaban en la distribución objetivo de forma transparente.
Si quereis instalar un paquete que está en más de un source (por ejemplo tiene version estable e inestable) podemos hacer lo siguiente:
apt-get install paquete/source
Así intentará instalar el paquete paquete del source source . El problema es que puede negarse a instalar ciertas dependencias por ser estas a su vez inestables o diferentes del la distribución objetivo (o más concretamente, no tienen suficientes puntos para instalarse). En este caso podemos decirle a apt que resuleva las dependencias usando un source concreto:
apt-get -t source install paquete
:: Cosas para leer ::
Para más información y para jugar además de con los sources, con las versiones de los paquetes, leed las siguientes páginas del man.
apt_preferences(5)
apt.conf(5)
sources.list(5)
apt-get(8)
- Inicie sesión para enviar comentarios
- 708 lecturas


APT
Interesante!
.
.
( o_ ( o_
( / )_( / )_
.
_LUISO_
y esto funciona con Lliurex??
Pues eso, funciona con Lliurex?? Explotará lliurex si uso eso de apt y modifico los archivos que decís?
pufff no tengo ni idea...
muy bueno el articulo!
muy bueno el articulo!
Turuntu
Apt?? Quesloquees? :D
Fdo: el talibán de Gentoo
PD: es coña, enhorabuena por la iniciativa que es lo que le hace falta a esta página: más movimiento y recetillas que animen a la gente a probar cosas (aunque en este caso sea la Ubuntu :P)
y que mejor?
¿Y que mejor que ubuntu para vivir tranquilo?
Es debian -> es bueno ;)
Y encima al ser ubuntu, es fácil :P
Saludos,
Juan.
urpmi
Donde se ponga urpmi que se quite lo demás. xDDDD