「Linux」を学ぼう
【連載コラム:Linuxを学ぼう(1)】
サーバーを扱う上で切っても切れないのが「Linux」。今回は、そのLinuxがどのように使われているか紹介します。
このコラムでは、サーバーを扱う上で切っても切り離せない「Linux」について解説していきます。今回は、その1回目ということで、Linuxがどのような用途で使われているか紹介していきます。
目次
Linuxとは?
Linuxはソフトウェアの種類としてはOS(オペレーティングシステム)ですが、狭い意味と広い意味の2つを指している名称です。
- 狭義のOSとしてのLnuxカーネル
- 広義のOSとしてのLinuxディストリビューション
それぞれについて、解説をしていきます。
Linuxカーネル
カーネルとは、OSの一番基本となるソフトウェアです。ハードウェアの備えているCPUやメモリ、ストレージやネットワークインターフェースなどのデバイスを制御し、カーネルの上で様々なソフトウェアを動作させます。
カーネルが存在することで、ソフトウェアはいちいちハードウェアを直接制御する必要がなくなります。また、複数のソフトウェアを同時並行して実行することができるのもカーネルのおかげです。
カーネルモジュール
現在ではOSの基本的な機能だけでなく、ネットワークや仮想マシンなど、様々な機能がカーネルの機能として提供されています。それらすべてを含めるとカーネルのサイズが肥大化してしまうので、それぞれの機能はモジュール化されており、必要に応じてメモリに読み込むことでその機能が使えるようになっています。
オープンソース
Linuxカーネルは、オープンソースソフトウェア(OSS)として開発され、ソースコードがすべて公開されています。OSSなので、誰でもソースコードをコンパイルして自分用のLinuxカーネルをビルドできますし、必要があればソースコードを修正することもできます。そのようにしてLinuxカーネルは成長し、様々なシステムのOSとして採用、普及してきました。
Linuxディストリビューション
Linuxはカーネルですが、カーネルだけではシステムとして必要な機能を動かすことができません。様々なアプリケーションやライブラリが組み合わさって、初めてシステムとして動作させられます。Linuxディストリビューションは、Linuxカーネルと各種ソフトウェアを組み合わせてインストール、動作させられるようにしたものです。
Linuxディストリビューションに含まれている各種ソフトウェアも、OSSとして開発されているものがほとんどです。
パッケージ
Linuxカーネルをはじめ、各種ソフトウェアはソースコードをビルドして動作するようになります。また、設定ファイルなども必要となります。パッケージは、ビルド済みのソフトウェアと設定ファイルなどを一纏めにして、簡単にインストールできるようにしたものです。Linuxディストリビューションは、各種パッケージの集合体と言っていいでしょう。
Linuxディストリビューションの初期インストールは、システムとして必要となるパッケージをインストールする作業です。また、初期インストール後、パッケージを追加でインストールしたり、新しいバージョンのパッケージをアップデートインストールしたりすることでシステムをメンテナンスしていきます。これらの作業はパッケージ管理ツールを使って行います。パッケージは主にRPM形式とDEB形式が使われています。
主な用途
Linuxは様々な用途で活用されています。主な用途は以下の通りです。
Webアプリケーションサーバー
様々なWebアプリケーションを動作させるサーバーとして活用されています。最近ではスマートフォンアプリのバックエンドとして動作させることも増えてきています。
アプリケーションの開発言語としては、JavaやPHP、Pythonなど様々な言語が利用できます。
データベースサーバー
各種データを保管・管理するデータベースもLinux上で動作します。OSSのPostgreSQLやMySQLがRDBMSとしてよく利用されていますが、もちろん、各種NoSQL系のデータベースなども活用されています。
ファイルサーバー
ファイルサーバーもLinuxで動作します。NASのようにネットワーク接続で簡単にファイルサーバーとして使える製品が増えています。
スマートフォン・組み込み用途
AndroidはLinuxカーネルをベースとした一種のディストリビューションと言えます。各種スマートフォンやテレビなどに組み込まれています。
その他にLinuxを組み込んだIoTデバイスも増えてきています。今後、Linux利用が活発になっていく分野となるでしょう。
まとめ
LinuxはOSですが、厳密な意味でいえば核となるカーネルであり、Linuxディストリビューションの意味の場合、その他のアプリケーションやライブラリを組み合わせたものとなります。
サーバーや組み込みなど様々な分野でLinuxが利用されていますが、採用される理由の一つがオープンソースソフトウェアとして開発されており、自由に改変などが行えることです。今後、さらにLinux活用が広がっていくと予想されます。
次回以降、Linuxをどう学べばよいかについて解説していきます。
- 筆者紹介
宮原 徹 氏
Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。
バックナンバー
第20回:Webサーバーを動かす
第19回:Webサーバーをインストールする
第17回:ネットワークの状態確認を理解する
第15回:ファイルのアクセス権を理解する
第14回:パッケージをアップデートする dnf編
第13回:PAMを理解する
第12回:グループとは何かを理解する
第11回:sudoコマンドについて理解する
第10回:suコマンドで特権ユーザーになる
第9回:ユーザー権限を理解する
第8回:SSHによるリモートログイン
第6回:Linuxイストールの実際
第5回:Linuxインストールの準備
第3回:学習環境を用意する
第2回:Linuxをどう学ぶのか
第1回:Linuxを学ぼう