web-dev-qa-db-ja.com

使用中のLinuxディストリビューションをどのように識別しますか?

少なくとも私たちが話しているブランチをある程度理解するために私が通常行うことは、apt-getpacmanyumおよび他のすべての一般的なパッケージマネージャーを実行しようとすることです。頭のてっぺんから思い出すことができますが、もっと良い方法があると確信しています。シェルのみを使用して、ログインしたばかりのLinuxディストリビューションを識別する簡単な方法はありますか?

3
Jarmund

それはディストリビューションに依存します。

Debianと親戚は

     lsb_release -a
     cat /etc/lsb-release

どちらでも問題ありません。しかし、これはLSB(Linux Standard Base)に関連しているにもかかわらず、すべてのディストリビューションがそれを持っているわけではありません。上記のコマンドから応答がない場合は、試してみてください

      ls /etc/*release

次に、見つけたファイルの内部を調べます。これには注意する必要があります。RedHatには/ etc/redhat-releaseがありますが、Arch Linuxなどの他のファイルにはempty/etc/Arch-releaseファイルがあり、情報が含まれています。あなたが探しているのは/ etc/os-releaseです。

だから、YMMV。

3
MariusMatutiae

絶対確実ではないかもしれませんが、/proc/version少なくともあなたに球場を与えるべきです:

Redhat派生物:

# cat /proc/version 
Linux version 2.6.18-92cp (builder@Lnx30BccCmp5) (gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)) #1 SMP Wed Apr 8 17:12:19 IDT 2015

Ubuntu:

$ cat /proc/version
Linux version 3.13.0-24-generic (buildd@panlong) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014

Debian:

$ cat /proc/version 
Linux version 3.2.0-4-AMD64 ([email protected]) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.65-1+deb7u1      

Centos:

# cat /proc/version 
Linux version 2.6.18-400.el5xen ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)) #1 SMP Thu Dec 4 13:29:23 EST 2014
2
Paul

私はscreenfetchmulti-linux-platformスクリプトユーティリティを使用します:

enter image description here

1
Drakonoved

最新のFedoraおよびDebian(およびArch、CentOS、CoreOS、Mageia、openSUSE、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、Ubuntuなど)では、最も簡単な方法は/etc/os-releaseを確認するか、hostnamectl statusを実行することです。

スクリプトでは、簡単に行うことができます

#!/bin/sh
source /etc/os-release
echo $PRETTY_NAME

例えば:

$ source /etc/os-release
$ echo $PRETTY_NAME
Fedora 25 (Workstation Edition)

.。

$ source /etc/os-release 
$ echo $PRETTY_NAME
Debian GNU/Linux 8 (jessie)

もちろん、古いバージョンやシステム化されていないディストリビューションも特定する必要がある場合は、/etc/os-releaseが存在する場合はこのアプローチから始め、存在しない場合は、lsb_release/etc/redhat-releaseを探して、それを理解しようとします。 /proc/version、またはその他のヒューリスティックから。

詳細については、Stack Overflowのドキュメントの Linuxディストリビューションの名前とバージョンの検出 を参照してください。

0
mattdm
uname -a

トリックを行う必要があります。ログインしているディストリビューションのシステム情報が表示されます。

cat /etc/lsb-release 

ディストリビューションの名前とバージョンも表示する必要があります。

0
KenWeiLL