End of era for my Fedora based server after almost five years of service. The box now runs CentOS. I had this box at home and it was the only Fedora Server I ever maintained at home or elsewhere. I should state from the beginning that it was only Fedora’s short life-cycle that practically forced me to switch. Other than that, I’ve never encountered a single issue with its performance, stability or security, even if I had been upgrading through yum since Fedora Core 3 (upgrading through yum is probably still an officially unsupported feature).
You have probably read several times on this website about the stability issues I had faced on my Fedora Desktop. All those issues were entirely related to graphical applications and are common among all Linux distributions that are used as desktop operating systems. There is a huge gap in quality between the software that is used to run a WWW, SMTP, FTP, et cetera server and the software that is used on Linux desktops. Anyway, I won’t go into the details of this topic in the current post. I would like to say only this: If Fedora’s short life-cycle and the frequent updates are not a problem to you, then Fedora automatically becomes a very strong candidate for your server.
Having used Red Hat Linux, CentOS and Fedora over time I have finally come to several conclusions about each of them (well RHL has reached EOL). Below, I try to summarize the advantages and downsides of each of the last two distributions both as an operating system for a server and as a project to which you might want to contribute (since you use it on your boxes):
- Almost guaranteed stability. The distribution includes old but proven versions of software which are very unlikely to have serious security or blocker bugs. “Almost” is used because you get true guaranteed stability only by using Red Hat Enterprise Linux (RHEL), which is available under contract by Red Hat Inc.
- The CentOS or better the RHEL Life-Cycle is 7 years.
- The included software on the base repositories does not fully cover the needs of a modern server. Using software from 3rd party repositories has become a common practice among CentOS users. There are some well-known repositories, but it may happen that you have to use a package from a repository that is not so popular or (many times) completely unknown. Using software from 3rd party repositories renders your installation less secure.
- If a bug is not security-related, it may take several months (sometimes more than a year) to get fixed. Although the sources are the same with RHEL, except for the artwork, logos and release notes, CentOS has its own bug tracking system, which is completely unrelated to the Red Hat bug tracking system, meaning that they do not monitor or notify each other for bug submissions and fixes, despite the fact that the two OSes are almost alike. In practice, this is worse than it sounds. Things *could* be better.
- The organization of the community behind CentOS is not very clear. Even if you want to contribute some time and effort you will have to accept some things “as is”. In general, it is nowhere near the organization and openness of the Fedora community.
- CentOS does not differ from the vast majority of Linux distributions when it comes to your relationship as a contributor to the project, which is mostly governed by “bro” rules and practices.
- Software availability. The project’s repositories contain a huge amount of packages, which have been built with common, well-documented packaging guidelines. Almost any software a modern server may require can be found in the main RPM repository. Only in rear occasions you will need a 3rd party repo.
- A well-organized community around the project. All procedures are open and well-documented.
- Professional procedures and practices govern your relationship to the project as a contributor.
- Bugs are resolved rather quickly, especially blocker bugs.
- Short life-cycle of about 13 months.
- Theoritically, less stable versions of software than CentOS or RHEL. Even the server software is updated too often. Despite of the high quality of the server software, the frequent updates makes it “feel” less stable. From my own experience though, I’d say that, if CentOS gets an “100% Stable” label, a Fedora Server gets a 99.5%. Personally, although I had set up several services on the box, I never had any stability issues, but that does not necessarily mean that they do not exist.
As you can see, both distributions have their downsides. Now that I have written all the above, I think that there is a gap between the two OSes, which could be filled by a 3rd operating system. A system that would be more modern than CentOS, but less “cutting edge” than Fedora, and which would have a life-cycle of about 3-4 years. That would be very interesting.
Personally, I have successfully used both operating systems as servers for several years. I cannot make up my mind and decide which one better meets a server’s requirements. As I have previously mentioned, I decided to fully switch to CentOS because of the significantly longer life-cycle.
The Fedora Server vs CentOS by George Notaras, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.