Re: mensajes viejos en apt-get
Hola, a pedido de Javier M Mora reenvio su respuesta a mi pregunta.
El vie, 18 de jun de 2004, a las 10:10:53 -0400, Daniel Hernandez dijo:
> Parece que no se me ha entendido, yo se que apt-get -f install A.deb
> fuerza la instalacion de A.deb aunque este tenga dependencias
> insatisfechas. Mi problema es que un dia estaba instalando A.deb
> con
> # dpkg -i A.deb
Parece que hay cosas que no sabes sobre la instalaci?n de paquetes en
debian. Aunque te recomendar?a que fueses a debian y leyeses los
manuales de usuario para enterarte mejor, voy a darte una breve
pincelada por si te ayuda. Existen 4 niveles de para la instalaci?n de
paquetes en debian. Como suelen ocurrir en estos niveles, cuanto m?s
control quieres, m?s bajo es el nivel necesario y mas dif?cil es la cosa
de manejar.
Los niveles son:
bajo dpkg-deb Muy especializado, s?lo suele ser util para
desarrolladores debian y s?lo para algunos).
medio dpkg Instala el paquete que le das pero no resuelve
las dependencias. Su uso es para cuando apt-get
falla.
alto apt-get Descarga e instala paquetes y sus necesarias
dependencias. Salvo casos especiales. Los
usuarios no deber?an usar utilidades de nivel
inferior a este.
muy alto aptitude synaptic dselect y otros
Aportan a apt-get un entorno de men?s y otras
facilidades.
Cada utilidad necesita de las de nivel inferior para efectuar su
trabajo: es decir apt-get usa dpkg y este a su vez usa dpkg-deb, aunque
lo usa de forma m?s c?moda.
La segunda informaci?n que puede serte ?til es la base de datos de
paquetes. Existe una base de datos en tu debian con informaci?n sobre:
que paquetes est?n o no instalados, que paquete necesita de otro paquete
para funcionar, que paquete quiere ser instalado y su funci?n es
intentar que en todo momento el sistema sea estable. Es decir, que todos
los paquetes que tienes instalados funcionan como deben.
> insatisfechas. Mi problema es que un dia estaba instalando A.deb
> con
> # dpkg -i A.deb
> y entonces surgieron los mensajes que decian que no se podia instalar
> por las dependencias insatisfechas. Entonces yo decidi no instalarlo.
> El problema es que cuando quiero instalar otro paquete B usando
> # apt-get install B
> no se instala porque aparece el error anterior que tiene que ver con
> A y no con B.
Como he indicado antes, dpkg no instala las dependencias, pero indica en
la base de datos que quieres instalar un paquete. Tu decidiste no
instalarlo pero, ?se lo dijiste a la base de datos de tu debian? Si no
se lo has dicho. La primera misi?n de apt-get es instalar lo que tu le
dijiste como primera prioridad. Detecta que existe una inconsistencia
sobre la base de datos (un paquete que est? intentando instalarse pero
que no tiene resuelta las dependencias) y para evitar destrozos se para.
Haciendo apt-get -f (sin poner ning?n nombre de paquete) mira la base
de datos sobre paquetes marcados para ser instalados e intenta
arreglarlo buscando sus dependencias.
> Pero si sencillamente bajo el paquete B.deb equivalente
> y lo instalo con
> # dpkg -i B.deb
> No hay problema, funciona todo correctamente.
>
O no, depende del paquete que est?s instalando y de las dependencias de
este.
> A mi me parece que lo natural que si hay un intento fallido de
> instalacion este se olvide.
Al contrario. Lo natural (o al menos lo que los desarrolladores debian
han marcado) es recordar tus deseos hasta que le digas lo contrario.
Piensa en una aplicaci?n que depende de varios paquetes simult?neos. y
que tienen una referencia circular. Uno depende del otro y viceversa. Si
intentas instalar un paquete y este no encuentra el otro. Se abortar?a
la instalaci?n. Si ahora intentas instalar el otro paquete tampoco
encontrar? el primero (puesto que se abort?) y no se podr?a instalar
nunca!!. Actualmente lo que ocurre es el primero se instala a medias y
cuando instalas el segundo se pueden terminar de instalar ambos. Y si te
arrepientes pues con indicarlo, ya est?.
Bueno. Ah? van mis indicaciones para solucionar el problema:
* prueba con apt-get -f
* prueba a desinstalar el paquete a.deb con dpkg para borrarlo de la
base de datos
* prueba a completar la instalaci?n del paquete A.deb al instalar sus
dependencias (se puede hacer con dpkg que como has visto no se queja,
aunque debes de tener cuidado porque los nuevos paquetes pueden tener
sus propias dependencias
* antes de instalar ning?n paquete observa las consecuencias de ello.
apt-get -u, por ejemplo, te informa de los cambios que van a suceder
* No uses dpkg si no lo controlas. Usa como m?nimo apt-get y te
recomendar?a aptitude (para consola) o synaptic (para X). Esto te
ahorrar? muchos dolores de cabeza.
Espero que se solucione el problema.
Atte.
-- Javier Maria Mora Merchan (GPGP) Key ID: 0x794F3D83
Reply to: