Linux lsb_release コマンド

Linux コマンド大全


一、コマンド概要

lsb_releaselsb_release コマンドは、Linux システムにおいて Linux 標準基盤(LSB, Linux Standard Base)および特定のディストリビューション情報を表示するためのコマンドラインツールです。現在の Linux ディストリビューションに関する詳細情報(ディストリビューション ID、説明、バージョン番号など)を提供します。

1.1 LSB の概要

LSB (Linux Standard Base) は、Linux ファウンデーションが主導するプロジェクトであり、Linux システムの構造を標準化し、異なるディストリビューション間である程度の互換性を維持できるようにすることを目的としています。lsb_releaselsb_release コマンドは、この標準を実装するツールの一つです。

1.2 典型的な使用シーン

  • 現在のシステムのディストリビューション情報をすばやく確認する
  • スクリプト内でシステムバージョンを判定して異なる操作を実行する
  • システム管理者がシステム情報を収集する
  • ソフトウェアのインストール前にシステムの互換性を確認する

二、コマンドのインストール

ほとんどの主要な Linux ディストリビューションには、あらかじめlsb_releaseコマンドがインストールされています。システムにインストールされていない場合は、以下のコマンドでインストールできます。

2.1 ディストリビューション別のインストール方法

# Debian/Ubuntu 系统
sudo apt-get install lsb-release

# RedHat/CentOS 系统
sudo yum install redhat-lsb-core

# Arch Linux 系统
sudo pacman -S lsb-release

2.2 インストールの確認

インストールが完了したら、以下のコマンドでインストールが成功したか確認できます。

which lsb_release

次のような/usr/bin/lsb_releaseパスが返されれば、インストールは成功です。


三、コマンド構文とオプション

3.1 基本構文

lsb_release [选项]

3.2 よく使うオプションの詳細

オプション 正式名称 説明
-a --all すべての情報を表示(デフォルト動作)
-d --description ディストリビューションの説明を表示
-i --id ディストリビューション ID を表示
-r --release ディストリビューションのバージョン番号を表示
-c --codename ディストリビューションのコードネームを表示
-s --short 簡潔な形式で情報を表示
-h --help ヘルプ情報を表示
-v --version コマンドのバージョン情報を表示

四、使用例

4.1 すべてのシステム情報を表示

例

lsb_release -a

出力例:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal

4.2 ディストリビューション ID のみ表示

例

lsb_release -i

出力例:

Distributor ID: Ubuntu

4.3 バージョン番号のみ表示

例

lsb_release -r

出力例:

Release:        20.04

4.4 簡潔な形式で出力

例

lsb_release -s -i

出力例:

Ubuntu

五、実際の応用例

5.1 スクリプト内でシステムバージョンを判定する

例

#!/bin/bash

DISTRO=$(lsb_release -s -i)
VERSION=$(lsb_release -s -r)

if [ "$DISTRO" = "Ubuntu" ] && [ "$VERSION" = "20.04" ]; then
    echo "システムは Ubuntu 20.04 です"
else
    echo "システムは Ubuntu 20.04 ではありません"
fi

5.2 システムが特定の機能をサポートしているか確認する

例

#!/bin/bash

# CentOS 7 以降かどうかを確認
if [ "$(lsb_release -s -i)" = "CentOS" ]; then
    VERSION=$(lsb_release -s -r | cut -d '.' -f 1)
    if [ "$VERSION" -ge 7 ]; then
        echo "システムは要件を満たしています"
    else
        echo "CentOS 7 以降が必要です"
    fi
else
    echo "CentOS システムではありません"
fi

六、よくある質問と回答

6.1 コマンドが "No LSB modules are available" を返す

これはよくあるメッセージで、システムに完全な LSB モジュールがインストールされていないことを示しますが、lsb_release基本機能には影響しません。

例

# Ubuntu/Debian
sudo apt-get install lsb-core

# CentOS/RHEL
sudo yum install redhat-lsb

6.2 LSB 非対応システムで同様の情報を取得する方法

非対応のlsb_releaseシステムでは、以下の代替方法を使用できます。

例

# /etc/*-release ファイルを確認する
cat /etc/*-release

# または hostnamectl コマンドを使用する(systemd システム)
hostnamectl

6.3 コマンドの出力が空またはエラーになる

もしlsb_releaseコマンドの出力が空またはエラーの場合、原因として/etc/lsb-releaseファイルが存在しないか、形式が正しくない可能性があります。手動でそのファイルを作成または修正してみてください:

例

sudo nano /etc/lsb-release

ファイル内容の例:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"

七、まとめ

lsb_releaseシンプルですが非常に便利なコマンドで、スクリプトでシステム情報を取得したり、システムの互換性を確認したりするのに特に適しています。この記事を通じて、次のことができるようになるはずです:

  1. 理解するlsb_releaseコマンドの役割と LSB 標準
  2. コマンドのインストール方法と基本的な使い方を習得する
  3. スクリプト内でこのコマンドを柔軟に活用してシステムを判定する
  4. 使用中に遭遇する一般的な問題を解決する

覚えておいてください。たとえlsb_release便利でも、クロスプラットフォームのスクリプトを作成する際は、スクリプトの互換性を確保するために、他のシステム情報確認方法と組み合わせるのが最善です。

Linux コマンド大全

その他の拡張