lsb_releaseの参照ファイルを/etc/lsb-releaseから別のものに変更し、出力結果を変更する方法を記載します。
Table of Contents
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