Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

1. Linuxの基本とディストリビューション

Linuxとは何か

Linux(リナックス)は、現在世界中の Web サーバー、クラウド基盤、スマートフォン(Android)、IoT 機器、スーパーコンピュータに至るまで、極めて広範なシステムで中核を担っているオペレーティングシステム(OS)です。

私たちが日常会話で「Linux」と呼ぶ場合、厳密にはコンピュータのハードウェア(CPU、メモリ、ディスク等)を直接制御する「カーネル(Kernel: 中核プログラム)」を指します。 Linux カーネルは、1991年にリーナス・トーバルズ(Linus Torvalds)氏によってオープンソースとして公開されました。

しかし、カーネル単体では人間がコマンドを入力したり、ファイルを操作したりすることはできません。 実際に人間やアプリケーションが使える OS として成立させるためには、シェル(bash や zsh 等)や基本コマンド群(ls、cp、rm 等)、各種ライブラリ(glibc 等)、設定ファイル、インストーラーなどを組み合わせる必要があります。

GNU プロジェクトと Linux OS

Linux が実用的な OS として普及した背景には、「GNU(グニュー)プロジェクト」の存在があります。 リチャード・ストールマン氏が率いる GNU プロジェクトは、すべての人が自由に利用・改変・再配布できるフリーソフトウェアの OS 環境を作る運動を展開しており、コンパイラ(GCC)やシェル(Bash)、標準 C ライブラリなどを開発していました。

これら GNU の豊富なツール群と、リーナス氏が開発した Linux カーネルが結合することで、完全なフリーの OS 環境が誕生しました。 そのため、正式には「GNU/Linux」とも呼ばれます。

ディストリビューション(配布形態)の役割

Linux カーネルと無数のソフトウェアを集め、誰でも簡単にインストールして運用できるようにパッケージ化した配布形態のことを ディストリビューション(Distribution、略称:ディストロ) と呼びます。

ディストリビューションごとに以下のような違いや個性があります。

  • 対象ユーザー・設計思想: 安定性重視、最新機能の追従、デスクトップ用途、コンテナ特化など。
  • パッケージ管理システム: ソフトウェアのインストール・更新・削除を管理する仕組み(APT、DNF、APK など)。
  • 初期設定と同梱ソフトウェア: 標準でインストールされるサーバーソフトやツール類。

ディストリビューションの三大系統

Linux ディストリビューションは、数千種類以上存在しますが、その多くはいくつかの祖先から派生した「系統(ファミリー)」に分類されます。

Linux カーネル
  ├── Debian 系
  │     ├── Debian GNU/Linux (堅牢・自由)
  │     └── Ubuntu (使いやすさ・クラウド標準)
  │
  ├── Red Hat 系
  │     ├── Red Hat Enterprise Linux (RHEL)
  │     ├── Fedora (先進的機能の実験場)
  │     └── Amazon Linux (AWS クラウド最適化)
  │
  └── 独立系・コンテナ特化系
        └── Alpine Linux (超軽量・musl libc / BusyBox)
  • Debian 系: 安定性と自由なソフトウェアを重視する系統です。.deb 形式のパッケージと apt コマンドを使用します。Ubuntu や Linux Mint、Raspberry Pi OS など多くの派生ディストリビューションが存在します。

  • Red Hat 系: 企業向けエンタープライズ市場で確固たる地位を築く系統です。.rpm 形式のパッケージと dnf(旧 yum)コマンドを使用します。商用の RHEL、開発版の Fedora、AWS に特化した Amazon Linux などが含まれます。

  • 独立系(コンテナ特化・独自設計): 従来のディストリビューションの重厚な設計を見直し、特定の目的(Docker コンテナの軽量化など)に特化した系統です。代表格が Alpine Linux で、独自の apk パッケージマネージャーと軽量ライブラリを採用しています。

パッケージ管理の基本概念

Linux では、Windows の .exe や macOS の .dmg のように各サイトから手動でインストーラーをダウンロードするのではなく、「リポジトリ(公式保管庫)」からパッケージマネージャーを通じて一括管理する のが基本です。

  • 依存関係の自動解決: あるソフトウェアを動かすために別のライブラリが必要な場合、パッケージマネージャーが自動的に検出してまとめてインストールしてくれます。
  • 一括セキュリティ更新: コマンドを 1 行実行するだけで、OS 内のすべてのソフトウェアとカーネルを最新の安全な状態にアップデートできます。

次章以降では、現代のシステム構築で必ず押さえておくべき主要ディストリビューション(Debian、Ubuntu、Alpine、Amazon Linux)の具体的な特徴とコマンド操作を詳しく見ていきます。