3. Ubuntu
Ubuntuの概要と特徴
Ubuntu(ウブントゥ)は、南アフリカの実業家マーク・シャトルワース氏と彼が設立した英 Canonical(カノニカル)社によって、2004年に開始されたディストリビューションです。 アフリカのズールー語で「他者への思いやり」「人間らしさ(Linux for Human Beings)」を意味する言葉を冠しており、誰でも容易に導入・操作できる親切な設計を追求しています。
Ubuntu の最大の特徴は、Debian の強固なパッケージ基盤を活用しながら、最新のソフトウェアと使いやすさを融合させた点 にあります。 現在、世界中のクラウド(AWS、Azure、GCP)上で起動される仮想マシンの大半で Ubuntu が選択されており、現代の開発・運用においてデファクトスタンダード(事実上の標準)となっています。
リリースサイクルとLTS(長期サポート)
Ubuntu は、極めて規則正しいリリースサイクルを採用しています。
- 通常版(Interim Release):
毎年 4 月と 10 月の「年 2 回(6 か月ごと)」にリリースされます(バージョン番号は「西暦年.月」、例:
23.10や24.10)。サポート期間は 9 か月間と短く、最新のソフトウェアやカーネルを試したい開発者向けです。 - LTS版(Long Term Support: 長期サポート版):
偶数年の 4 月(2 年ごと) にリリースされます(例:
20.04 LTS,22.04 LTS,24.04 LTS)。標準で 5 年間 のセキュリティ更新とサポートが提供され、企業向けの ESM(Extended Security Maintenance)を利用すれば最長 10〜12 年間のサポートが可能です。
実務の本番サーバーや開発環境では、特別な理由がない限り必ず LTS 版 を選択します。
主な用途
- パブリッククラウドの仮想サーバー基盤: AWS EC2、Google Cloud Compute Engine、Microsoft Azure など、主要クラウドの標準 OS として圧倒的な導入シェアを誇ります。
- AI・機械学習・データサイエンスの開発基盤: NVIDIA 公式の GPU ドライバ(CUDA)、PyTorch、TensorFlow、Docker などのツールチェーンが Ubuntu を第一級市民(最優先プラットフォーム)としてサポートしています。
- ソフトウェアエンジニアの開発PC / デスクトップ: 美しく直感的な GNOME デスクトップ環境を備え、デュアルブートや WSL2(Windows Subsystem for Linux)のデフォルト環境として多くの開発者に愛用されています。
- CI/CD パイプラインの実行基盤: GitHub Actions や GitLab CI のホストランナー(ubuntu-latest)として標準採用されています。
基本的なコマンド一覧
Ubuntu は Debian 系であるため、基本コマンドは Debian と共通の apt を使用しますが、独自のリポジトリ追加ツール(PPA)や独自のパッケージ管理システム「Snap」も標準搭載されています。
パッケージ管理コマンド(APT)
# パッケージインデックスの更新と全パッケージの一括アップグレード
sudo apt update && sudo apt upgrade -y
# 開発用ツールのインストール
sudo apt install -y build-essential curl git unzip software-properties-common
# パッケージのアンインストール
sudo apt remove nginx
PPA(Personal Package Archive: 外部リポジトリの追加)
公式リポジトリよりも新しいバージョンのソフトウェア(Python や Node.js、特定のツールなど)を導入したい場合、コミュニティ提供の PPA を簡単に追加できます。
# PPA リポジトリの追加(例:最新の Python リポジトリ)
sudo add-apt-repository ppa:deadsnakes/ppa
# 追加後のメタデータ更新
sudo apt update
# 最新バージョンのインストール
sudo apt install -y python3.12
Snap コマンド(コンテナ型パッケージ管理)
Snap は、Canonical 社が開発した「アプリケーション本体と必要なライブラリ群を 1 つに固めて隔離実行する」仕組みです。OS のシステム環境を汚さずに最新アプリケーションを安全にインストールできます。
# Snap パッケージの検索
snap find certbot
# パッケージのインストール
sudo snap install --classic certbot
# インストール済み snap パッケージの一覧表示
snap list
# パッケージのアップデート
sudo snap refresh
# パッケージのアンインストール
sudo snap remove certbot
ネットワーク・ファイアウォール(UFW)
Ubuntu には、iptables を直感的に操作できる簡潔なファイアウォールツール「UFW(Uncomplicated Firewall)」が標準で備わっています。
# ファイアウォールの状態確認
sudo ufw status
# SSH(ポート22)の通信を許可
sudo ufw allow ssh
# HTTP / HTTPS の通信を許可
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# ファイアウォールの有効化
sudo ufw enable
メリット・デメリット
メリット
- 圧倒的な情報量とドキュメント: 世界で最も普及しているため、エラーが発生しても Google 検索や Stack Overflow、公式フォーラム(Ask Ubuntu)で即座に解決策が見つかります。
- 最新ソフトウェア・ドライバの導入が容易: LTS 版であっても、PPA や Snap、公式バックポートを活用することで、最新バージョンの言語やツールをスムーズに導入できます。
- ハードウェアとクラウドの互換性:
最新のハードウェア(CPU、GPU、Wi-Fi)への追従が早く、NVIDIA ドライバなどもコマンド 1 つ(
sudo ubuntu-drivers install)で安全にセットアップできます。 - 充実した商用サポート: Canonical 社による手厚いエンタープライズサポート(Ubuntu Pro)が用意されており、大規模な商用システムでも安心して採用できます。
デメリット
- Snap に対する賛否両論: 初期状態で一部のソフトウェア(Chromium や Firefox など)が Snap で強制配信されており、アプリの起動が若干遅くなることや、自動アップデートのタイミング制御に不満を持つユーザーがいます。
- Debian に比べるとシステムリソース消費が大きい: 便利さを重視して各種デーモンや支援サービスが初期状態で動作しているため、最小構成の Debian と比較するとメモリやディスクの初期消費量がやや多くなります。
- Ubuntu 特有の独自カスタマイズ: Canonical 社独自の仕様変更(Netplan によるネットワーク設定、Snap の優遇など)が時折導入され、標準的な Linux 手順と異なる作法を覚える必要があります。