Linuxとは、その仕組とOSを理解していますか?

2015年9月 4日
ブログ

こんにちは、ぷれつくを監修しているNSです。

Linuxは、サーバ用のOSとして採用されることが多いですね。ぷれつくでも「cent OS」などのLinuxを紹介していますし、身近なOSのひとつとして認知されています。そんなLinuxですが、実際にどのようなOSなのか、他のOSとどう違うものなのか、今回はそんなお話となります。

Linuxとは?

「Linux=OS?」

LinuxというのはOSなので正解です。
 
が、おそらくこう答える人のほとんどはOSの意味を間違っていたりします。WindowsはOSです。じゃあ、同じようにLinuxはOSかというとそこが違います。
 
「WindowsとLinuxは違う?」
 
WindowsはOSです。LinuxもOSです。が、この2つには大きな違いがあります。Linuxというのは基本的にオープンソースで公開されています。方やWindowsは、ソースが公開されていないOS、Microsoft社以外Windowsを開発できないわけです。しかし、Linuxは基本的にソースが公開されていますので開発者以外も開発できます。まずは、この違いが挙げられます。
 
では、何を開発するというのでしょうか
 
それは、皆さんが触る部分のデスクトップや、エクスプローラなどのビジュアル環境系の部分やネットワーク関係のシステム、プリンタとの接続システムなど、いわゆるOSといわれるソフトが担うすべての操作になります。
 
本来、OSといわれる部分は『カーネル』といわれる部分です。
https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB
 
WindowsといわれるシステムはWindowsカーネルといわれる中核機能を利用して動作しています。方や、LinuxといわれるものはLinuxカーネルといわれる中核機能のことを指します。
 
これらカーネルをOS部分というのです。Windowsは、Windowsカーネルで開発されているソフトはMicrosoft社が出すWindowsしかありませんのでカーネル=OS=見た目上のデスクトップなどがOSでも意味は通ります。先述の説明の通り、見た目のデスクトップやなどをOSという方が多いわけですが、そういう意味ではLinuxはOSではありません。Linuxというのはカーネル部分を指します。

では、一般の方がいうOSの部分というのは何なのでしょうか。
これはディストリビューションなどという言い方をすることが多いです。
 
Linuxは、ソースが公開されているため様々な開発者やメーカが作ったいわゆるwindowsでいうOSが存在します。例えばRedHatLinux、FedoraCore、ubunto、VineLinuxなどになります。これらは、すべてLinuxカーネルですが、開発メーカーや用途が違います。Windowsでいえば、WindowsServerと、Windows8という感じで用途もコンセプトも違ってきます。これらを様々なメーカーや開発者が作っているということです。しかし、カーネルといわれる中核部分は共通なので、ソフトなども相互に利用できるようになっていたりします。

CentOS と FedoraCor の話

 
無償で利用が可能で、当方がこよなく愛しているCentOSと、デスクトップ環境で利用がしやすく構成されているといわれているFedoraCoreの2つのディストリビューションを中心に話したいと思います。
 
まず、FedoraCoreですが、これはWindowsでいえば、Windows8などのクライアントOSと同じように、クライアントに導入するのならという設計がなされているといわれるOSです。
https://getfedora.org/ja/
 
Fedoracoreは、Linuxの世界ではもっとも有名な企業の一つ、RedHat社が手掛けるオープンソースディストリビューションです。
https://ja.wikipedia.org/wiki/Fedora
 
RedHat社は有償のディストリビューションを手掛けている企業(厳密に言えばディストリビューションが有償なのではなく、サポートが有償)ですが、にもかかわらず無償のディストリも存在しています。それは、このFedoraCoreに新しい機能やシステムを先駆けて導入することで実績を積み、有償版のEnterpriseLinuxに反映させる、いわばディストリの実験台のようなディストリだからです。なので、最新の技術などはFedoraCoreに織り込まれることが多いのです。
 
そういったこともあり、バージョンはどんどん上がり、アップデートサポートは1年程度で終了します。要は、複数年電源を落とさず利用し続けるサーバー用途としてはいささか使いにくいディストリビューションです。逆に、電源は頻繁に切ったりできるクライアント用途であれば最新の技術が織り込まれたディストリとして活用できます。
 
