私たちのオフィスには、独自にカスタマイズされた 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
役立つかもしれません。