「CentOSはRedHatの有償部分を外したものだ」という言葉は聞いたことがあるのではないだろうか?

実際、CentOSはRed Hat Linuxを元にして作られている。では、実際に2つのLinuxディストリビューションにはどんな違いがあるのか?

このページではCentOSはRed Hat Linuxの違いを解説した。

RedHatとCentOSの関係性

Red Hat Enterprise LinuxとCentOSの違いをお伝えする前に、それぞれの関係性を見ておこう。

Red Hat Enterprise Linuxとは?

Red Hat Enterprise Linux(RHEL)は、Red Hat社が提供している企業向けのLinuxだ。ご存知の通り、最も有名なLinux有償ディストリビューションである。

RHELは、「サポート」や「責任」という面で安心感がある。そのため、企業や自治体などで積極的に用いられて来た。日本だと有償ディストリビューションの85%がRed Hat製品だ。「完全に市場を支配している」と言えるレベルの占有率になっている。

特徴としては下記が挙げられる

  • 最古参のディストリビューションのひとつで、歴史がある
  • RPM系パッケージ管理システムを採用している
  • 枯れたバージョンもピックアップして使う。安定性重視
  • アップストリームファーストという開発形態を取り入れている
  • Fedoraで実験してからRHELに取り入れるため安心感がある

アップストリームファーストとは開発コミュニティに対して機能アップグレードやバグ修正を積極的に行うことで、まず上流を直してしまい、そこから自社のディストリビューションに取り込むという方法だ。

Linuxという特殊な環境でビジネスをしているRed Hatならではの手法だろう。アップストリームファーストで各パッケージを強化し、それをFedoraで実験し、RHELに取り入れている。

アップストリーム

もともとのパッケージを修正したり強化をし、そのうえでFedoraというディストリビューションで実地検証までこなしている。

商用として評価が高く、導入企業も多いのは、この安心感によるものだ。

CentOSとは?

CentOSはいわゆるRedHat系のLinuxディストリビューションだ。こちらは完全無償で提供されており、企業のサーバとして積極的に利用されている。

特徴としては次の通りだ。

  • 安定稼働
  • 企業向き、サーバ向き
  • OSに関する情報量が多い

これらの特徴から、仕事として用いるのに有用なディストリビューションになっている。実際サーバの利用では常にベスト3に入るディストリビューションだ。

RedHatとCentOSの関係性

CentOSはRed Hat Enterprise Linuxのクローン

RHELは有償ながら、ソースは公開されている。なぜなら、RHELもLinuxだからだ。GPLのオープンソースを使っている以上、ソースは公開しないといけない。

CentOSは、そのソースを利用して、RHELとの完全互換を目指したLinuxディストリビューションだ。Red Hatとはまったく関係のないグループが、勝手に作ったディストリビューションである。

今でも、Red Hatが公開したコードを元にCentOSが作られ続けている。下記のような関係だと思って欲しい。

redhatとcentos

Fedoraで実験した内容がRHELに取り込まれ、コピーとしてCentOSができてくる。機能等がすべて同一な訳ではないが、考え方としてこの図は理解しておくと何かと便利だ。

Red Hat社がCentOSの支援を開始

2014年よりRed HatはCentOSを支援プロジェクトとしてサポートしている。それまでは合法的だが許可は得ず勝手に作っていたが、Red Hatの承認を得た形だ。

OpenStack、SDN、ビッグデータなどの支援を行い、ひとつのOSとして確立していくとRed Hatは表明している。

CentOSを無償ディストリビューションで最強の地位に押し上げて、Red Hatへの入り口にする狙いもあるのだろう。CentOSの発展に期待したい。

RedHatとCentOSの具体的な違いとは?

それでは具体的な違いを見ていこう。

Red HatのBrian Stevens 氏は

「CentOS が、裸の RHEL だという認識は間違いだ。商標やサポートの他にも、いくつもの違いがある」

という発言をしている。

類似品なのは間違いないが色々と違いがあるということだ。

違い1 商用サポート

これはもう既に出てきているが、商用サポートの有無はRedHatとCentOSの違いだ。RedHatが支援プロジェクトに加えたからといって、サポートをする訳ではない。

あくまでも有償のRed Hatはサポートがあり、CentOSはない、という状態は変わらない。

違い2 バイナリ

RHELのソースコードは公開されている。しかし、公式のバイナリは有償利用者だけが利用できる。

ビルド環境やQAのプロセスの違いなどにより、CentOSバイナリとRHELバイナリは違うものになっている。エディションによっては、カーネルやコンポーネントが違う場合もある。

ただ、実際比較してもそこまで大きな違いはない。ビルド環境さえ揃えておけば、どちらのソースからでもほとんど同じバイナリが得られるようになっている。

何かのときのために、全く同じではないというのだけ認識しておけばいいだろう。

違い3 商用アプリケーションの対応

商用のアプリケーションへの対応は違いがある。

Red Hatは対応しているが、CentOSは対応していないアプリケーションが多々ある。例えばOracleデータベースなどは対応外だ。

ただし、大抵は動く。

違い4 バージョンアップのタイミング

RHELのバージョンアップ後に、CentOSのバージョンアップが起こる。そのため、ワンテンポCentOS側が遅れることになる。セキュリティのパッチなども同様だ。

しかし、現状CentOSへのパッチ提供が遅れて何か問題が起こったという事例は思いつかない。CentOSも引き続き安心して使えるだろう。

実はCentOS以外にもあるクローン

最後に。

CentOSが圧倒的に有名だが、実はRedHatのクローンは他にも存在する。

CERNなどが開発しているScientific Linuxが有名だ。Oracle LinuxもRedHatのクローンに当たる。また、Amazon専用のAmazon Linuxも同じようにRHELベースで作れられている。

まとめ

RedHatとCentOSの違いをご紹介してきたがいかがだっただろうか?

有償無償とサポート有無以外に次のような違いがある。

  • CentOSがRedHatベースでできている
  • バイナリが多少違う
  • 当たり前だがCentOSのバージョンアップのタイミングが遅くなる

というのが主な違いだ。

結論的には、やはりそこまで大きな違いが出てきているとは言い難い。有償サポートの有無で選ぶのをおすすめする。