Recientemente instalé Virtual Box y no entendía por qué no ofrece ninguna versión de 64 bits de ningún sistema operativo.
Así que miré lo que tenía instalado y encontré tres comandos diferentes para tratar de averiguar qué estaba pasando.
uname -a
Revela:
Linux kubuntuBox 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Parece que he instalado una versión de 64 bits de Kubuntu.
El segundo comando que encontré mira las banderas:
grep flags /proc/cpuinfo
Lo que genera la siguiente línea 8 veces:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
No estoy muy seguro de por qué aparece 8 veces, pero lo es. Es extraño que lo haya hecho lahf_lm
pero no.lm
El mejor comando que encontré fue getconf WORD_BIT
el que resultó 32
tan claro como el día.
Ahora estoy confundido: definitivamente instalé la versión de 64 bits de Kubuntu (14.04) y ejecuté dist-ugrades aproximadamente una vez al mes, pero el sistema operativo parece estar ejecutándose en modo de 32 bits.
¿A qué se debe esto y cómo lo resuelvo? ¿Tendré que reinstalar Kubuntu?
Respuesta1
Es fácil, de verdad. Lo ejecutaste exitosamente getconf
, así que veamos eso. Ejecute el siguiente comando:
file $(which getconf)
Saldrá algo como esto:
/usr/bin/getconf: ejecutable ELF LSB de 64 bits, x86-64, versión 1 (SYSV), vinculado dinámicamente, intérprete /usr/lib/ld-linux-x86-64.so.2, para GNU/Linux 2.6 .32, BuildID[sha1]=e9b5e04a7d7c7552abb2e260d9c17c8ffb4ce2a3, eliminado
...lo que indica claramente que estás ejecutando un sistema de 64 bits. De lo contrario, después de todo, no podrías ejecutar programas de 64 bits.
El uname
resultado también muestra claramente que es un x86_64
kernel.
getconf
es simplemente incorrecto (o más bien, no tiene sentido). /proc/cpuinfo
También puede estar mal, lo que está escrito allí depende de un analizador simple en el kernel.
Contiene información sobre todos los procesadores del sistema, por lo que tendrás 4 bloques en una CPU de 4 núcleos. Multiplicado por 2 si Hyper-Threading está activo.