lsb_releaseコマンドはLinuxディストリビューションのバージョン情報の確認を行うことができます。
lsb_releaseコマンドの情報はシェルスクリプト等で条件分岐や判定にも利用することができます。
バージョン情報の確認で利用されるファイルとして/usr/lib/os-release又は/etc/os-releaseを用いて、利用しているディストリビューションの情報が表示されます。
lsbはLinux Standard Baseの略です。Linux Standard Baseとは、複数のLinuxディストリビューションの共同プロジェクトでLinuxディストリビューションが準拠すべき標準仕様を定めたものになり、Linux Foundationが主となり仕様の策定と公表しているものになります。
lsb_releaseコマンドの実装は様々あり、Bourne Shellでの実装やPythonでの実装があります。
目次
配布しているディストリビュータの名前を確認(-iオプション)
-iオプションで配布元のディストリビュータの名前を確認できます。
コマンド例
| 1 | lsb_release -i | 
出力例1
| 1 | Distributor ID:    Ubuntu | 
出力例2
| 1 | Distributor ID: Fedora | 
Linuxディストリビューションの詳細な説明を確認(-dオプション)
-dオプションはLinuxディストリビューションの詳細な説明を確認できます。バージョン番号などの情報が含まれることがあります。
コマンド例
| 1 | lsb_release -d | 
出力例1
| 1 | Description:    Ubuntu 22.04.2 LTS | 
出力例2
| 1 | Description:    Fedora release 37 (Thirty Seven) | 
Linuxディストリビューションのバージョン番号を確認(-rオプション)
-rオプションはLinuxディストリビューションのバージョン番号を確認できます。
コマンド例
| 1 | lsb_release -r | 
出力例1
| 1 | Release:    22.04 | 
出力例2
| 1 | Release:        37 | 
Linuxディストリビューションのコードネームを確認(-cオプション)
-cオプションはLinuxディストリビューションのコードネームを確認できます。
コードネームはバージョン番号よりもユーザーフレンドリーな名前で、特定のリリースを識別するために使用されます。
コマンド例
| 1 | lsb_release -c | 
出力例1
| 1 | Codename:    jammy | 
出力例2
| 1 | Codename:       ThirtySeven | 
LSBのバージョン情報を表示(-vオプション)
-vオプションは システムで使用されているLSBのバージョンが表示されます。
LSBはLinux Standard Baseの略です。
コマンド例
| 1 | lsb_release -v | 
出力例1
| 1 | LSB Version:    core-11.1.0ubuntu4-noarch:printing-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch | 
出力例2
| 1 | LSB Version:    :core-4.1-amd64:core-4.1-noarch | 
全ての情報を表示(-aオプション)
-aオプションを用いるとこれまでのオプションのすべての情報を表示できます。
コマンド例
| 1 | lsb_release -a | 
出力例1
| 1 2 3 4 5 | LSB Version:    core-11.1.0ubuntu4-noarch:printing-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch Distributor ID:    Ubuntu Description:    Ubuntu 22.04.2 LTS Release:    22.04 Codename:    jammy | 
出力例2
| 1 2 3 4 5 | LSB Version:    :core-4.1-amd64:core-4.1-noarch Distributor ID: Fedora Description:    Fedora release 37 (Thirty Seven) Release:        37 Codename:       ThirtySeven | 
ショート形式で表示(-sオプション)
-sオプションは短い形式の表示を行うことができ、各情報の値だけを表示できます。
コマンド例
| 1 | lsb_release -i -s | 
出力結果
| 1 | Ubuntu | 
-aオプションと一緒に利用すると以下のように出力されます。
| 1 2 3 4 5 6 | $ lsb_release -a -s core-11.1.0ubuntu4-noarch:printing-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch Ubuntu Ubuntu 22.04.2 LTS 22.04 jammy | 
lsb_releaseコマンドが何かエラーを出している?
lsb_relaseコマンドで例えば、以下のように実行を行うと
| 1 2 3 | $ lsb_release -i No LSB modules are available. Distributor ID:    Ubuntu | 
出力結果に
| 1 | No LSB modules are available. | 
のようなエラー文を出していることがありますが、lsb_releaseコマンドを利用する分なら無視しても構いません。例えば、
| 1 2 3 | $ dist_name=$(lsb_release -i) $ echo $dist_name Distributor ID: Ubuntu | 
のように利用する場合は特に影響はありません。
エラー文の内容はLSBモジュールが利用できないとそのままの意味を表しているだけなので、気になる場合は、
| 1 | sudo apt install lsb | 
等のようにLSB準拠の環境になるようにパッケージをインストールしたり、
| 1 | sudo apt install lsb-core | 
のようにもう少し指定するパッケージを絞ってインストールすることでエラー文を表示させなくすることができます。
また、私の環境のFedora 37ではlsb_releaseコマンドが入っていなかったので、
| 1 | sudo dnf install redhat-lsb-core | 
のようにインストールをしました。
しかし、Linuxディストリビューションのバージョンによってはlsbパッケージ等がない場合もあるので、そのときはLSBのインストール方法の検索やそもそもの必要性の検討を行う必要があります。
ファイルからlsb_releaseコマンドで欲しい情報を見る
lsb_releaseコマンドが存在しない場合は、/usr/lib/os-release又は/etc/os-releaseからlsb_releaseコマンドで知りたい情報を得る方法もあります。
コマンド例
| 1 | cat /etc/os-release | 
出力結果の例(Ubuntu 23.04の場合)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | PRETTY_NAME="Ubuntu 23.04" NAME="Ubuntu" VERSION_ID="23.04" VERSION="23.04 (Lunar Lobster)" VERSION_CODENAME=lunar ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=lunar LOGO=ubuntu-logo | 
