• ベストアンサー

[Java]LinuxのOS判定方法

JavaでLinuxのOS判定を行いたいです。 たとえば、以下のOS判定をしたいのですが、何か方法があれば教えてください。 ・RedhatLinux ・SUSELinux 以上です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

それぞれのディストリビューションで特徴のあるファイルを読む…ってところでしょうかねぇ。 SUSEは知りませんが、Redhatなら /etc/redhat-releaseってファイルにディストリビューション名が書かれていたりします。 [user@localhost ~]$ cat /etc/redhat-release CentOS release 6.5 (Final) [user@localhost ~]$ Debianだと… user@localhost:~$ cat /etc/debian_version 6.0.8 user@localhost:~$

fantasticlights
質問者

お礼

ありがとうございました。 ファイルの中身まで読むとより詳しくOS種別が分かるのですね。

その他の回答 (1)

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

System.getProperty("os.name") あたりが使えるかもしれません。 http://docs.oracle.com/javase/jp/6/api/java/lang/System.html#getProperty(java.lang.String) (引数に渡す値については少し上にある getProperties() を参照のこと)

fantasticlights
質問者

お礼

System.getProperty("os.name") だとLinuxまでしか識別できないようです。 Redhatまで識別するには、JavaのAPIでは難しそうです。 結局、/etc/redhat-releaseの有無を確認するなどして判別するのが良いという結論になりました。 ありがとうございました。

関連するQ&A