Linux: lsb_releaseの参照ファイルを/etc/lsb-releaseから変更する

lsb_releaseの参照ファイルを/etc/lsb-releaseから別のものに変更し、出力結果を変更する方法を記載します。

1 lsb_releaseの参照ファイルを/etc/lsb-releaseから変更したい理由

lsb_releaseをディストリビューション情報を出力するので、ディストリビューション毎の処理を記述するのに便利です。

しかし、お使いのディストリビューションの処理がない場合もあるでしょう。そして、そのディストリビューションがupstreamとなるディストリビューションから派生したものである場合は、upstreamのディストリビューション向けの処理で十分な場合が多いです。例えばLinuxMintはUbuntuの処理で十分な場合が多いです。

LinuxMint側でlsb_releaseの出力をUbuntuのものに変更できれば、Ubuntuの処理を利用することができます。ディストリビューション毎の処理を用意する側もUbuntuの処理だけを追加すれば良いことになります。

2 lsb_releaseの参照ファイルを/etc/lsb-releaseから変更する

lsb_releaseコマンドは/etc/lsb-releaseを参照して情報を出力しますが、LSB_ETC_LSB_RELEASEが設定されている場合はそちらを参照します。

よってLSB_ETC_LSB_RELEASEを設定してやればlsb_releaseの参照ファイルを/etc/lsb-releaseから変更できます。

3 実行例

LinuxMint 18の場合は以下の通りです。LSB_ETC_LSB_RELEASEをUbuntu 16.04のものに設定することでUbuntu 16.04の情報が出力されます。

$ lsb_release -cs
linuxmint
$ export LSB_ETC_LSB_RELEASE=/etc/upstream-release/lsb-release
$ lsb_release -cs
xenial