私たちのオフィスには、独自のカスタマイズされたLinux OSを実行する新しいハードウェアがいくつかあります。
どのディストリビューションに基づいているかをどのように判断すればよいですか?
これに非常に近い質問がUnix.Stackexchange [〜#〜] here [〜#〜]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
#uname -a Linux system1.doofus.local 2.6.32-71.el6.x86_64#1 SMP Fri May 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 kernel CONFIG_SUSE_KERNEL = y #CONFIG_KERNEL_DESKTOP is not set CONFIG_LOCK_KERNEL = y
/etc
のリリースファイル( nix.comから )
Unix.comリンクには、チェックを自動化するために誰かが書いたbashスクリプトもあります。
あなたが持っているパッケージマネージャーを理解することは良い手がかりです。
rpm
yum
apt-get
zypper
+その他多数
ただし、ベンダーが望むものを何でも使用できるので、これは決して完全なものではありません。それは本当にあなたに始める場所を与えるだけです。
#dmesg | less Linuxバージョン2.6.32.12-0.7-default(geeko @ buildhost)(gccバージョン4.3.4 [gcc-4_3-branch revision 152973](SUSE Linux))#1 SMP 2010- 05-20 11:14:20 +0200
cat /proc/version
およびuname
とほぼ同じ情報
あなたは使いたいでしょう:
$ cat /etc/*-release
次のような応答が返されます。
$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"
最初の推測として、lsb_release -a
を試してください。例えば。 Arch Linuxシステムでは
LSBバージョン:なし
ディストリビューターID:archlinux
説明:Arch Linux
リリース:ローリング
コードネーム:n/a
ただし、これは失敗する可能性があるため、/etc
(おそらく名前が-release
で終わるファイル内にある可能性があります)を調べなければなりません。また、cat /etc/issue
も役立ちます。