/etc/os-releaseの存在に依存するLinuxディストリビューションは何ですか?

/etc/os-releaseの存在に依存するLinuxディストリビューションは何ですか?

私は、ほとんどの(または理想的にはすべての)最新のディストリビューションで動作するLinuxディストリビューションの名前とバージョンを確認する方法を見つけようとしています。これ/etc/os-releaseには、私が試したディストリビューション(CentOS、Debian)に必要な情報が含まれていることがわかりました。しかし、その存在に頼るのはどれほど安全ですか?このようなコマンドはuname -a実際には同じ情報を含んでおらず、lsb_release最小限のCentOSには明らかに存在しません。

ディストリビューションに何が含まれているかを正確に把握するための簡単な方法はありますか/etc/os-release?また、およびフィールドが/etc/os-release含まれていることが保証されますか?NAMEVERSIONPRETTY_NAME

答え1

systemd を実行するすべてのシステムには、以下が/etc/os-release必要です。指定済みsystemdの一部として。 systemdを持たない一部のシステムにもこの機能があります(例えばDebian 8では、systemdはオプションですが、/etc/os-releaseすべての場合にインストールされます。

仕様によると、すべてのフィールドはオプションであり、一部のフィールドにはデフォルト値があります(「Linux」はおよびをNAME意味しますPRETTY_NAME)。

より多くの背景情報を見ることができます。/etc/os-release発表

関連情報