LPIC Level1 復習ラジオ 01:Linuxとは
音声
目次
OSとは
OSは、Operating Systemの略です。日本語では、オペレーティングシステムと呼びます。
OSは、アプリケーションとハードウェアの間に入り、CPU、メモリ、ストレージ、キーボード、ネットワーク機器などを管理します。
例えば、アプリケーションがファイルを保存するとき、通常はSSDを直接操作しません。OSがアプリケーションから要求を受け取り、必要な処理をハードウェアへ伝えます。
アプリケーション → OS → ハードウェア
この仕組みにより、アプリケーションは機器ごとの細かな違いをすべて意識せずに動作できます。
Linuxとは
厳密には、Linuxという名前はOS全体ではなく、中心部分であるLinuxカーネルを指します。
ただし日常会話では、Linuxカーネルにシェル、各種コマンド、ライブラリ、管理ツール、アプリケーションなどを組み合わせたシステム全体を「Linux」と呼ぶことも一般的です。
LPICの学習では、問題文によって「Linuxカーネル」を指しているのか、「Linuxを使ったOS全体」を指しているのかを意識すると、用語を整理しやすくなります。
カーネルとシェル
カーネル
カーネルはOSの中核です。主に、次のような仕事を担当します。
- CPUをどのプロセスに使わせるかを管理する
- メモリを割り当て、使用状況を管理する
- ストレージやネットワーク機器などのデバイスを制御する
- ファイルシステムやネットワーク通信の基本機能を提供する
- ユーザー空間のプログラムからの要求を受け付ける
アプリケーションは、必要な処理をシステムコールなどの仕組みを通してカーネルへ依頼します。
シェル
シェルは、利用者が入力したコマンドを解釈して実行するプログラムです。英語のshellには「殻」という意味があります。
カーネルを直接操作するのではなく、その外側にあるシェルを通して命令する、というイメージです。
代表的なシェルには、bash、sh、zshなどがあります。LPIC Level1では、特にbashの操作や設定が重要です。
利用者 → シェル → カーネル → ハードウェア
なお、シェルは文字入力で利用するCLIだけに関係するものです。画面上のアイコンやウィンドウを操作するGUIとは区別して覚えます。
GNUとは
GNUは、自由に利用・調査・変更・再配布できるUnix風のOSを作ることを目的として始まったプロジェクトです。
GNUという名前は、GNU's Not Unixの略です。自分自身の名前を含む再帰的頭字語になっています。
Linux環境で利用する基本コマンドの多くは、GNUプロジェクトが提供するソフトウェアです。例えば、ls、cp、mv、rmなどは、GNU Coreutilsに含まれています。
LinuxカーネルとGNUのツール群を組み合わせたシステムを、GNU/Linuxと表現することがあります。
復習では、Linuxはカーネル、GNUは多くの基本ツールを提供するという関係を押さえておけば十分です。
ディストリビューションとは
Linuxカーネルだけでは、一般利用者がすぐに使えるOSにはなりません。
Linuxカーネル、GNUなどのコマンド、ライブラリ、パッケージ管理システム、インストーラ、設定ツールなどをまとめて、導入しやすい形にしたものをLinuxディストリビューションと呼びます。略して「ディストリビューション」や「ディストロ」とも呼ばれます。
代表的な系統には、次のようなものがあります。
- Debian系:Debian、Ubuntuなど
- Red Hat系:Red Hat Enterprise Linux、Fedora、Rocky Linuxなど
- SUSE系:SUSE Linux Enterprise、openSUSEなど
ディストリビューションによって、パッケージ形式や管理コマンド、初期設定などに違いがあります。
例えば、Debian系では主にdeb形式とapt、Red Hat系では主にrpm形式とdnfなどを利用します。詳しくはパッケージ管理のページで扱います。
FHSとは
FHSは、Filesystem Hierarchy Standardの略です。
LinuxなどのUnix系システムで、ファイルやディレクトリをどこへ配置するかについて定めた標準です。
例えば、設定ファイルは主に/etc、利用者のホームディレクトリは主に/home、変化するログや一時データは主に/varに配置されます。
ディストリビューションごとに違いはありますが、FHSによって基本的な配置がある程度共通化されています。
このページでは「Linuxのディレクトリには役割に応じた配置ルールがある」と覚えてください。各ディレクトリの詳しい役割は、05ページの「ディレクトリ構成」で扱います。
30秒チェック
- Linuxという名前が厳密に指すものは何でしょうか。
- コマンドを解釈して実行するプログラムを何と呼ぶでしょうか。
- Linuxカーネルや各種ツールをまとめて配布するものを何と呼ぶでしょうか。
- ファイルやディレクトリの配置ルールを定めた標準は何でしょうか。
答えを表示
- Linuxカーネル
- シェル
- Linuxディストリビューション
- FHS
要約
- OSは、アプリケーションとハードウェアの間で資源を管理します。
- Linuxは厳密にはカーネルの名前です。
- カーネルはCPU、メモリ、デバイス、ファイルシステムなどを管理します。
- シェルは、利用者のコマンドを解釈して実行します。
- GNUは、Linux環境でも使われる多くの基本ツールを提供しています。
- ディストリビューションは、Linuxカーネルと各種ソフトウェアをまとめたものです。
- FHSは、ファイルやディレクトリの基本的な配置を定める標準です。