Tengo Ubuntu 14.04. Recientemente descargué Viber . El archivo .deb de Viber tiene una arquitectura de 64 bits. Quiero instalarlo en mi computadora, pero mi computadora solo admite 32 bits.
El resultado de la ejecución lscpu
es el siguiente:
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 2800.000
BogoMIPS: 5586.12
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
software-installation
A Umar Mukthar
fuente
fuente
lscpu
en la Terminal?Respuestas:
Siempre que su hardware sea compatible con 64 bits, lo que hace:
y el paquete fue preparado para usar multiarch, que también es cierto:
simplemente puede instalar las bibliotecas y binarios de 64 bits necesarios que dependen del paquete (que es ninguno, más sobre eso más adelante) que necesita para ejecutar la aplicación, con un impacto virtual cero en el rendimiento. En mi caso, acabo de instalar el paquete muy bien:
Y luego comenzó a tener problemas ...
Los administradores de paquetes decidieron que no deberían enumerar ninguna dependencia para su paquete,
que realmente necesitan:
¡así que debe encontrar e instalar las bibliotecas que faltan manualmente! Esto es fácil si conoce las herramientas correctas.
apt-file
es útil aquí, también la funcionalidad http://packages.ubuntu.com "Buscar en el contenido de los paquetes" también está bien. Pero seguí adelante y los busqué:Estos archivos ya están instalados en mi sistema, solo necesita copiar el nombre del paquete, el que está antes de los dos puntos que termina con
amd64
. Debe copiar los nombres de los paquetes tal como están:Estos no los tuve instalados, que obtuve usando
ldd /opt/viber/Viber | grep 'not found' | awk '{printf "%s$\n", $1}' | apt-file search -x -a amd64 -f - | sed 's/\:/:amd64:/'
:apt-file
fue una provocación para darme los paquetes de 64 bits, así que tuve que hacersudo apt-file -a amd64 update
para forzarlo a tener la lista de archivos de 64 bits.Ahora, déjame explicarte qué es todo lo anterior:
ldd /path/to/binary
: lee un binario y le dice cuáles son las bibliotecas, símbolos, etc.dpkg -S
: busca qué paquetes proporcionan un archivo instalado específico.awk
,sed
ygrep
: están modificando la secuencia de texto para procesar solo las partes interesantes o mostrar el resultado deseado.|
,$(...)
: el primero me permite canalizar la salida de un comando a otro, y el segundo me permite ejecutar / evaluar un comando antes de que se ejecuten los principales.TL; dr solo instala estos paquetes:
También necesita instalar el núcleo de 64 bits.
fuente
sudo dpkg --add-architecture amd64
.No es posible instalar un software que admita solo un arco de 64 bits en un sistema operativo de 32 bits, mientras que lo contrario es cierto. Para instalar un software de 64 bits, necesitará un hardware que admita un sistema operativo de 64 bits y un sistema operativo de 64 bits que se ejecute en la parte superior.
También me gustaría mencionar que no es posible instalar el sistema operativo de 64 bits como una máquina virtual en un hardware que solo admite arquitectura de 32 bits. Su hardware debe admitir la arquitectura de 64 bits junto con el soporte de virtualización para crear máquinas virtuales de 64 bits.
fuente
Tengo que decir que no eres verdad sobre
Según la salida de correr
lscpu
su versión de Ubuntu que se instaló es de 32 bits, mientras que su sistema puede admitir aplicaciones de 64 bits si desea instalar la aplicación de 64 bits, debe instalar 64 bits del sistema operativo Ubuntu. ver estas líneas a continuación:Descargue e instale Ubuntu 14.04.1 de 64 bits y luego instale Viber también.
fuente
Puede instalar software de 64 bits en una máquina construida con hardware de 32 bits de la misma manera que puede ejecutar dicho software ARM en un objetivo x86, utilizando traducción dinámica.
Básicamente, una pieza de software como qemu se encuentra entre los programas y su computadora, realizando una traducción del conjunto de instrucciones AMD64 al x86 (probablemente i686) (con un impacto de rendimiento muy severo , lo que en su caso podría ser totalmente evitable).
Dado que está utilizando ubuntu, tiene una excelente documentación sobre cómo configurar esto . Básicamente, tiene una de dos opciones: puede ejecutar el programa en un entorno VM completo de 64 bits con su propio kernel o, lo que creo que desea aquí es la visualización del espacio del usuario, esto utiliza thunking (no creo que sea comúnmente llamó a thunking en estos días, pero olvide la nueva palabra) para traducir las llamadas del sistema de 64 bits a 32 bits para que pueda usar su propio núcleo.
Ahora la guía explica esto mejor que yo, pero en resumen necesitas instalar qemu y los paquetes qemu-kvm-extras-static y luego usar qemu-debootstrap para configurar un entorno y bibliotecas para tu programa de 64 bits. Luego debe usar binfmt_misc y el intérprete estático qemu (qemu-arch-static, en su caso probablemente x86_64, x64 o AMF64) para ejecutar su programa dentro de su entorno.
Sin embargo, tenga en cuenta que su CPU parece admitir instrucciones de 64 bits, por lo que es posible que instale ubuntu de 64 bits, sin emulación, puede ejecutar el código x86 en una máquina AMD64 y si puede hacerlo, puede ser más fácil, si, por otro lado, desea descubrir qemu y el mundo de la emulación de la arquitectura (puede venir más adelante si obtiene un programa creado para decir ... ARM como algo construido para un teléfono) Le recomiendo que siga adelante, pero tenga cuidado , las cosas a veces toman un poco de violín o depuración antes de que funcionen bien.
fuente
Lea acerca de las aplicaciones de 32 bits (x86) y 64 bits:
http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm
A veces es posible que una aplicación o paquete único [un archivo .deb] actúe como ambos después de la instalación.
es decir,
x86 app on x86 OS
yx64 app on x64 OS
fuente
x86 application on x64 OS
.Si está utilizando el sistema de 32 bits, use
sudo dpkg --force-architecture -i viber.deb
enlace: Cómo instalar Viber en Ubuntu 13.10, 32 bits
fuente