"uname -m" ist der Befehl, den Sie suchen. Sie können sowohl 32-Bit als auch 64-Bit auf modernen Intel- und AMD-Prozessoren ausführen, so dass "uname -p" Ihnen nicht weiterhilft (außerdem funktioniert es heutzutage meistens nicht, dies hier meint core2 die Antwort auf "uname -p". ist unbekannt").
Die Existenz von / usr / lib64 (wie vorgeschlagen) zu suchen, wird Ihnen ebenfalls nicht helfen, da einige Hardware- und System-bezogene Pakete sowohl 32-Bit- als auch 64-Bit-Bibliotheken installieren, um auf der sicheren Seite zu sein. Auf meinem (Debian-) System macht das fakeroot-Paket genau das.
Was die Ausgabe von "uname -m" betrifft, wenn es sich um i386 oder i686 handelt, dann sind es 32 Bit, wenn es sich um x86_64 (oder Alpha oder ia64 oder eine andere 64-Bit-Architektur handelt, die ich noch nie gesehen habe :), dann sind es 64 Bit.
(Spaß beiseite, mein 64-Bit-FreeBSD-Server gibt "amd64" zurück, was für einen Intel-Quadcore etwas seltsam sein könnte, aber völlig verständlich ist, wenn Sie die Geschichte der 64-Bit-x86-Architektur kennen.)
Gibt dies Aufschluss über die Installationsarchitektur oder die tatsächliche CPU-Architektur. Wenn Sie beispielsweise ein 32-Bit-Betriebssystem auf einer 64-Bit-CPU installiert haben, würde dies i686 oder x86_64 zurückgeben?
Monkut
15
uname -a und suche nach x86_64. Wenn Sie wissen möchten, ob Ihre CPU 64-Bit unterstützt, müssen Sie cat / proc / cpuinfo und in den Flags nach lm suchen.
Nur um die Dinge zu verwirren, können Sie einen 64-Bit-Kernel mit einem 32-Bit-Benutzerland ausführen, was ich auch tue. In diesem Fall uname -mkehrt x86_64aber ich habe nicht alle 64 - Bit - Bibliotheken so dass die meisten 64 - Bit - Programme installieren nicht ausgeführt werden .
Also , wenn Sie uname überprüfen, müssen Sie suchen /lib64/ld-linux-x86-64.so.2, /lib64/libc-2.7.sound /lib/ld-linux.so.2, /lib/libc-2.7.soum zu sehen , ob 64 - Bit und 32 - Bit - Bibliotheken zur Verfügung stehen. Führen Sie diese Dateien aus, um sicherzustellen, dass sie ordnungsgemäß ausgeführt werden.
Eine weitere nützliche Information ist die Ausgabe von lsb_release -across-distro, in der angegeben wird, welche architekturspezifischen LSB-Module verfügbar sind.
uname -m gibt dir nur den laufenden 'Bogen' / die Architektur des Kernels. Es wird NICHT angezeigt, ob Sie eine 32-Bit-GNU / Linux-Distribution auf einer 64-Bit-fähigen CPU ausführen.
So kennen Sie Ihre CPU-Kapazität:
cat /proc/cpuinfo
Das 'LM'-Flag sollte in 64-Bit-Systemen vorhanden sein, da es den' LONG MODE'-Modus darstellt (64-Bit-Erweiterungen, AMDs AMD64 oder Intels EM64T).
Antworten:
"uname -m" ist der Befehl, den Sie suchen. Sie können sowohl 32-Bit als auch 64-Bit auf modernen Intel- und AMD-Prozessoren ausführen, so dass "uname -p" Ihnen nicht weiterhilft (außerdem funktioniert es heutzutage meistens nicht, dies hier meint core2 die Antwort auf "uname -p". ist unbekannt").
Die Existenz von / usr / lib64 (wie vorgeschlagen) zu suchen, wird Ihnen ebenfalls nicht helfen, da einige Hardware- und System-bezogene Pakete sowohl 32-Bit- als auch 64-Bit-Bibliotheken installieren, um auf der sicheren Seite zu sein. Auf meinem (Debian-) System macht das fakeroot-Paket genau das.
Was die Ausgabe von "uname -m" betrifft, wenn es sich um i386 oder i686 handelt, dann sind es 32 Bit, wenn es sich um x86_64 (oder Alpha oder ia64 oder eine andere 64-Bit-Architektur handelt, die ich noch nie gesehen habe :), dann sind es 64 Bit.
(Spaß beiseite, mein 64-Bit-FreeBSD-Server gibt "amd64" zurück, was für einen Intel-Quadcore etwas seltsam sein könnte, aber völlig verständlich ist, wenn Sie die Geschichte der 64-Bit-x86-Architektur kennen.)
quelle
uname -a und suche nach x86_64. Wenn Sie wissen möchten, ob Ihre CPU 64-Bit unterstützt, müssen Sie cat / proc / cpuinfo und in den Flags nach lm suchen.
quelle
für RedHat / CentOS:
32-Bit
64-Bit
quelle
Nur um die Dinge zu verwirren, können Sie einen 64-Bit-Kernel mit einem 32-Bit-Benutzerland ausführen, was ich auch tue. In diesem Fall
uname -m
kehrtx86_64
aber ich habe nicht alle 64 - Bit - Bibliotheken so dass die meisten 64 - Bit - Programme installieren nicht ausgeführt werden .Also , wenn Sie uname überprüfen, müssen Sie suchen
/lib64/ld-linux-x86-64.so.2
,/lib64/libc-2.7.so
und/lib/ld-linux.so.2
,/lib/libc-2.7.so
um zu sehen , ob 64 - Bit und 32 - Bit - Bibliotheken zur Verfügung stehen. Führen Sie diese Dateien aus, um sicherzustellen, dass sie ordnungsgemäß ausgeführt werden.Eine weitere nützliche Information ist die Ausgabe von
lsb_release -a
cross-distro, in der angegeben wird, welche architekturspezifischen LSB-Module verfügbar sind.quelle
lsb_release -a
Die Userland-Architektur wird leider nicht ausgegeben$> getconf LONG_BIT
Antwort: 32 oder 64.quelle
Eine andere Möglichkeit besteht darin, Perl zu fragen, welcher Compiler die Größe einer langen Ganzzahl angibt:
gegen
Oder, wenn du gcc installiert hast, dasselbe in C:
gegen
:-)
quelle
Als Duplikat von:
Linux + wie man Linux Version 32 Bit oder 64 Bit verifiziert
uname -m gibt dir nur den laufenden 'Bogen' / die Architektur des Kernels. Es wird NICHT angezeigt, ob Sie eine 32-Bit-GNU / Linux-Distribution auf einer 64-Bit-fähigen CPU ausführen.
So kennen Sie Ihre CPU-Kapazität:
Das 'LM'-Flag sollte in 64-Bit-Systemen vorhanden sein, da es den' LONG MODE'-Modus darstellt (64-Bit-Erweiterungen, AMDs AMD64 oder Intels EM64T).
quelle
quelle
Wenn Sie / usr / lib64 haben, führen Sie x86_64 aus.
quelle
Brad Gilberts Befehl hatte einen Perl-Fehler. Ich habe es behoben und der folgende Befehl funktioniert: cat / proc / cpuinfo | grep ^ flags | perl -e '$ = <>; print ($ ? "x86_64 \ n": "nicht x86_64 \ n")'
quelle