martes, 12 de junio de 2012

Solución al conflicto de paquetes con Iceweasel 13 en Debian Squeeze

Hola a todos,

Al mismo tiempo que los chicos de Mozilla liberaban Firefox 13, los del Mozilla Team de Debian hicieron lo propio con Iceweasel. Normalmente la actualización entre versiones de Iceweasel a través del repositorio Backports funciona como la seda y nunca da problemas de ningún tipo. No obstante esta vez es diferente.

En la actualización de la versión 12 a la 13 de Iceweasel hay un conflicto con ciertos paquetes aparentemente irresoluble. Intenté de forma manual resolver el conflicto actualizando algunos paquetes individualmente pero todos mis esfuerzos fueron en vano. Finalmente encontré una solución que ha funcionado perfectamente.


Para empezar, habremos instalado previamente la versión anterior de Iceweasel siguiendo el método que expongo aquí. Este método también nos sirve para instalar directamente cualquier versión de Iceweasel, que supongo no debería dar problemas de dependencias puesto que los paquetes conflictivos no deberían estar instalados en el sistema.

Para solucionar el conflicto con la versión 13 de Iceweasel usaremos el maravilloso Synaptic. Si no lo tenemos instalado, lo instalaremos así:

$ sudo aptitude install synaptic

Una vez instalado lo ejecutaremos con permisos de root. En KDE podríamos utilizar el lanzador de aplicaciones mediante la combinación de teclas Alt+F2, y escribiendo en el cajetín en blanco lo siguiente:

kdesu synaptic

Por otra parte si usamos Gnome:

gksu synaptic

Una vez introducida la contraseña de administrador, veremos la interfaz de Synaptic:


Nos dirigimos al menú Configuración -> Preferencias -> Pestaña Distribución. En la lista desplegable titulada Preferir versiones de elegiremos la opción Squeeze-backports, tal y como podemos ver en la captura siguiente. Pulsamos Aceptar


A continuación presionamos el botón Recargar situado en la parte superior izquierda de la aplicación. Después filtramos los paquetes mediante el botón Estado situado en la parte inferior izquierda, y seleccionamos la sección Instalados (actualizables) en la parte superior izquierda de la aplicación. En la lista de paquetes resultante buscamos el paquete Iceweasel:


Cuando lo localicemos, haremos clic sobre él con el botón derecho y seleccionaremos la opción Marcar para actualizar tal como vemos a continuación:



Nos encontraremos con la siguiente ventana donde se nos informa de los cambios que deben ser marcados para llevar a cabo con éxito la operación:


Pulsamos Aceptar y a continuación haremos clic sobre el botón Aplicar, en la parte superior de la interfaz de Synaptic. Nos saltará un diálogo de confirmación:


Aceptaremos y podremos ver el progreso de la actualización:


Una vez finalizada la actualización, tendremos por fin instalado Iceweasel 13:



Por último debemos revertir los cambios realizados a través de Synaptic para que siga siendo más prioritario el repositorio de Debian que el repositorio Backports para los demás paquetes. Para ello vamos de nuevo al menú Configuración -> Preferencias -> Pestaña Distribución. En esta ventana dejaremos la opción que estaba marcada anteriormente, la de Preferir siempre la versión más alta:



Aceptamos, y volvemos a Recargar la lista de paquetes tal como hemos hecho antes:


Con esto habremos dejado nuestro sistema Debian preparado para que las actualizaciones de los paquetes sigan funcionando normalmente. Como ya digo, el repositorio Backports no suele dar problemas de ningún tipo aunque en toda regla hay excepciones ;-)

Un saludo a todos.

