Source: https://www.zhihu.com/question/19599986
Author: https://www.zhihu.com/people/yuan-hao-yang/answers
It ops people have a better perspective.
First of all, I would like to invite you players, you do not have their own recent new play on what to feel good, and then wantonly recommended what good bad! Negative point of responsibility good bad! People are servers, sometimes choose the wrong version of a release will be painful to death of a group!
Yes, you now finally found that there is a version called Ubuntu, so cool ah, so many bags, casually apt-get, 30,000 bags lying in the warehouse without compiling. It's so cool! Almost all software is available in the latest version! Alas? After two days you found that Ubuntu was originally from Debian, Debian is called cattle ah, the full community operation, the number of bags is a lot of AH. Two days to find Gentoo, wow, cow! The ultimate optimization of performance, compilation and compilation, configure, configure, configure, streamlined to the extreme. After two days of Gentoo play tired, is not compiling it ~ ah? The original Arch Ah, this is good, want to compile the compilation, do not want to compile the default package. Then 2 months did not Pacman updated system, update all hung up.
Your ideology, walking at any stage, considers this phase to be the best choice. But that's not the case, it's just your interest.
To discuss this issue, first know the difference between the two major releases. RedHat and Debian.
One, version definition
RedHat is a release version maintained by Red Hat Corporation. Its RedHat 9 is the last release to be named RedHat. After RH9, the version began to be divided into community-maintained Fedora and enterprise-used EL. And what we call CentOS X is compiled from RHEL x. So in essence, the target user of CentOS is the server of the enterprise.
CentOS is a release concept, what is the release concept? When a version is set, most of its packages, including Kernel, have been finalized. Under this release, there is no special case, the large version number is not changed.
For example, a Kernel version of CentOS 6:
2.6.32-358.el6.x86_64
2.6.32 is the kernel version number, 358 is the packaged version number, and the packaged version indicates that the package was packaged several times. It is normal for RHEL to pack a kernel 500 700 times.
Another example of some software, 1.1.3 is a version, if the software itself is defined, the last one is the bugfix version, the penultimate is the function version, then you in RHEL, rarely see feature updates! You will usually only see the bugfix update! That is, you will only see the minor version number update.
Debian is a distributed version that is maintained and contributed by the community, and it is decentralized, packaged, and organized by the community.
Debian is a concept of release that has no real meaning. Debian has many warehouses, stable,testing,unstable, experimental. The way the Debian organization system is, a software first into the experimental, put a period of time, there is bug fix bug, no bug, over a period of time moved into the unstable, so the cycle eventually moved to stable inside. So in this case, the Debian system is not a stable version of the concept. Today you use kernel 3.2.1-87, tomorrow will update you to kernel 3.3.2-5.
--------Supplemental content-------
I think I have explained my so-called release concept very clearly, but there are people in the comments who are telling me that Debian is a release. The release I'm talking about is not the concept of a time line, called a name. This is the concept of version maintenance.
@ Liu Shiwei says Debian is the same, okay, I'll prove it to you.
You get Debian from here--the LINUX-IMAGE-3.2.0-4-AMD64 package details in Wheezy can be taken now by Debian stable Linux kernel packaged, downloaded, decompressed,
There is a changelog below the USR/SHARE/DOC/LINUX-IMAGE-3.2.0-4-AMD64 directory. Debian, grep a bit:
- grep wheezy changelog. Debian
- Linux (3.2. 3) wheezy; urgency=Medium
- Linux (3.2. 2) wheezy; urgency=Medium
- Linux (3.2. 1) wheezy; urgency=Medium
- Linux (3.2. 2) wheezy; urgency= High
- Linux (3.2. 1) wheezy; urgency= High
- Linux (3.2. 2) wheezy; urgency= High
- Linux (3.2. 1) wheezy; urgency=Medium
- Linux (3.2. Wuyi-1) wheezy; urgency= Low
- Linux (3.2. 1+deb7u1) wheezy-security; urgency= Low
- Linux (3.2. 1) wheezy; urgency= Low
- linux (3.2. 41-2+deb7u2) Wheezy-security;=high
- Linux (3.2. 2+deb7u1) wheezy-security; urgency= High
At least inside the wheezy (stable), he went from 3.2.41 to 3.2.57, while ... You can see that each version is packaged 1-2 times, 1-2 times! And the Debian unstable walk to stable really is casually walk.
Linux (3.2.41-2+DEB7U1) was the first stable version, and his previous version was
Linux (3.2.41-2) unstable, OK, 3.2.41 the second time, add a patch and it becomes stable.
Linux (3.2.41-1) unstable, got it, 41 hit it once.
Linux (3.2.39-2) unstable, 39 also two times.
From this process, you can see that Debian in general, or in the following Kernel Source, why? No one! It is better to rely on the small version of the Kernel itself to patch patches than by the scattered people.
Where's RedHat?
Put a release Note for RHEL 6.4
Https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/6.4_Technical_Notes/kernel.html
RHEL, is not with the kernel source of the small version number, their own integration bugfix, mainly security-related patches.
Why not with kernel source?
The main or the target user is different, just like I drive this piece to explain. RHEL's target user, the enterprise's Server, his Kernel inside, already too many things have been replaced. disk, network card, a variety of drivers. Kernel source, though only a minor version, is not very reliable. Frequent take over the risk is also large.
Kernel actually go to 2.6, there is no real stable concept. Anyway, it's all the way forward. Of course, 2.6.32.xx is really bugfix-dominated. But this volume is too big, all kinds of trivial, RHEL is not all brought in.
You have to argue with me about the version of the problem, OK, I do not argue with you, Debian Stable is a version of ~ Are you satisfied? This one kernel Pack 2 times of the state, you love to use it well. That doesn't matter.
But a version of it is just stable,testing I have never seen.
To tell the truth, I really spent my mind looking for a bit more information about Debian,
11 entered the stable of 6.0, and there was indeed an update recently, in the APR 2014.
Http://metadata.ftp-master.debian.org/changelogs//main/l/linux-2.6/linux-2.6_2.6.32-48squeeze5_changelog
The Lenny, which was released in 09, was 5.0, and it was hard to find information at all. If anyone can find Lenny trouble for a kernel changelog
-----Supplement Ends-------
And the successor of Ubuntu, he has the concept of release, such as 9.04, 10.06, etc., when he determined the release, he will not make too much version changes in this version.
But the problem is that he learned the shape of CentOS and did not learn the essence of CentOS. Why? Because he wants to pursue new (two editions a year), but also want to learn to eat the server market. This is one thing that is completely contradictory to each other.
New, good to do, as long as follow the Debian Walk, experimental warehouse is always the newest thing. Take it, test it, repack it, release it!
Stability? (Ubuntu-server) This is difficult, it requires constant human input, Debian will not help you do it naturally. Do it yourself? Ubuntu tried several times and I didn't see success at the moment. Almost all of them gave up hastily.
Second, the power of maintenance
Do you know what it's called to maintain a release version of a server?
CentOS 4.0 2005-03-09
CentOS 4.9 2011-03-02
6 years
Ubuntu 8.04 LTS April 24, 2008
Ubuntu 8.04.4 LTS January 28, 2010
1 Years 9 months
What did you say about LTS???
Ubuntu 10.04 LTS April 29, 2010
Ubuntu 10.04.4 LTS February 16, 2012
Well, what about LTS?
Say End of the Date is 3 years is a joke, as long as the next release, the last release received a poor number of updates.
This is the strength of RedHat! You just use my distribution version, you don't have to worry about! What about Ubuntu? Joking, even LTS, after the new version comes out, LTS is almost not updated well. Patch? I've never seen it before! That is, LTS's real life span is 6 months-1 years. How dare you use it? Do you dare to use it for your company?
One day a software burst out similar to the recent OpenSSL, with CentOS 5 users get the upgraded RPM the next day. A large version of the update was received by a Debian user, and the dependencies must be updated glibc, kernel, and so on. Users in Ubuntu receive an official reply: "Apt-get Dist-upgrade"
This is the difference in maintenance for these releases.
We say back to RHEL, many people do not understand, think Ubuntu "new", RHEL "old".
There is a Broadcom network card on your server, and CentOS 6 (2.6.32-358.el6.x86_64) users modinfo a bit
- FileName: /lib/modules/2.6. -358.6. 1.el6.x86_64/kernel/drivers/net/tg3. Ko
- Firmware: tigon/tg3_tso5. Bin
- Firmware: tigon/tg3_tso. Bin
- Firmware: tigon/tg3. Bin
- Version: 3.124
Debian Testing (3.12-1) users modinfo a bit
- FileName: /lib/modules/3.12-1-amd64/kernel/drivers /Net/Ethernet/broadcom/tg3. Ko
- Firmware: tigon/tg3_tso5. Bin
- Firmware: tigon/tg3_tso. Bin
- Firmware: tigon/tg3. Bin
- Version: 3.133
Do you know which version of the TG3 drive http://kernel.org's latest 2.6.32 belt is?
- #define drv_module_version "3.102"
- #define drv_module_reldate "September 1,"
is CentOS "old"? Who is driving the latest drive into the old kernel? Who is testing the compatibility of the new driver with the old kernel? RH Ah!! These are the manpower, these are the financial resources ah.
RH ensures stable, compatible, and as far as possible to the server users the most complete device matching, the latest driver support. And that's all! You don't have to worry about stability, compatibility, because RH does not have a large version of the update and does not bring huge feature updates.
There is one more example:
The RPS feature in the Google RFS patch in Linux kernel Linux 2.6.35.
This is simply what Linux server users dream of the function good, you can no longer worry about the multi-core CPU is wasted, you do not have to spend a lot of money to buy expensive multi-IRQ network card. But you have to 2.6.35 to have oh ~
But you don't have to worry, CentOS 6 (2.6.32) has integrated RPS into the 2.6.32 kernel.
Did you see Ubuntu do this kind of thing? What is Ubuntu busy about? In the busy this year to send another version Ah!
Why does RHEL do it? Because his user is the server! RPS is a kind of thing that a PC can't use at all.
I go back to the beginning. I also used Ubuntu to do the product, although not a server. But the final result is not good. I have heard of a colleague of the home company using Ubuntu as a server, thousand other quantities. I had a little chat and I was almost as miserable as I had predicted.
The basic pain flow is this.
Encounter a problem---Find only update software version to resolve--this own current version has not been provided by the software version---found itself compiled however, relying too heavy--and decided to dist-upgrade----- > Test Dist-upgrade 10 Machines, 2 units succeeded, 8 failed, the phenomenon of failure, and the pain of solving various problems, such as the success of Dist-upgrade---discovery company business procedures need to recompile--communication with developers Explain the importance of upgrading--developers re-debug, test some of the columns to the new version of the library and deliver the new version
The basic CentOS user is this: The following is a recent real conversation
"XXX, news did you see that OpenSSL blew the leak?"
"Ah?" I don't know, I'll see.
----
Puppet, after 10 minutes of operation.
"Boss, the patch has come out, updated, SSL has been automatically restarted the Apache."
End ~
And finally, to explain, my previous comments
Don't blame the system for not being good. Recommended Debian/ubuntu running Server is a very irresponsible thing. ”
Any Linux distribution, in theory, is the same. Just the convenience of operation, some trouble! Yes, Yum is weaker than apt (this is the difference between enterprise maintenance and community maintenance, the enterprise does not need so many functions for its own maintenance) but any effect that can be achieved on the A release must be implemented on B. You can even play with the Gentoo idea of playing CentOS, compiling! You hit RPM, you cut your own dependency, you can say trouble, but you can't say it's not possible.
So, I would like to repeat: "Do not use it, do not blame the system is not good"! It's not discrimination, it's not sarcasm, it's a place where you can spend your time more useful when you recognize the truth!
The second sentence! "The recommended Debian/ubuntu run Server is a very irresponsible thing. "This is the lesson of blood and tears!" It doesn't matter if you don't want to hear it, but there are always people who are risking their "unfriendly" hats to tell you the truth!
Let me add that there is no disrespect. But most of the circles use Gentoo-like watercress or VeryCD, and the people you make this decision are basically interested in > the interests of the company. Potentially, this is actually an irresponsible behavior that will directly lead to an increase in the company's maintenance costs.
Do you really think that you can do the same with Gentoo, CentOS?
Do you really think that the quality of a small team of you will be better than the staff of the RH company?
If you really think so, you can only prove that you didn't use it at the time.
If I tell you today, I want to do an HTTP server, I do not use Apache without nginx, in order to performance I want to use XXX as the basis for rewriting a set out. I believe most people will ask the same question, "Do you think you can write better than ng?" ”
Look back at that time yourself.
[Reprint] Server operating system should choose Debian/ubuntu or CentOS?