Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am wanting to install an RPM package, but I'm not sure whether to install the x86_64 or i386 version. WHM says CENTOS 6.5 i686 virtuozzo at the top.

How can I determine which version to install?

share|improve this question

closed as off-topic by ewwhite, Ward, warren, Falcon Momot, Jenny D Jul 29 '14 at 9:12

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions must demonstrate a minimal understanding of the problem being solved. Try including attempted solutions, why they didn't work, and the expected results. See How can I ask better questions on Server Fault? for further guidance." – ewwhite, Ward
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 10 down vote accepted

In this case, use the i386 (or 32-bit) package.

share|improve this answer
Why? You answer ought to provide support or reasoning. – ArtB Jul 25 '14 at 21:07
@ArtB Well, this is because the x86_64 package (64-bit) won't run on a 32-bit platform. – ewwhite Jul 25 '14 at 21:11
Correct me if I'm wrong, but isn't this why it's x86? For the various numbers that could go in the x position? – jpmc26 Jul 25 '14 at 23:37
@jpmc26 but the choices are i386 and x86_64, note the _64 meaning "64 bit". He's running i686 which is not 64-bit so i386 is the proper choice. – Josh Jul 26 '14 at 3:32
@Josh ?? I think you misunderstood my comment. I was saying that x86 describes the series of processors architectures than end in 86. So i386 is one of them, where the x is filled in by the 3. – jpmc26 Jul 26 '14 at 3:36

A quick overview of architecture names for x86 systems:

  • i386: The 80386 CPU has historically been the bare minimum for running Linux on a PC-compatible system. Consequently, a package for "i386" is designed for maximum compatibility and can run on any x86-like system; a system that describes itself as "i386" is either ancient or exotic, and can only be counted on to run i386 packages.
  • i485, i586: Rarely-seen, these refer to the 80486 and Pentium (80586) CPUs. Almost nobody builds packages specifically for them, targeting either i386 or i686 instead.
  • i686: This is the "P6" microarchitecture, used by Intel for the Pentium Pro and newer. It's generally considered the baseline for "modern" 32-bit x86 systems. An "i686" package is designed to run on these systems (and will usually perform better than a "i386" version); an "i686" system can run any i386, i486, i586, or i686 package.
  • x86_64: This is the 64-bit instruction set for x86 CPUs. An "x86_64" package can only run on x86_64 systems; an "x86_64" system requires special kernel and library support (which almost all mainstream Linux distros provide) to run packages from the i*86 family.

You've got an "i686" system, so given the choice between "i386" and "x86_64", you want the "i386" version.

share|improve this answer
And you should add this list is read from the bottom up: you start the bottom until you hit your system's architecture, and you go up until you hit a package architecture. Kind of. – Calimo Jul 27 '14 at 7:50

You can simply use the "arch" command in order to have your answer.

share|improve this answer
It says i686, but that RPM package isn't available (only x86_64 and i386). – Nate Jul 25 '14 at 17:11
@Nate They mean exactly the same thing for this purpose. – Michael Hampton Jul 25 '14 at 17:14
As ewwhite says, in that case go for i386 version. – Zatarra Jul 25 '14 at 17:18

You need the 32-bit (i.e. the i386) package as the "i686" report shows that you're running a 32-bit platform.

As a general rule, if you're not sure of the destination platform, get the 32-bit build, as a 64-bit platform can run a 32-bit image, but not the other way around.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.