Fedoraに織り込まれ、様々な方が検証したものでいえば、デスクトップの3D化があります。デスクトップ画面がさいころのようになっており、右角などをドラッグするとさいころが転がるように、別のデスクトップ画面に遷移するという、3D映像技術が出たときはFedoraは先駆けて導入しました。結果、あまり評判が良くなかったことや、Linuxでデスクトップ環境を入れている人が少ないなどの関係から、そっと静かに消えていった技術でした。おそらくこの時のデスクトップ画面はWindowsやMacなど比じゃないほどきれいなデスクトップでした。

 
「Windowsじゃなくてもいい!」

というパソコンなら、Fedoraで十分な気もします。(使い古したマシンなどに結構いれていたりします。)そして、私はサーバーの世界に革命をもたらしたと思っていますが、仮想化技術です。私はここ最近の仮想化技術がはやる直前に、その存在に気づき、だれよりも早くサービスに導入したいと思い実験、研究を重ねようと思った時、ハードウェアもそうですが、それよりもソフトウェア的な壁が大きかったのを覚えています。サーバー用途で使いにくいFedoraを採用するわけにもいかず。。。でも、Enterprise系のLinuxにはまだまだ導入は先になりそうだ。。。

そうなると、別のシステムで仮想化するしかない。。。
 
など、いろいろ悩みに悩んだのを覚えています。とりあえず、Fedoraには、どこより早いと言ってもいいくらい仮想化技術が標準で装備されました。その使用感は、非常に簡単だったのを覚えています。(もちろんパフォーマンスのことなど考慮していない状態なら。。。ということですが。。)この時、様々な開発者などがいろんなフィードバックを投げたことが結果、Enterprise系に仮想化技術が標準装備される時間を短くしたと思います。(標準採用されるのが速かったのも記憶しています。)
 
新しいハードにどうしても仮想化技術を入れたくて、そのようなマシンを導入したけど、OSを少しカスタマイズしないといけない。。当時は自分で使うというより、人に使わせることで商売をしていたので、カスタマイズすることに抵抗を覚えていました。そうこうしているうちに新しいLinuxOSが登場し、仮想化技術が標準搭載となり、カスタマイズなしで導入できるようになった。。。時代とはそいういうもので、今となっては懐かしい話です。
 
 
このように、FedoraCoreは、最先端技術を取り込み利用者に検証してもらうようなディストリビューションです。要は遊び心のある、まさに、ノーパソなど、自宅のパソコンに組み入れるようなディストリビューションだということです。
 
ここで、大体言われるのは、Windowsのような利用はできるのか?です。単純な話が、デスクトップ描画システムも搭載されていますし、windowsに近づけた操作感、そして、Macよりきれいなビジュアルを持つと思っていただいてもいいかと思います。
問題は、OS的な部分ではなく、ソフト的な部分かと思います。例えば、Wordに代表されるワープロソフト、Excelのような表計算、PowerPointのようなプレゼンテーションソフト、これらが使えるか否か。同じような用途で似たものなら、Linuxにもあります(OpenOfficeなど)。そして、おそらくそうなるだろうと予想していますが、Microsoft社が提供するクラウドサービス、こちらでWordなどが利用できるようになっていくと思います。
 
ほとんどの場合、Windowsじゃないといけない理由は、○○というソフトを使わなければいけないから。という理由のはずです。代りになるソフトがLinuxにない場合は仕方がない。Windowsを採用するしかありませんが、そのほとんどの場合、ワープロソフトや表計算ソフトのはずです。そうであれば、Linuxを導入するのも大いにありです。
 
なぜなら、それに代わるソフトがあるからです。(OpenOfficeなど)
 
実はPCを購入する代金にはWindowsの代金も含まれています。OSナシなどと書かれているPCは思ったより安く購入できます。そこに、無償で利用可能なFedoraCoreを導入する。ローコストなPCになりますね。もちろん、WEB閲覧にはFireFoxがあったり、メールの送受信にはThunderBirdがあったりしますので、私のように、ブラウザ、メール、あとはメモ帳程度というユーザなら、ソースが公開されていなくて都合が悪くなってもどこが悪いかわかりにくいWindowsより、ソースが公開されている分、原因追及から解決に向かいやすいLinux系のディストリを選ぶ方が良いかもしれません。
 
