Hoe bepaal je of een bepaalde Linux 32 bit of 64 bit is?
Als ik uname -a
typ, geeft het de volgende uitvoer.
Linux mars 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:50:33 EDT 2008 i686 i686 i386 GNU/Linux
Hoe kan ik hieruit opmaken of het opgegeven OS 32 of 64 bit is?
Dit is handig bij het schrijven van configure
scripts, bijvoorbeeld: voor welke architectuur ben ik aan het bouwen?
466
3
Probeer
uname -m
. Dat is een afkorting vanuname --machine
en het geeft uitvoer:Anders, niet voor de Linux kernel, maar voor de CPU, typ je:
of:
Onder "flags" parameter, zult u verschillende waarden zien: zie "Wat betekenen de vlaggen in /proc/cpuinfo?" Onder hen, is één genaamd
lm
:Long Mode
(x86-64: amd64, ook bekend als Intel 64, d.w.z. 64-bit geschikt)Of met
lshw
(zoals hieronder genoemd door Rolf van Saksen), zondersudo
(alleen voor het greppen van de cpu breedte):Note: je kunt een 64-bit CPU hebben met een 32-bit kernel geïnstalleerd.
(zoals ysdx vermeldt in zijn/haar eigen antwoord, "Tegenwoordig kan een systeem multiarch zijn, dus het heeft sowieso geen zin. Je zou de standaard target van de compiler kunnen vinden")
Als u op een 64 bit platform draait, zou u x86_64 of iets heel gelijkaardigs zien in de uitvoer van uname -a
Om de hardware-naam van uw specifieke machine te krijgen, voert u
U kunt ook
die ofwel 32 of 64 teruggeeft
Dat systeem is 32bit. iX86 in
uname
betekent dat het een 32-bit architectuur is. Als het 64 bit was, zou het teruggeven