Linux: Linux入門 — オープンソースOSの革命

Linuxは、すべての開発者がいずれ直面するオペレーティングシステムです。バックエンドサービスのデプロイ、データベースの設定、CI/CDパイプラインの運用 — そのサーバーはほぼ確実にLinuxで動いています。

📋 前提条件:事前知識は不要

1. このレッスンで学ぶこと


2. 初心者のストーリー:初めてサーバーに向き合う

(1) 悩み:初めてサーバーに直面して途方に暮れる

小明は最近Linuxに切り替えた開発者です。会社からMacBookを支給されましたが、バックエンドの同僚たちはターミナルを軽快に操っています。彼はLinuxサーバーにログインしてログを確認する必要がありましたが、ターミナルを開いても「ls」の意味さえ分かりませんでした。

先輩エンジニアのボブは言いました。「Linuxはすべての開発者にとって必須のスキルです — デスクトップOSとして必要だからではなく、インターネットサービスの圧倒的多数がLinux上で動いているからです。」

(2) Linuxが提供する解決策

ボブは小明にLinuxを紹介しました:無料でオープンソースのOSカーネルで、何年も連続稼働できるほど安定しています。ラズベリーパイからNASAの火星探査車まで、あらゆるデバイスで動作します。

BASH
# Check how long a Linux server has been running
uptime
# Sample output: 10:23  up 187 days, 4 users, load average: 0.08 0.03 0.01

(3) 得られるもの:インフラの理解

このレッスンを終えると、小明は毎日使っているGitHub、Netflix、YouTubeのサービスを支えるOSが何か — そしてサーバー市場でLinuxが圧倒的なシェアを持つ理由を理解しました。


3. 知識ポイント

(1) Linuxとは何か

厳密に言えば、Linuxはカーネルに過ぎません — オペレーティングシステムの中核コンポーネントで、ハードウェアリソースの管理、プロセスのスケジューリング、ファイルシステムなどを担当します。1991年、フィンランドの大学生リーナス・トーバルズが最初のバージョンを公開しました。

しかし、人々が一般的に「Linux」と呼ぶものは、実際にはGNU/Linuxオペレーティングシステムを指します — LinuxカーネルとGNUツールセット(cp、mv、ls、bashなどのコマンド)の完全な組み合わせです。

💡 ヒント:「Linux」と「GNU/Linux」の違いは、試験や面接でよく問われるポイントです。厳密に言えば、AndroidもLinuxカーネルを使用していますが、GNUツールセットを含まないため、GNU/Linuxとは見なされません。

(2) Linux vs Windows vs macOS

3大オペレーティングシステムは設計と理念が根本的に異なります:

項目 Linux Windows macOS
カーネル Linux(オープンソース) NT(クローズドソース) XNU(一部オープン)
パッケージ管理 apt/yum/dnf EXE/MSI Homebrew
コマンドライン bash/zsh(コア体験) PowerShell(追加機能) zsh(Linux風)
ファイルシステム ext4/XFS/Btrfs NTFS APFS
デスクトップ環境 GNOME/KDE(ユーザーの選択) 固定デスクトップ Aqua
ライセンス GPL(オープンソース、無料) 商用ライセンス 商用ライセンス
主要市場 サーバー / 組み込み デスクトップ / エンタープライズ デスクトップ / クリエイティブ

(3) 主要ディストリビューションファミリー

Linuxには数百のディストリビューションがありますが、中核となるのは4つのファミリーだけです:

ファミリー パッケージマネージャ 代表的ディストリビューション 向いている用途
Debian系 apt/.deb Ubuntu、Debian、Linux Mint 初心者、サーバー
RHEL系 yum/dnf/.rpm RHEL、Fedora、CentOS エンタープライズサーバー
Arch系 pacman Arch Linux、Manjaro 愛好家、最新ソフトウェア
Alpine apk Alpine Linux 最小Dockerイメージ

(4) なぜサーバーはLinuxで動くのか

(5) ▶ サンプル:Linuxカーネルバージョンの確認

BASH