クライアント用途のLinuxの結論としては
 
・windowsとメーカーが違うだけでやれることはさして変わらない
・インターネット系の用途ならコスパがいいLinuxのほうがベター
・ビジュアルがきれい
 
というまとめになります。
 
 

CentOSの場合は

CentOSは、RedHat社のEnterpriseLinuxというサポートが有償のディストリビューションのCronディストリビューションといわれています。クローンというのはクローン人間と同じ意味で、要はコピーです。映画やアニメで表現される通り、クローンというのは100%全て同じではなく、魂などちょっとしたところが違うのです。CentOSは、アップデート機構がELとは違います。ELは、up2dateというシステムを使い、RedHat社の指定するアップデート用サーバーからアップデートパッケージをダウンロードしてアップデートしますが、CentOSは、yumという機構を使い、様々なリポジトリからアップデートパッケージをダウンロードしてきます。ELは、公式なWindowsアップデートでアップデートをし、クロン版は公式を使えないので、様々なところからアップデートをダウンロードしてくる。そういう感覚です。しかし、重要なのはWindowsは、ソース非公開の有償OSですが、ELは、ソース公開のOS自身は無償(ライセンス的に無償公開しなければいけない)でアップデートサポートを有償としています。なので、OSのクロンは違法ではなく、認める必要があるのです。そして、有償の部分のサポートを受けることができない代わりに、様々な有志で構成するアップデートサーバーを利用しアップデートを掛けることでほとんど変わりがない状態を実現しました。
 
私はLinuxの始まりがRedhatで、Redhatの構成に慣れていることがまずありました。ELが登場し有償化されたころから有償でもRedhat系Linuxを使い続けるのか、それとも、クライアント向け無償のOS(FedoraCoreやubuntoなど)に方向転換するのか考えました。理想はELのようなサーバー用途向けでアップデートリリース期間が長くて枯れたもので無償であることです。

そんな時都合がいいようにCentOSが登場しました。ほかにも、Redhat社の名前からホワイトソックスなどというクロンもでましたが、知名度、安定度、文献の多さからCentOSが圧倒でした。
ほとんどがELですから、ELの文献も役に立ちます。そういう絡みから、CentOSを正式に採用し、サーバー用途のディストリはお客様から直接強い希望で指定がない限りCentOSを採用します。
 
Fedoraとの違いは枯れた技術の集合体であるEL系Linuxであること。これは、Fedoraは最先端でいろんな問題があるソフトや、まだまだ実験段階のカーネルであったりということで、トラブルや大問題が潜んでいることも多いのですが、サーバー用途で使うEL系の場合、すでに既知のバグは潰してあり、安定しているカーネルにそこそこ改善もされ利用可能なレベルまで落ちてきたものしか採用されていないという特徴があります。先ほどFedoraでいったような仮想化技術などはで初めのころはもちろんEL系には採用されていませんでした。

早く導入したいけど、CentOSに採用されていないので、改造するか我慢するかの二択。という状態です。

 
そのころはFedoraには導入され、食指が動きそうになるわけですが、枯れるまでの我慢。。です。仮想化技術はELに採用されるのは思った以上に早かったのでこのじりじりした感じも少しの我慢でした。
 
このようにEL系、サーバー用途向けのディストリビューションは導入に時間はかかるけど、導入されたときにはすでに安定していることが多いというわけです。
 
CentOS、サーバー向けOSのまとめとしては
 
・枯れた技術ばかりであることが多く
・アップデート関係がある程度長く、安心して使えるアップデートシステムが導入されており
・・そのアップデートが有償の場合もある
・一言でいえば安定したOSであること
 
 
こちらのディストリももちろんwindowsのようなデスクトップ画面を導入することもできますが、サーバー用途で利用する場合、デスクトップ画面のシステムにバグがあってクラッキングされるといやなのでほとんどの方は導入しません。いわゆる黒画面で操作することが多いです。しかし、社内に設置するファイルサーバーなどの場合、使いやすいという理由でデスクトップ画面を導入することもあります。そういう時はファイアウォールを完全なもので設置するなど、クラック対策は欠かせませんね。
 
 

