Ejecute la zona de usuario de 32 bits en lugar de la de 64 bits en un entorno Linux de 64 bits

1

Esto puede ser lo opuesto a una pregunta, pero me preguntaba si de todos modos hay que ejecutar un territorio de usuario de 32 bits en lugar de uno de 64 bits en un entorno Linux de 64 bits. Podría ejecutar software de 32 bits a través de multi-lib o algo similar. Podría pensar en posibles usos para este como:

  • Use menos uso de memoria a cambio de un rendimiento más lento por Comparación en la ejecución de la versión de 64 bits.
  • Tener una menor huella de memoria podría hacer posible ejecutar el El sistema operativo de 64 bits (con la zona de usuario de 32 bits) en aquellos sistemas con algo bajo RAM como 2 conciertos.
  • Algunas aplicaciones de 32 bits se ejecutarán más rápido que el sistema operativo de 32 bits, a menudo compilo kernels personalizados desde el sitio web del núcleo de linux
  • Podría dar la ilusión de ejecutar un software de 64 bits en un sistema operativo de 32 bits.

Y sí, hay algunos inconvenientes, como consumir el doble de espacio en disco, el administrador de paquetes confunde la arquitectura que instalaría. También requeriría un procesador capaz de ejecutar los conjuntos de instrucciones.

¿Hay alguna forma de hacer la cosa?

user128712
fuente

Respuestas:

0

Puede ser posible con las distribuciones donde puede especificar explícitamente la arquitectura de la máquina, pero nunca la he probado. Estoy feliz con mi entorno ligero de 64 bits. :)
En Arch Linux, puede especificar la arquitectura en pacman.conf.
También puedes probar Gentoo y agregar -m32 a CFLAGS.
Por último, puede intentar forzar la instalación de un kernel de 64 bits en un entorno de 32 bits y cargarlo con el cargador de arranque en lugar del kernel provisto por la distribución.
Pero no confiaría en aplicaciones de 32 bits en un sistema de 64 bits. Casi todas las aplicaciones se pueden compilar para amd64 y, a menudo, se ejecutarán más rápido que sus contrapartes de 32 bits debido a la arquitectura más reciente. Las aplicaciones de 32 bits a menudo se optimizan para i686, donde las de 64 bits se optimizan para al menos Pentium 4, que es una CPU mucho más reciente con características más avanzadas que el compilador puede usar en las optimizaciones. Por supuesto, las aplicaciones de 64 bits utilizan un poco más de memoria, pero no tanto que no valga la pena, y la memoria no debe ser un problema si se utiliza un entorno ligero.

user289076
fuente
Estoy de acuerdo con lo que has dicho. Así que después de un tiempo, lo he intentado, pero parece que necesitaba algo así en el que puedo descargar diferentes versiones en el mismo repositorio. Además, ubuntu y debian parecen tenerlo también. Primero lo probé en Arch, todo va bien, excepto el administrador de paquetes, que confunde qué paquete es el correcto. En Ubuntu, funciona un poco después de copiar algunos archivos desde el núcleo de 64 bits (la mayoría de las bibliotecas) al de 32 bits y hacer que apt-get descargue el repositorio para ambas arquitecturas. Después de eso, podría ejecutar bash shell (64 bits) con el núcleo de 64 bits en el sistema de 32 bits.
user128712