uname -r
# Sample output: 5.15.0-91-generic

出力:

TEXT 📖 参照専用
5.15.0-91-generic

(6) ▶ サンプル:ディストリビューション情報の確認

TEXT 📖 参照専用
lsb_release -a
# Sample output:
# Distributor ID: Ubuntu
# Description:    Ubuntu 22.04.3 LTS
# Release:        22.04
# Codename:       jammy

(7) ▶ サンプル:システム稼働時間の確認

BASH
uptime
# Sample output: 10:23:45 up 187 days, 4 users, load average: 0.08 0.03 0.01

出力:

TEXT 📖 参照専用
10:23:45 up 187 days, 4 users, load average: 0.08, 0.03, 0.01

(8) ▶ サンプル:CPUとメモリ情報の確認

BASH
# CPU info
lscpu | grep "Model name"

# Total memory
free -h | grep Mem

出力:

TEXT 📖 参照専用
Model name:                      Intel(R) Core(TM) i7-12700K
Mem:              15Gi       4.0Gi        11Gi       256Mi       2.0Gi        11Gi

(9) ▶ サンプル:各ディストリビューションのパッケージ管理コマンド

BASH
# Debian/Ubuntu
sudo apt install nginx

# RHEL/Fedora/CentOS
sudo yum install nginx   # or dnf
sudo dnf install nginx

# Arch
sudo pacman -S nginx

# Alpine
apk add nginx

出力:

TEXT 📖 参照専用
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
  nginx
0 upgraded, 1 newly installed, 0 to remove.
Need to get 42.3 kB of archives.

(10) ▶ 総合例:Linuxシステムを知ろう

Linuxマシン(またはWSL)にログインし、以下のコマンドで基本情報を確認しましょう:

BASH
echo "=== Kernel Version ===" && uname -r && \
echo "=== Distribution ===" && lsb_release -d && \
echo "=== Uptime ===" && uptime && \
echo "=== CPU ===" && lscpu | grep "Model name" && \
echo "=== Memory ===" && free -h | grep Mem

❓ よくある質問

Q: LinuxとUnixの違いは何ですか? A: Unixは1970年代にベル研究所で開発されたOSで、商用ライセンスのクローズドソースです。Linuxはリーナス・トーバルズがゼロから書いたUnix系カーネルで、完全にオープンソースで無料であり、Unixのコードを含んでいません。Linuxは「Unix系」と表現されます。

Q: なぜほとんどのサーバーはLinuxで動いているのですか? A: 無料(Windows Serverのライセンス費用不要)、安定(何年も再起動なしで稼働可能)、低リソース消費(CLIは数百MBのRAMしか必要としない)、リモート対応(SSH)、そして豊かなエコシステム(ほぼすべてのサーバーソフトウェアがLinuxサポートを優先)。

Q: 初心者に最適なディストリビューションはどれですか? A: \1

Q: デスクトップのLinuxは日常使用に適していますか? A: 一般的なオフィス作業(ブラウザ/オフィスアプリ/開発ツール)には適していますが、まだ短所があります:Adobeスイートは利用不可、一部のゲームは非対応、Tencent系エコシステム(WeChat/QQ)の体験は平凡です。開発者には、デスクトップはWindows/Mac + 開発はWSL/仮想マシンを推奨します。

Q: LinuxカーネルとGNU/Linuxの関係は何ですか? A: \1


📖 まとめ


📝 練習問題

  1. 基本(難易度 ⭐):「Linux market share 2025」を検索し、サーバー、デスクトップ、組み込み市場それぞれのシェアの違いを調べる
  2. 中級(難易度 ⭐⭐):UbuntuとFedoraの公式サイトで比較(デスクトップ vs サーバー、安定性 vs 新機能)し、結果を表にまとめる
  3. 上級(難易度 ⭐⭐⭐):日常的に使っている5つのWebサイト/アプリを挙げ、それらがLinuxで動いているかどうかを調査(ヒント:WhoIsHostingThisで確認)し、インターネットインフラにおけるLinuxの役割をまとめる
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%