まとめ

 
Linuxというのはカーネルの名前でOSのことです。windowsは、カーネルもディストリもwindowsなので、windows=OSでまかり通りますが、Linuxは、OSの名前で、ディストリビューションは様々なメーカが出していて名前が違うということを覚えておいてください。
 
・Linuxカーネル→windowsカーネル
・CentOSやFedoraCore→Windows8や、WindowsServer
 
という感じになります。OSというのは、カーネルのことを指す言葉なので使い方を間違えないようにしましょう。
 
 
Linuxカーネルの中で大きく2つの方向性を持ったディストリビューションが存在する
 
・サーバー用途向けのディストリビューション(RedHatEnterpriseLinux・CentOSなど)
・ノートパソコンなどクライアント向けに作られたディストリビューション(FedoreCoreやubuntoなど)
 
 
この2つは用途が違うので設計コンセプトが違い、前者のサーバー向けは、枯れた技術を使うことが多く、後者のクライアント向けは最新技術を織り込んであったりすることが多いです。また、アップデートリリース期間が全然違っていたりします。これが、Linuxを簡単に体系ワケした場合の話です。そして最後に、これを言わずしてLinuxは語れない。。。というお話をします。
 
 
遊びでもLinuxを導入されたりした際に、感じたことがあるかもしれませんが、windowsなら、ドライバのインストールがたくさんあるのに、Linuxの時はなかった。。。そう感じませんか?
 
ドライバのインストールを必要とするのはもともとカーネルに組み込まれたドライバでは足りない時、独自に導入する必要があるのですが、Linuxの場合、ほとんどが組み込みドライバでいけるという特徴があります。
 
そういう絡みからですが、極端に言ってしまえば、USBフラッシュメモリにOSを入れておき、別のPCにUSBを挿して、その中のLinuxを立ち上げる。。。という荒業が使えたりします。当時、サーバー業者をやっていたとき、車の鍵と一緒にOSを入れたUSBフラッシュを常に携帯していたものです。よくあるのがカーネルパニックを起こし、起動しなくなったマシンを、別のカーネルで立ち上げてHDDの中にあるパニックを起こしたカーネルを修正しなおす。。。という荒業です。まぁ、このようなことがサービス用サーバーで起きたら、大トラブル(ダウン状態)で、1秒でも早く復帰したいがために行う裏技ですね。最悪、顧客のデータを別のハードに引っ越して、別のサーバーで復旧する。。。などもあり得ますね。仮想化されてからそういうことも容易にできるようになりましたね。
 
もう一点、同じようなものなのですが、CDやDVDにOSを入れてCDをディストリの起点にするというOSもあります。
 
ubuntoが最も有名でしょうか。
ubuntoは、マシンのwindows共存や、緊急時にDVDなどで起動しHDDを操作するなどの目的で開発されたとしか思えないくらい、緊急時にはよく使います。これも、サーバー屋さんをやっていた当時は、USBと一緒にCDとDVDも持っていました。DVDのほうが何かと便利だったんですが、サーバー機の場合、最悪CDdriveしかないっていう時もあったので一応CDも。また、USBが無い!ということもまれにありましたので、一通り持っているのが無難でした。と言ってもかさばるものでもなし、重いものでもなし。あるだけでずいぶん安心感がありましたよ。
 
また、サーバー屋としてだけではなく、友人のパソコンが起動しなくなった。子供の写真だけでも、この外付けにいれたい。。。
こういう時には大変役に立ちます。ほとんどの友人はCDやUSBで起動するところまでたどり着けませんので、自分が行くだけで10分もすればコピー完了。そのPCは極論でいえば捨ててもいいというところまで行きますし、うまくすれば設定ファイルを修正して起動可能な状態にもできます。Linuxは、レスキューとしても役に立ちますね。
 
LinuxというのはこういうOSです。

新着・更新情報
ブログ/お知らせ
Pleskについて
Pleskの便利な機能
Pleskを導入しよう
DNSを理解しよう
Webサイトの設定
サイトをチェックしよう
ターミナルを使おう
メールの設定をしよう
データベースを使おう

Moveble Typeの導入

便利な機能、テクニック

インフォメーション


Pletkの管理人ことすしぱくです。PAKUTASO/ぱくたそ無料写真サイトなんかを運営しています。