14 comentarios:

  1. The following NEW packages will be installed:
    aptdaemon{a} aptdaemon-data{a} docbook-xml{a} gir1.2-atk-1.0{a} gir1.2-freedesktop{a} gir1.2-gdkpixbuf-2.0{a} gir1.2-glib-2.0{a} gir1.2-gtk-3.0{a} gir1.2-pango-1.0{a}
    gir1.2-vte-2.90{a} libcairo-perl{a} libgirepository-1.0-1{a} libglib-perl{a} libgtk2-perl{a} libpango-perl{a} librarian0{a} libvte-2.90-9{a} libvte-2.90-common{a}
    libvte-common{a} libvte9{a} python-aptdaemon{a} python-aptdaemon.gtk3widgets{a} python-defer{a} python-gi{a} python-gnupginterface{a} python-gobject{a} python-pycurl{a}
    python-software-properties{a} rarian-compat{a} sgml-base{a} sgml-data{a} software-properties-common{a} software-properties-gtk{a} synaptic unattended-upgrades{a} xml-core{a}
    0 packages upgraded, 36 newly installed, 0 to remove and 1 not upgraded.
    Need to get 10.4 MB of archives. After unpacking 31.3 MB will be used.
    Do you want to continue? [Y/n/?]
    ___

    31 Mb extras "solo" para gestion de paquetes?? O_o

    me parece mas logico tirar de apt pinning ( http://jaqque.sbih.org/kplug/apt-pinning.html ), y setear el paquete iceweasel para que se instale desde backports... SIEMPRE. yo lo hice con experimental (cuando en las estables seguia el 3.5 y en expe iban por la 8), y iba de lujo.... :)

    vale, igual alguien puede pensar, que copiar tres lineas a un fichero, es mas complicado que configurar synaptic, instalar, y re-configurar synaptic. :? por no decir, con tu metodo... no vas a tener actualizaciones para iceweasel. con el pinning si. ;)

    quisquillosa que es una. XDD

    ResponderEliminar
  2. Gracias por el comentario Niky!

    Bueno, el caso es que intenté resolver el conflicto manualmente de mil maneras, y no hubo forma. Desinstalaba unos paquetes, actualizaba otros, eliminaba otros tantos, pero siempre había algún paquete que tenía conflicto.

    El caso es que probé así, y funcionó ;-) No hace falta que te cuente el miedo que le tengo a todo aquello relacionado con pinning, experimental y todo lo que conlleve usar una rama o un repo no estable. Alguna vez me ha dado por probar todo esto que comento y el resultado ha sido catastrófico ;-) Perdón, ¿decías que tú eras la quisquillosa? xDD

    Y en teoría sí se reciben actualizaciones para Iceweasel a través de Backports, la triquiñuela de Synaptic ha sido para resolver el conflicto de paquetes que insisto sólo se ha dado esta vez, y una vez resuelto el conflicto, todo debería volver a la normalidad e ir actualizándose versión a versión como ha ido haciéndose hasta ahora. No obstante te lo aseguraré cuando venga la versión 14 ;-)

    ResponderEliminar
  3. Pues en SolusOS 1.1 Eveline (Debian Stable Based) teníamos el firefox 13 antes del anuncio oficial de nozilla, digo, mozilla, y ya tenemos en repos el Opera 12.00 y el Skype 4.0

    [/trolleando me hallo]

    ResponderEliminar
  4. hubo un tiempo en que me quemaba la sangre con estos problemas con iceweasel,que si actualizarlo,que si esto y lo otro.hasta que opte por la solucion mas obvia:desinstale iceweasel e instale firefox.cuando quiero actualizar firefox solo lo desgargo,desinstalo la version anterior he instalo la nueva. eso es todo (parece dificil y tedioso pero no me demoro ni 5 minutos).

    no hay que complicarse mas de la cuenta :)

    ResponderEliminar
  5. Hola Waldo,

    Pues sí, antes de conocer la existencia de Iceweasel en Backports yo también obraba como tú, me descargaba de la web la última versión de Firefox y la instalaba a mano descomprimiendo el fichero comprimido en el directorio /opt.

    Pero en mi opinión es preferible usar una aplicación que está específicamente preparada para Debian, como lo es Iceweasel. Como ya sabemos, casi todo lo que toca el equipo de Debian se convierte en estable y robusto, salvo contadas excepciones. Por tanto, personalmente yo prefiero Iceweasel que Firefox, y no porque me guste uno más que otro, obvio puesto que son exactamente lo mismo, si no porque Iceweasel está tocado con las manos del equipo de Debian y eso me transmite mucha confianza.

    A todo esto Waldo, puedo asegurarte que esta es la primera vez que Iceweasel presenta un problema con una actualización, al menos en mi caso, y llevo usando Iceweasel de Backports desde la versión 6 o 7. Sin ir más lejos, ahora mismo me acaba de llegar la actualización a la versión 13.0.1 de Iceweasel y ha resultado perfecta y sin inconvenientes.

    Y si lo que te preocupa es el tiempo que tardan en subir la última versión de Iceweasel, por una vez podemos decir que los chicos de Debian van a la velocidad del rayo. El mismo día que Mozilla anuncia una nueva versión de Firefox, el equipo de Debian sube al repositorio Backports la misma versión de Iceweasel. O el mantenedor del paquete tiene mucho tiempo libre o realmente se toman en serio lo de estar actualizado en el navegador ;-)

    ResponderEliminar
  6. http://stefon.wordpress.com/2006/11/22/iceweasel-vs-firefox/
    perdon por poner enlaces aqui, pero creo que es necesario. iceweasel no es solo firefox con otro nombre. es una forma de entender la filosofia. es respetar el contrato social de debian. si, firefox es software libre. pero iceweasel es la version/vision del software libre de debian. si realmente creemos en todo esto, si creemos en debian... usar firefox es CASI como usar win. es saltarse las reglas.

    no es que yo tenga nada en contra de saltarme las reglas. pero si alguien se las va a saltar, que sea porque asi lo ha decidido, no por desconocimiento.

    PD: y aun asi, es mil veces mas simple y seguro tirar de repos oficiales de la distro, que andar bajandose cosas de sitios de terceros, por mucho que sea la web oficial de mozilla. y pondre un pequenio ejemplo: alguien, cuando se baja firefox manualmente, se molesta en comprobar la checksum?? no?? y como estais seguros de que no han hackeado el server, si no lo habeis comprobado? desde repos, se comprueba automaticamente, y si no coincide, chilla. ;)

    ResponderEliminar
  7. Pero el Logo del Zorro o Panda de fuego es mas chulo que el de La Comadreja de Hielo :P

    ResponderEliminar
  8. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  9. Mejor no se puede decir Niky, en efecto usar los repositorios propios de la distribución es la práctica más segura para instalar una aplicación en GNU/Linux.

    A todo esto, tienes muchísima razón cuando dices que usar Iceweasel es entender la filosofía de Debian. La disputa entre el equipo de Debian y el de Mozilla por la licencia del logo y el nombre de Firefox demuestra hasta qué punto los chicos de Debian se toman en serio el contrato social y los principios del software libre.

    Así que, en mi opinión, Iceweasel es un auténtico regalo de los chicos de Debian para sus usuarios (quitando el hecho de que el logo de la comadreja de hielo es bastante feucho, tal como apunta el compañero Yoyo) Iceweasel es, por así decirlo, un Firefox 100% libre. En cambio Firefox, ya sabemos que no lo es en su totalidad. Puede parecer una tontería dicho así, sobre todo teniendo en cuenta que el logo y el nombre no son partes esenciales de la aplicación, pero para Debian los principios del software libre son uno de sus pilares básicos. Por tanto, y en efecto, usar Iceweasel es hacer honor a esos magníficos principios del software libre en estado puro.

    ResponderEliminar
  10. Pues en mi caso, solo tuve que reinstalarlo y listo. Se resolvieron todas las dependencias.

    ResponderEliminar
  11. @Jose Miguel: bueno, como verás, a veces hay múltiples soluciones para un mismo problema xD No obstante, también lo intenté así y no tuve éxito.

    ResponderEliminar
  12. A veces pasan cosas, pero en principio si las configuraciones son las adecuadas no tendría que suceder (he publicado un post al respecto).

    Por otro lado, tu post es un magnifico ejemplo de que "todos los caminos llevan a Roma". Una de tantas virtudes de GNU/Linux.

    Saludos.

    ResponderEliminar
  13. Saludos

    Me da este error:
    iceweasel:
    Depende: xulrunner-16.0 pero no va a ser instalado

    Tengo actualmente
    10.0.7esr-2~bpo60+1
    Ultima version disponible
    16.0.1-1~bpo60+1
    Gracias
    fom78

    ResponderEliminar
  14. Yo con debian 7 recien instalado aun no e consegido abrir iceweasel , ni instalandolo a mano ni nada alguno tiene aklgu idea?

    ResponderEliminar