Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
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.
I have noticed Redhat based destros are still using for the most part i386 rpms. Centos in particular has an i686 kernel but all rpms are compiled in i386. Why is this as I don't understand and must be missing something?
This implies to me it will not work on older systems that only work with i386. So why compile all rpm in i386.
I am quite capable of compileing from srpms myself and do for apache and php as the default setups don't work for me. But I have a lot of servers to manage and recompile all the rpms would be a lot of work. But that is beside the point as I am not asking for them. I am just asking why not.
nope. the file you cat'ed looks like it just determines what architecture you're running. it doesn't mean that the packages installed on your machine are from i686 rpms. kinda like running the 'uname -m' command. but anyhoo, i686 computers can run just about any kind of architecture specific rpms (i386, i486, i586, i686). most computers now are i686 arch. computers. my laptop from 1997 is an i686 arch. computer. basically this means that modern computers can run rpms that were compiled for the i386, i 486, i586, and i686 computers (usually) - an i386 rpm should install and the program should run on your computer.
Originally posted by megaspaz nope. the file you cat'ed looks like it just determines what architecture you're running. it doesn't mean that the packages installed on your machine are from i686 rpms. kinda like running the 'uname -m' command. but anyhoo, i686 computers can run just about any kind of architecture specific rpms (i386, i486, i586, i686). most computers now are i686 arch. computers. my laptop from 1997 is an i686 arch. computer. basically this means that modern computers can run rpms that were compiled for the i386, i 486, i586, and i686 computers (usually) - an i386 rpm should install and the program should run on your computer.
I am sorry I was not clear. I am not asking if my packages are i686 I know they are i386. I am also not asking if I can run i386 as I now I can. I am aware my architecture is i686. My question is based on the fact that all centos rpm's in yum are i386 but my kernel is compiled for i686.
Fedora seems to be the same. i686 architecture but i386 rpms. From what I understand i686 is designed to run better on newer processors as it is designed to use the new features. So why are a few distros releasing a i686 kernel but only i386 rpms.
Originally posted by megaspaz well, again, compatibility with older machines... and again, for your other question (Don't you lose the advantage of compatibility when the core of the destro is i686?), the answer is no.
So if you kernel is i686 it will run on computers that wont support i686. All you have to do is make sour you packages like bind and apache are i386? Ether you donít know what you are talking about or I am missing something with respect to what i686/i386 really is and how it is used and combined with respect to compatibility.
I still donít get why a distro would release a cd with the kernal compiled for i686 and everything ells for i386. If it were all i386 like redhat 7.2 then I understand as it will work on older computers. Or if it is like mandrake that is compiled entirely for i686 for only newer computers. But half and half like fedora or centos I just donít understand.
I may have to contact a package maintainer to get the answer to this. But thanks for the help megaspaz I have received thus fare. I am glad you are doing your best to help me with this.
sorry. didn't read your post carefully. as far as kernel packages in yum being i686 that's probably a distrobution choice. I'm running red hat 7.3 and all the kernel's i've ever gotten through updates were i386 even though my machine was i686. I had to go and compile an i686 kernel myself. So i don't know why through yum the kernel's are i686 and the other packages are i386. maybe it's easier for them to do multiple archs on the kernel than it is to do it for all the other packages out there. it could be when you first installed your distro, it installed an i386 kernel package and then some profiling by yum figures out you have an i686 machine and gets you those packages. Since the other packages in you repository are only i386, you get those. or from your install cd/dvd, there could be multiple kernel versions for different archs and some profiling in the installer chooses the kernel. i dunno. generally, you need to compile from source an i686 target if you want to take advantage of the i686 arch.
So the short answer is, I don't know why your repo has only i686 kernels and the other packages are i386. but for your original question, providing i386 packages allows a program to be run on more machines.