[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ¿Cómo fuerzo una dependencia con el apt-get?



Buenas,

  Más que darte una solución, te explico un poco de lo que va el apt.
El apt es una herramienta 'semi-inteligente' que mantiene tu sistema
coherente y estable. Cuando se preparó el paquete chrony, se compiló
usando la libc de woody y así quedó en sus dependencias (aunque pueda
funcionar en potato); el apt no te vá a dejar que lo instales por las
buenas (recuerda que toda herramienta 'inteligente' toma demasiadas
decisiones por sí sola).
  Ahora, el apt te recomendaría que te acualizases a woody (cosa que
depende de tus ánimos y de tu conexión a internet). Si quieres hacer
trapiches puedes abrir el paquete y modificar la información de control:

ar x paquete.deb       = Extrae 3 ficheros : control.tar.gz, data.tar.gz y
                                             debian-binary
tar xzvf control.tar.gz  Dentro del control.tar.gz verás los ficheros
                         control, conffiles, md5sums, prerm, etc.

[joe | vim | emacs]  control  = Editas el fichero de control y cambias
                         la versión de las libc necesaria.
                         
tar czf control.tar.gz control conffiles...  =  Vuelves a  crear el
                         control.tar.gz

ar r paquete.deb control.tar.gz data.tar.gz debian-binary  = Creas
                         de nuevo el paquete debian (esta vez con la
                         información de control modificada).

   Podrás comprobar el cambio con dpkg --info paquete.deb (debe aparecer
las dependencias como las modificastes.

  Una forma un poco más elegante (y sin hacer trampas) es trayendo de
cualquier servidor de debian las fuentes del paquete (paquete.dsc,
paquete.tar.gz y a veces paquete.diff.gz). Luego escribes:

 dpkg-source -x paquete.dsc

  Y ya sólo te queda preparar el paquete: 

 cd paquete-1.2.3

 dpkg-buildpackage -us -uc -rfakeroot

  El inconveniente es que tendrás que tener las herramientas para 
preparar el paquete (debhelper, debmake, fakeroot, compiladores, etc.).

  Por último, si ya tienes instalado el paquete, es posible que editando
los ficheros /var/lib/dpkg/available y /var/lib/dpkg/status y modificando
las dependencias para ese paquete, el apt no vuelva a avisar del problema.

  Suerte, y un último consejo: no hagas estas cosas en máquinas de
producción; podría darte problemas en alguna ocasión (cuando las libc no
sean compatibles por ejemplo).


-- 
"Tinguaro Barreno Delgado"  <tbarreno@terra.es>
.. Debian GNU/Linux ........................... 



Reply to: