Linuxディストリビューションの名前とバージョンを決定する方法を見つけようとしています。これは、ほとんどの(理想的にはすべての)最新のディストリビューションで動作します。私が/etc/os-release
試したディストリビューション(CentOS、Debian)に必要な情報が含まれていることに気付きましたが、その存在に依存することはどれほど安全ですか?などのコマンドにuname -a
は実際には同じ情報が含まれておらずlsb_release
、たとえば最小のCentOSには存在しないようです。
どのディストリビューションに付属しているの/etc/os-release
かを正確に調べる簡単な方法はありますか?また、されて/etc/os-release
含むことが保証NAME
、VERSION
およびPRETTY_NAME
フィールド?
1
確かにUbuntu、Debian、Arch。とにかく、そのようにディストリビューションを検出することを省略します。前回ディストリビューションを区別する必要があるときは、特定のパッケージマネージャーの存在を確認していました(つまり、pacman-> Arch、apt-getおよびno pacman-> UbuntuまたはDebian)。それはちょっとトリッキーなタスクであり、より良い解決策があるかどうかも知りたいです。
—
-ddnomad
@xDaizuリモートホストでスクリプトを実行して、それらに関するさまざまな情報を取得しています。
—
w128
@ w128その場合、動作するディストリビューションの静的な可変リストに依存する代わりに、「機能」(/ etc / os-release)が存在するかどうかを確認できませんか?
—
xDaizu
@xDaizuが「他の方法」に戻ると、サポートする必要のあるいくつかの主要なディストリビューションで信頼できる質問で提案された簡単なソリューションを保証できる場合、不要な作業が必要になる可能性があります。この場合。
—
w128