これに非常に近い質問が Unix.Stackexchange HEREGiles
に投稿されました はかなり完全です |彼が説明する方法に対するクールな答え.
# 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
でファイルをリリース (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 | less Linux version 2.6.32.12-0.7-default ([email protected]) (gcc version 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 バージョン:n/a
ディストリビューター ID:archlinux
説明:Arch Linux
リリース:ローリング
コードネーム:なし
ただし、これは失敗する可能性があるため、/etc
をいじる必要があります。 (ほとんどの場合、名前が -release
で終わるファイル内にあります )。また、cat /etc/issue
役立つかもしれません。