martes, 19 de noviembre de 2019

Solución al mensaje de error: "no admite arquitectura i386" de actualización de paquetes en Ubuntu


Hola amigos del software libre.

En este artículo os mostraré la manera de libraros de este molesto mensaje de error: "N: Omitiendo el uso del fichero configurado <<main/binary-i386/Packages>> ya que el repositorio <<http://el_que_sea>> no admite la arquitectura <<i386>>", que se manifiesta al actualizar el listado de paquetes desde los repositorios mediante el gestor de paquetes "apt".

Este mensaje aparece cuando los paquetes ubicados en dicho repositorio dejan de ser mantenidos y compatibles con CPUs de 32 bits y por ende por una distro del sistema operativo GNU de 32 bits.

Si este es vuestro caso, lo único que podéis hacer es dejar de usar dicho programa. Pero si vuestra CPU es de 64 bits y por tanto, vuestra distro también, podéis continuar usándolo. Pero hay que modificar ciertos archivos, para que no aparezca mas este mensaje.



Un apunte, estoy usando la distribución Ubuntu 18.04. Este artículo es aplicable a todas las distribuciones derivadas de la distribución Debian.

Os mostraré un ejemplo de este mensaje de error que me apareció y la forma de solucionarlo:

En mi caso hace años instalé la aplicación Google Earth desde los repositorios de Google, me hice con un ppa de ellos, lo agregué y posteriormente instalé el paquete con el gestor apt desde el emulador de terminal.

Al cabo del tiempo y después de actualizar el listado de paquetes mediante el comando " sudo apt update", al terminar la actualización me apareció este mensaje: 


"N: Omitiendo el uso del fichero configurado <<main/binary-i386/Packages>> ya que el repositorio <<http://dl.google.com/linux/earth/deb stable InRelease>> no admite la arquitectura <<i386>>"

Para que no nos vuelva a aparecer mas este mensaje debemos ir al archivo donde se almacena el directorio del repositorio.

Dicho archivo se encuentra en el directorio "/etc/apt/sources.list.d/". Para ir a este directorio usamos el comando "cd":

$ cd /etc/apt/sources.list.d/




En este directorio se almacenan todos los archivos que contienen las URI a los repositorios que no son de la distribución que estáis usando. En este caso estoy usando Ubuntu 18.04 y aquí es donde se almacenan para no mezclarse con las direcciones de los repos de Ubuntu.

Mediante el editor de línea de comandos "nano" editaré el archivo "google-earth-pro.list":

$ sudo nano google-earth-pro.list



Así es como se nos muestra este archivo, lo que haremos será añadir este texto "[arch=amd64]" como os muestro en la siguiente imagen:


Lo que le estamos diciendo es que solo queremos los paquetes de software para la arquitectura de 64 bits que se encuentran en los repositorios.

Una vez editado el archivo, guardamos los cambios y salimos.

Si ahora hiciéramos un "update" con el gestor "apt", veríamos que el mensaje no nos vuelve a aparecer.

ALERTA:

Pero cuidado, porque si reiniciamos el Pc nos encontraremos que el mensaje vuelve a aparecernos al realizar un "update" y si volvemos a mirar en el interior del archivo "/etc/apt/sources.list.d/google-earth-pro.list", veremos que los caracteres "[arch=amd64]" que hemos introducido con anterioridad han desaparecido.

¿A que se debe este hecho?

Al iniciar el Pc se ejecuta un script que se encuentra en el directorio "/etc/cron.daily/", el cual vuelve a cambiar la dirección del repositorio en el archivo "/etc/apt/sources.list.d/google-earth-pro.list", al estado anterior.

Por tanto, no reiniciéis la computadora y seguid con el último paso.

Para terminar de solucionar este embrollo debemos de editar dicho script. Así que nos situaremos en el citado directorio anterior:

$ cd /etc/cron.daily/

Y listaremos los archivos:

$ ls -l


En mi caso el script que debo editar es el "google-earth-pro". Por tanto, ejecutaré el editor nano:

$ sudo nano google-earth-pro



Buscaremos la variable REPOCONFIG y deberemos de añadir el texto "[arch=amd64]", como en la siguiente imagen:


Una vez realizado el cambio, guardamos el archivo y salimos.

