web-dev-qa-db-ja.com

使用しているLinuxディストリビューションを知る方法は?

https://superuser.com/questions/80251/how-to-know-which-linux-distribution-im-using に移動しました

使用しているLinuxディストリビューションを知る方法は?

uname -aはLinux xxxxxx.net 2.6.9-42.0.3.EL.wh1smp#1 SMP Fri Aug 14 14:48:17 MDT 2009 i686 i686 i386 GNU/Linuxを提供しますこれがUbuntu/Debian/Fedoraであるかどうかを確認するにはRedhat?

サービスの再起動に/etc/init.d/serviced restartを使用していますが、Redhatファミリーではないようです

更新:

[~]$ cat /etc/issue
cat: /etc/issue: No such file or directory
[~]$ cat /etc/issue.net
cat: /etc/issue.net: No such file or directory
[~]$ lsb_release -a
-sh: lsb_release: command not found
[~]$ cat /etc/*-release
cat: /etc/*-release: No such file or directory
[~]$ cat /etc/*-version
cat: /etc/*-version: No such file or directory
[~]$ cat /etc/*release
cat: /etc/*release: No such file or directory
[~]$ cat /etc/*_release
cat: /etc/*_release: No such file or directory
[~]$ cat /etc/*version
cat: /etc/*version: No such file or directory
[~]$
22

これを試して:

cat /etc/*-release

/ etc/*-versionを試すこともできます

40
Dumb Guy

あなたが持っている場合 lsb_releaseコマンド、

lsb_release -a

教えてくれます(またはlsb_release -i)。

lsb_releaseLinux Standard Base Core Specification に含まれています。

編集:Red Hatシステムを使用しているようです。 uname出力のGoogle検索 推奨 。もちろんこれはプログラマティックではありません!

21
Alok Singhal

/ etc/issueまたは/etc/issue.netは、良い手掛かりを与えます。新しいディストリビューションは/ etc/lsb-releaseを提供します。これにより、正確な文字列をプログラムで簡単に特定できます。つまり、ディストリビューション名/メジャーおよびマイナーリリース/ Webサイトなど.

/ etc/lsb-releaseがない場合ははるかに難しくなるため、lsb-releaseを作成します。

Alokが言ったように、あなたはかなり古い(または非常にまばらな)システムにいるように見えます。これは、数行のコードで(確実に)プログラムで判断できるケースではないと思います。

他のすべてが失敗した場合は、使用中のパッケージマネージャーの種類(apt/rpm /その他)を確認し、/ etc/init.dがシンボリックリンク(rpm/RHディストリビューション)かディレクトリ(debianベースのディストリビューション)かを確認します。 )..そして、ルートファイルシステムに構造として存在することが期待できるものについて、かなり良い手がかりがあります。

あなたできないみんなにお願いします:)

11
Tim Post

ここにいくつかの情報があるようです:

> cat /etc/issue
Welcome to SUSE LINUX Enterprise Server 9 (i586) - Kernel \r (\l).

> uname -a
Linux boxname 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 athlon i386 GNU/Linux

> cat /etc/*-release
SUSE LINUX Enterprise Server 9 (i586)
VERSION = 9
PATCHLEVEL = 3
7
stefanB

最も一般的なディストリビューションのリリースファイル名のリスト: リリースファイル

そしてあなたを助けるかもしれない関数: シェルスクリプト

2
pcp

この場合、ELはEnterprise Linuxの略なので、RedHatまたはクローン(CentOSなど)だと思います。私はあなたが現在どのディストリビューションを使用しているのかをプログラムで見つけるための良い方法を知りません。それぞれにいくつかの異なる手がかりがあります。

cat  /etc/redhat_release
cat /etc/debian_version

良いスタートです。 (UbuntuはDebianから変更をプルするときに/etc/debian_versionを変更しないため、私のUbuntu Karmicシステムはdebian_versionにsqueeze/sidを持っています。)

編集:lsbを忘れた。 Tim PostとAlokです。 LSBの要点は、ディストリビューションに依存しない方法で処理を行うことです。

1
Peter Cordes