キャリテク!マガジン
- TOP
- キャリテク!マガジン
- Linuxサーバの特徴とディストリビューション
こんにちは、吉政創成 アシスタントの菱沼です。
前回はLinuxとは何者か?を中心に、Linuxを選ぶことのメリットについてまとめました。 今回はちょっと基本に戻って、サーバの中身について最初にまとめた後、Linuxの機能面でのポイントやディストリビューションについて整理したいと考えています。
さて今回も「さわって学ぶLinux入門テキスト/赤星リナ氏著(マイナビ出版)」を片手に勉強していきます。どうぞ超初心者の方、お付き合いいただければ幸いです。
そもそもシステムはどうやってできている?
サーバの用途によって異なる部分はありますが、サーバの中身は大体こんな感じになっています。OSにあたる部分にLinuxやWindowsが該当し、ミドルウェアはサーバの用途によって何を利用するかが決まります。(例:メールサーバ→Postfix、sendmail、qmailなどのMTA、Webサーバ→Apache、Nginxなど、DBサーバ→MySQL、Oracleなど)
では、Webサイトがどう成り立っているのといえば、こんな感じになっています。(サーバに注目したざっくり図なので、このほかに必要な要素は省略しています。)
※FirewallやSwitchなど、構成に必要な詳細は省略しています。
※DBサーバはWebサーバと別立てすることもあります。 サーバの構造だけでいえば上図のようなイメージですが、システムを稼働させるにはネットワーク(インターネット回線)や、SwitchやFirewall、WAFなど、システムごとに必要な要素が他にもたくさんあります。この周辺の知識はネットワークエンジニアやインフラエンジニアを目指すなら知っておいたほうがいい情報のようですので、ぜひOSI参照モデルや、TCP/IPで検索してみて下さいね。
OSとはなんぞ。
ではOSとはそもそも何で、サーバの中でどんな役割を担っているのでしょうか?テキストではOSの役割について次のように説明されています。
“P18
OSは、ハードウェアとアプリケーションソフトの間でデータのやりとりをしたり、アプリケーションが必ず使う定番の機能(たとえば画面表示)を肩代わりしてくれたりします。
(中略)
OSはアプリケーションのリクエストをうまく処理してくれます。
これ以外にも、OSはみなさんからのコマンドをスムーズに処理するために目立たないところでさまざまな作業をしています。
OSはサーバ内で、ハードウェアやアプリケーションなどの資源の動作を管理することが主になり、同時にアプリケーションを動かすためのプラットフォームという役割を担っているということのようです。ちなみに、ミドルウェアはサーバ内でアプリケーションを動かし、また外部との通信を行うために利用されます。
OSとしてのLinuxってどんな子?
OSとしての役割だけでいえば、windowsやmacOSとの違いはないと思いますが、機能面で見た時のWindowsやmacOSとの違いはどこにあるのでしょうか。 なお、Linux全般のメリットについては前回の記事でまとめていますので、今回は前回の記事で挙げた以外の点を書いています。
P.23
Linuxは、主にコマンド(Command:命令のこと)を正確に文字で入力することで操作します。この方法をCUI(Character User Interface)といいます。それに対してWindowsやMac、スマートフォンでは、アイコンやウィンドウをマウスや指で操作するGUI(Graphical User Interface)が使われています。
(中略)
Linuxが活躍するサーバー管理や研究開発の現場では、条件にあうデータを探したり、書き換えたりといった作業が多く、自動的に処理したほうが正確に行えることが多いのです。このような操作をするときは、マウスで1つずつクリックするよりCUIでコマンドと条件を入力したほうが効率よく一気に作業を進めることができます。
<違いその① :コマンド入力 >
機能面のみでみれば、一番わかりやすい違いは見た目のようです。
「えぇえ~、コマンド?覚えるのめんどくさーい」とか思いますか?思いますよね?
これについては上記に書かれている通り、慣れればむしろ効率的に使えるということです。たしかにマウスでカチカチするよりコマンドを覚えて叩ければ速そう。
<違いその② :セキュリティ>
これ以外にあるかを探してみたところ、セキュリティ面でWindowsに比べ安心度が高いという点が挙げられていました。Linuxが外部向けのサービス(Webサイトなど)で利用されることが多いことを考えるとセキュリティリスクが低いということは大きなメリットと言えると思います。
参考:【初心者向け】WindowsサーバとLinuxサーバの違い, 比較~セキュリティやメリット/デメリット~|SEの道標
<違いその③ :ディストリビューションの存在>
Linuxと言えばあのペンギンくんが思い浮かびます。私はあの子がついているものが、トーバルズ氏が開発したもので、それだけがLinuxで、アップデートは一般的なオープンソースソフトウェアと同様にLinuxバージョン××として共同で行われているものなのだと誤解していました。
P.20
Linuxを動かすために必要なプログラムをまとめて1つにしたものを「パッケージ・Package」と言います。このパッケージに必要なプログラムを加えて、インストールしてすぐ使える状態にしたものを「ディストリビューション・distribution」と言います。
ディストリビューションは、用途に応じてさまざまなものがあります。(中略) 1つはRedHat(レッドハット)系、もう1つがDebian(デビアン)系です。ディストリビューションによって操作方法やコマンドなどに若干の違いがあります。
というわけで、実際はLinuxに様々な機能を各社が付与し、それをディストリビューションという形でそれぞれが公開・提供しているということなのだそうです。
私はこの説明を見て、「OS目Linux科RedHat属CentOS種」、「OS目Linux科Debian属Ubuntu」というツリー構造な感じを勝手にイメージして納得しました。このディストリビューションの存在もwindowsやmacOSとの大きな違いといえます。
さて、初心者向けとして本でお勧めされていたのはRedHat系とDebian系でしたが、ほかにはどんなものがあるのかを調べていたら、以下のリンクが参考になりましたのでご紹介。
- 【2020年】初心者にオススメなLinuxディストリビューション|クロの思考ノート
- カゴヤのサーバー研究所|【最新】初心者必見! Linuxディストリビューション用途別おすすめ10選(2019)
- 知っておきたいLinuxの種類と基礎知識|WebMedia
- Linuxディストリビューションまとめ(ざっくり)|Qiita @h_tyokinuhata
最後に
Linuxサーバは社内用に利用するというより外部向けのサービスとして利用されることが多いようです。外部サービスとして提供するということは安定性や安全性が重要なポイントになってくると思います。サーバの用途に応じたディストリビューションの選択と、適切な設定を行えるようになるには知識と経験が重要です。
本を用いて勉強をするとともに、いま活躍しているインフラエンジニアの方や、制作側の方から情報を得ながら、自分の言葉に咀嚼してわかりやすくお伝えできればなと考えています。 今回はこちらで終了です。お付き合いいただきありがとうございました。