私たちのオフィスには、独自のカスタムLinuxオペレーティングシステムを実行するいくつかの新しいハードウェアがあります。
どのディストリビューションに基づいているかをどのように決定しますか?
答え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
#uname -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
- スラックウェア--->/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/Spaw--->/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 revision 152973] (SUSE Linux) ) #1 SMP 2010-05-20 11:14:20 +020
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
バージョン: Rolling
コード名: N/A
ただし、これは失敗する可能性があるため、検索する必要があります/etc
(通常は名前で終わるファイルの中にある可能性があります-release
)。役に立つかもしれませんcat /etc/issue
。