Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
What is the basic difference of 'x86' and 'x86-64' ? In my Linux server , using which command I can understand that my server supports either 'x86' or 'x86-64' architecture ?
It's late here. My mind isn't recalling a single command to tell you that, but it's all in the CPU, so to speak. (Assuming a Linux distro.)
Code:
cat /proc/cpuinfo
And check the "vendor_id" and the "model name". Go to the manufacturer website (almost certainly intel or amd) and lookup the specific info on that processor. They will tell you what its capabilities are (32 bit or 64 bit).
arch, uname, etc. will tell you about your OS, not about your machine. Since x86_64 based cpus can run x86 based software, these commands tell you nothing conclusive.
bianL has the right answer, use this command and seach for "lm" in the flag list. "lm" stands for "long mode" and means that your cpu has 64 bit extensions.
What is the basic difference of 'x86' and 'x86-64' ? In my Linux server , using which command I can understand that my server supports either 'x86' or 'x86-64' architecture ?
Follow instructions from brianl and i92guboj.These are specific answer.
What is the basic difference of 'x86' and 'x86-64' ?
The big difference is 32 bit vs. 64 bit. There are other differences as well.
Quote:
which command I can understand that my server supports either 'x86' or 'x86-64' architecture ?
"server" might mean your hardware or software or both. So those who replied earlier told you both how to find out whether your hardware supports both x86 and x86-64 architectures and whether your Linux kernel supports x86-64
The lm flag in /proc/cpuinfo means the hardware supports both. Lacking the lm means the hardware does not support x86-64.
The x68_64 that appears in the result of any of the commands uname -a
uname -p
uname -i
uname -m
arch
means your Linux kernel supports x86-64. Lacking that "x86_64" means the kernel does not support x86-64. (You only need one of those commands. They will all say x86_64 or none of them will say x86_64).
Any hardware that supports x86-64 also supports x86.
I think any Linux kernel that support x86-64 also supports x86 user programs, but a Linux distribution including an x86-64 kernel might not support x86 user programs (most such distributions do support x86 user programs, but it is possible for a distribution to not support x86).
I think any Linux kernel that support x86-64 also supports x86 user programs,
As long as it has been compiled with IA32_EMULATION enabled.
Quote:
but a Linux distribution including an x86-64 kernel might not support x86 user programs (most such distributions do support x86 user programs, but it is possible for a distribution to not support x86).
The support in the userland is basically provided by making present the relevant libraries for 32 bits. The only thing you need os to add the directories containing the 32 bits libs to the LD_LIBRARY_PATH, that's usually done by adding them to /etc/ld.so.conf or similar.
However, if the distro has not at least some basic support (at least a multilib'ed glibc/libc6) it soon becomes a pain to maintain.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.