Si ahora realizamos el:

$ sudo apt update



Ya no volveremos a ver el dichoso mensaje de error ni cuando volvamos a reiniciar el PC.

Evidentemente esto sirve para cualquier repositorio diferente al que os he mostrado como ejemplo, con la diferencia que tendréis que buscar cual es el nombre de vuestro archivo "*.list" en el directorio "/etc/apt/sources.list.d/" y de cual es el nombre de vuestro script en el directorio "/etc/cron.daily/".

Espero que este mini tutorial os sirva de ayuda.
Sin otro particular nos vemos en el próximo artículo.
Saludos.

22 comentarios:

  1. Gracias...!!!
    Excelente solución falto tal ves un paso antes sería en el caso de google earth poner el comando:
    wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    para solucionar lo de la key.

    ResponderEliminar
    Respuestas
    1. Hola, gracias por comentar. No tiene nada que ver, en este caso la key de Google era la correcta. No mostraba ningún error de clave errónea, por tanto es innecesario descargar el archivo *.pub y añadir la key. Saludos.

      Eliminar
  2. Genial! Funciona super bien!
    Gracias!! :D

    ResponderEliminar
  3. Excelente! Muchas gracias! Estaba ya harto del mensaje de error cada vez que se actualizaban los paquetes.

    Saludos y gracias

    ResponderEliminar
  4. Muchas gracias, lo aplique en ubuntu focal y me funciono, aunque no aparecían los que edite en cron.daily

    ResponderEliminar
    Respuestas
    1. No entiendo cuando dices que no aparecían los que editaste en cron.daily. Solo debes editar los que sean de 32 bits, no se que debiste editar para que no aparezcan o sea que no se comunique con el servidor. Cuidado con lo que editas. Saludos.

      Eliminar
  5. N: Omitiendo el uso del fichero configurado «restricted/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-updates InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «universe/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-updates InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «multiverse/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-updates InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «main/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «restricted/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «universe/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «multiverse/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»

    Hola Mira A Mi Me Aparce todo Esos Errores y No Se Por Que Yo Tengo Un Ubuntu 20.4 Alguien Que Me Ayudara Por Fa

    ResponderEliminar
    Respuestas
    1. Escribe todo el comando que ejecutas para que te aparezcan todos estos errores.

      Eliminar
  6. N: Omitiendo el uso del fichero configurado «restricted/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-updates InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «universe/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-updates InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «multiverse/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-updates InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «main/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «restricted/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «universe/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»
    N: Omitiendo el uso del fichero configurado «multiverse/binary-386/Packages» ya que el repositorio «http://co.archive.ubuntu.com/ubuntu focal-backports InRelease» no admite la arquitectura «386»

    Ayuda Por Favor Tengo Un Ubuntu 20.4

    ResponderEliminar
    Respuestas
    1. A ver si te funciona esta solución:

      Para confirmar que está usando ubuntu de 64 bits con un problema habilitado para multi arquitectura, Ejecuta en el terminal:

      dpkg --print-foreign-architectures

      Si la respuesta es:

      i386

      Es que ha agregado soporte de 32 bits.

      Para ver cual es su arquitectura nativa, ejecute:

      dpkg --print-architecture

      Si es nativo de 64 bits, verá esta salida:

      amd64

      Y la solución es la que relato en mi artículo para cada repositorio.

      Ejecute el siguiente coamndo para eliminar la arquitectura múltiple (solo si no tiene aplicaciones de 32 bits):

      sudo dpkg --remove-architecture i386

      Comente si se han solucionado sus errores.

      Eliminar
  7. Gracias, en mi caso con el primer paso de agregar la linea para 64 bits se arreglo el problema, reinicie el pc para ver y voila todo funcionando.

    ResponderEliminar
    Respuestas
    1. Me alegro, entonces el script que apunta a tu repositorio en concreto no modifica los datos al inicio del sistema.

      Eliminar
  8. hola, cuando pongo el *$ cd /etc/apt/sources.list.d/
    * me aparece *orden no encontrada*, que hago?

    ResponderEliminar
  9. Hola, muy buen post, pero por que no se ven las imágenes?

    ResponderEliminar

Gracias por participar en este blog.