Originally Posted by futoskope
I saw some software have installation bundle/rpm for specific architechture like i386,i586,i686,x86_64...how can I determine exactly which package is suitable for my machine.
I'm pretty sure your hardware covers all the above architectures. The "lm" in flags means "x86_64" and I think support for the others is all implied by x86_64.
In order to run software of a specific architecture, you also need a Linux kernel that supports that architecture.
Someone already suggested "uname -m" to find out what architecture the kernel itself uses.
If the kernel isn't x86_64 then no application program can be x86_64. Other than that, you probably can have any combination within the list you provided (686 applications on a 586 kernel, 386 application on an x86_64 kernel, etc.)
You might have some unusual distribution that doesn't support that (allows only x86_64 applications when the kernel is x86_64). But that isn't likely.