ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
ディストリビューションを確認したい場面
SSH でログインしたサーバ、Docker コンテナ内、客先で渡された VM 等で「これは何の Linux?」「バージョンは?」を即座に知りたい場面は頻繁にあります。本記事では最初に試すべきコマンド順に紹介します。
1. /etc/os-release (最強・汎用)
systemd を採用する全ディストロが用意している標準ファイル (man os-release)。RHEL / CentOS / Ubuntu / Debian / Arch / openSUSE / Alpine ほぼ全てで使えます。
cat /etc/os-release
# 例: Ubuntu 22.04
# PRETTY_NAME="Ubuntu 22.04.4 LTS"
# NAME="Ubuntu"
# VERSION_ID="22.04"
# VERSION="22.04.4 LTS (Jammy Jellyfish)"
# VERSION_CODENAME=jammy
# ID=ubuntu
# ID_LIKE=debian
# HOME_URL="https://www.ubuntu.com/"
# 例: AlmaLinux 9
# NAME="AlmaLinux"
# VERSION="9.4 (Seafoam Ocelot)"
# ID="almalinux"
# ID_LIKE="rhel centos fedora"
# PRETTY_NAME="AlmaLinux 9.4 (Seafoam Ocelot)"
# PLATFORM_ID="platform:el9"
# シェルスクリプトから読む
source /etc/os-release
echo "OS=$NAME $VERSION_ID family=$ID_LIKE"
2. lsb_release コマンド
LSB (Linux Standard Base) のコマンド。未インストールのことも多いので、まず動くか確認します。
lsb_release -a
# No LSB modules are available.
# Distributor ID: Ubuntu
# Description: Ubuntu 22.04.4 LTS
# Release: 22.04
# Codename: jammy
# 入っていない場合の追加
# Debian/Ubuntu
sudo apt install lsb-release
# RHEL/CentOS
sudo dnf install redhat-lsb-core
3. hostnamectl (systemd 標準)
OS / カーネル / アーキテクチャ / ホスト名 / 仮想化を 1 発で出す優れもの。
hostnamectl
# Static hostname: web01
# Icon name: computer-vm
# Chassis: vm
# Machine ID: abc123...
# Boot ID: def456...
# Virtualization: kvm
# Operating System: Ubuntu 22.04.4 LTS
# Kernel: Linux 5.15.0-105-generic
# Architecture: x86-64
# OS のみ
hostnamectl --static
hostnamectl status | grep "Operating System"
4. uname (カーネル情報)
uname -a
# Linux web01 5.15.0-105-generic #115-Ubuntu SMP Mon Apr 15 09:52:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
# 個別
uname -s # カーネル名 Linux
uname -r # カーネル version 5.15.0-105-generic
uname -m # マシンアーキ x86_64 / aarch64 / armv7l
uname -p # プロセッサ
uname -o # OS GNU/Linux
# カーネルメジャー version だけ
uname -r | cut -d. -f1-2 # 5.15
5. ディストロ固有のファイル
| ファイル | 系統 |
|---|---|
/etc/redhat-release | RHEL / CentOS / Rocky / Alma / Fedora |
/etc/system-release | Amazon Linux など |
/etc/debian_version | Debian / Ubuntu / Raspbian |
/etc/SuSE-release (古い) / /etc/SUSE-brand | SUSE / openSUSE |
/etc/arch-release | Arch Linux |
/etc/alpine-release | Alpine Linux |
/etc/gentoo-release | Gentoo |
/etc/issue | ログインバナー (起動時表示) |
/etc/issue.net | ネットワーク経由ログイン用 |
# まとめてチェック
cat /etc/*-release /etc/*_version /etc/issue 2>/dev/null
# 例: AlmaLinux 9
cat /etc/redhat-release
# AlmaLinux release 9.4 (Seafoam Ocelot)
# 例: Debian 12
cat /etc/debian_version
# 12.5
6. アーキテクチャの確認
# CPU アーキテクチャ
uname -m
# x86_64 Intel / AMD 64bit
# aarch64 ARM 64bit (M1 Mac, Graviton, Raspberry Pi 4 64bit OS)
# armv7l ARM 32bit (Raspberry Pi 旧)
# i686 Intel 32bit
# ppc64le POWER (IBM)
# riscv64 RISC-V
# Debian/Ubuntu 系: dpkg アーキ
dpkg --print-architecture
# amd64 / arm64 / armhf / i386
# CPU 詳細
lscpu
cat /proc/cpuinfo | grep "model name" | head -1
# RHEL 系: arch
arch
7. Docker コンテナ内で確認
# コンテナに入って通常確認
docker exec -it mycontainer bash
cat /etc/os-release
# ワンライナー
docker run --rm alpine cat /etc/os-release
docker run --rm ubuntu:22.04 cat /etc/os-release
docker run --rm rockylinux:9 cat /etc/redhat-release
# イメージのアーキも確認
docker inspect ubuntu:22.04 | grep -i Architecture
シェルスクリプトでの判別
#!/bin/bash
if [ -f /etc/os-release ]; then
. /etc/os-release
DISTRO=$ID
VERSION=$VERSION_ID
elif [ -f /etc/redhat-release ]; then
DISTRO=$(awk '{print tolower($1)}' /etc/redhat-release)
VERSION=$(grep -oE '[0-9]+(\.[0-9]+)?' /etc/redhat-release | head -1)
else
DISTRO=unknown
VERSION=unknown
fi
case "$DISTRO" in
ubuntu|debian) echo "Debian 系"; PKG="apt" ;;
centos|rhel|rocky|almalinux|fedora) echo "RHEL 系"; PKG="dnf" ;;
alpine) echo "Alpine"; PKG="apk" ;;
arch|manjaro) echo "Arch 系"; PKG="pacman" ;;
*) echo "未対応: $DISTRO" ;;
esac
echo "Distro=$DISTRO Version=$VERSION Pkg=$PKG"
カーネルとディストロの関係
| ディストロ | 系統 | パッケージ管理 | 初期化 |
|---|---|---|---|
| Ubuntu / Debian / Raspbian | Debian 系 | apt / dpkg | systemd |
| RHEL / CentOS Stream / Rocky / Alma | RHEL 系 | dnf / yum / rpm | systemd |
| Fedora | RHEL 系 | dnf / rpm | systemd |
| Amazon Linux 2 / 2023 | RHEL 派生 | yum / dnf | systemd |
| openSUSE / SUSE Linux Enterprise | SUSE 系 | zypper / rpm | systemd |
| Alpine | 独立 (musl libc) | apk | OpenRC |
| Arch / Manjaro | 独立 | pacman | systemd |
| Gentoo | 独立 (ソースベース) | portage | OpenRC / systemd 選択 |
FAQ
Q: Amazon Linux か RHEL か見分けたい
A: /etc/os-release の ID を確認。amzn なら Amazon Linux、rhel なら RHEL です。ID_LIKE も互換系統 (fedora / centos / rhel) を示します。
Q: 古いディストロで /etc/os-release が無い
A: systemd 採用前 (CentOS 6 以前 / 古い Debian) は /etc/redhat-release や /etc/lsb-release、/etc/issue を見てください。今ならそれらは EOL に達しているため移行検討も。
Q: Raspberry Pi で 32bit / 64bit どちらの OS を入れたか分からない
A: uname -m で armv7l = 32bit、aarch64 = 64bit。getconf LONG_BIT でも 32 / 64 が出ます。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- ディストリビューションの確認
- Ubuntu
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?