First, let's verify your system's architecture. Run this command in your terminal:
uname -m
Possible outputs and their meanings:
x86_64
: 64-bit systemi386
ori686
: 32-bit system
Your WHM shows CENTOS 6.5 i686 virtuozzo
, which indicates:
- Operating System: CentOS 6.5
- Architecture: i686 (32-bit)
- Virtualization: Virtuozzo
Key rules for package selection:
- 32-bit systems (i386/i686) can only run 32-bit packages
- 64-bit systems (x86_64) can run both 64-bit and 32-bit packages
- Mixing architectures can lead to dependency conflicts
For your system with i686 architecture, you should install i386 packages. Here's how to check available package architectures:
yum provides */package-name
Example for installing the correct version of MySQL:
# For i686 systems
yum install mysql.i386
# For x86_64 systems
yum install mysql.x86_64
If you need 32-bit libraries on a 64-bit system, use:
yum install package-name.i686
To see all installed packages by architecture:
rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort
Virtuozzo containers inherit the host's kernel architecture. Best practices:
- Match the container's userland architecture with the host's kernel
- Use
vzctl exec CTID uname -m
to check container architecture - Consider upgrading to 64-bit if possible for better compatibility
When your WHM shows CENTOS 6.5 i686 virtuozzo
, this clearly indicates you're running a 32-bit operating system. The i686
designation specifically refers to the 32-bit x86 architecture (a subset of i386), while x86_64
indicates 64-bit architecture.
The fundamental distinction lies in memory addressing capabilities:
- i386/i686: 32-bit architecture (max 4GB RAM addressable)
- x86_64: 64-bit architecture (supports vastly more memory)
Run this terminal command to confirm:
uname -m
For your system, this will return either:
i686
- Install i386 packagesx86_64
- Install x86_64 packages
When installing packages via yum:
# For 32-bit systems:
yum install package_name.i386
# For 64-bit systems:
yum install package_name.x86_64
Some 64-bit systems support running 32-bit applications through multi-lib. To check compatibility:
yum provides */lib/ld-linux.so.2
If available, you can install 32-bit libraries alongside 64-bit ones.
If you accidentally install the wrong architecture, remove it with:
rpm -e --nodeps package_name.architecture
Your Virtuozzo container inherits the host's architecture. Even if the physical server is 64-bit, your container's architecture (i686) dictates package requirements.