実行中の Linux ディストリビューションを識別するにはどうすればよいですか?

実行中の Linux ディストリビューションを識別するにはどうすればよいですか?

私たちのオフィスには、独自にカスタマイズされた Linux OS を実行する新しいハードウェアがいくつかあります。

どのディストリビューションに基づいているかを調べるにはどうすればいいですか?

答え1

これに非常に近い質問がUnix.Stackexchangeに投稿されました。ここ Giles彼が説明する方法に対して、かなり完全でクールな答えを持っています。

# cat /proc/version

Linux version 2.6.32-71.el6.x86_64 ([email protected]) (gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) ) #1 SMP Fri May 20 03:51:51 BST 2011  
# ユーネーム -a

Linux system1.doofus.local 2.6.32-71.el6.x86_64 #1 SMP 金曜日 5月 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/issue

CentOS Linux release 6.0 (Final)
Kernel \r on an \m

cat /proc/config.gz cat /usr/src/linux/config.gz cat /boot/config*

いくつか確認してみましたが、SUSE 以外では信頼性があまり高くありませんでした。

# zcat /proc/config.gz | grep -i カーネル
CONFIG_SUSE_KERNEL=y
# CONFIG_KERNEL_DESKTOPが設定されていません
CONFIG_LOCK_KERNEL=y

/etc(のファイルをリリースUnix.comより

  • Novell SuSE---> /etc/SuSE-release
  • Red Hat --->/etc/redhat-release、/etc/redhat_version
  • Fedora -->/etc/fedora-release
  • Slackware--->/etc/slackware-release、/etc/slackware-version
  • 古い Debian --->/etc/debian_release、/etc/debian_version
  • 新しい Debian--->/etc/os-release
  • マンドレイク--->/etc/mandrake-release
  • イエロードッグ -->/etc/yellowdog-release
  • Sun JDS--->/etc/sun-release
  • Solaris/Sparc--->/etc/release
  • Gentoo--->/etc/gentoo-release

Unix.com リンクには、チェックを自動化するために誰かが書いた bash スクリプトもあります。

どのようなパッケージ マネージャーを使用しているかを把握することは、良い手がかりになります。

rpm yum apt-get zypperその他多数

ただし、ベンダーは好きなものを何でも使用できるため、これは決して万能ではありません。これは、開始するための場所を提供するだけです。

# dmesg | 少なく

Linux バージョン 2.6.32.12-0.7-default (geeko@buildhost) (gcc バージョン 4.3.4 [gcc-4_3-branch リビジョン 152973] (SUSE Linux) ) #1 SMP 2010-05-20 11:14:20 +0200

ほぼ同じ情報cat /proc/versionですuname

答え2

使用したいもの:

$ cat /etc/*-release

次のような応答が返されます。

$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"

答え3

まず、試してみましょうlsb_release -a。例えばArch Linuxシステムでは、

LSB バージョン: n/a
ディストリビューター ID: archlinux
説明: Arch Linux
リリース: ローリング
コードネーム: n/a

ただし、これは失敗する可能性があり、その場合は調べる必要があります/etc(おそらく、名前が で終わるファイル内にあります-release)。 もcat /etc/issue役立つかもしれません。

関連情報