어떤 Linux 배포판을 사용하고 있는지 어떻게 알 수 있습니까?


53

어떤 Linux 배포판을 사용하고 있는지 어떻게 알 수 있습니까?

uname -a 준다

Linux xxxxxx.net 2.6.9-42.0.3.EL.wh1smp #1 SMP Fri Aug 14 15:48:17 MDT 2009 i686 i686 i386 GNU/Linux

이것이 Ubuntu / Debian / Fedora 또는 Redhat인지 어떻게 알 수 있습니까?

나는 /etc/init.d/serviced restartserevices를 다시 시작 하는 데 사용 합니다 .Redhat 제품군이 아닌 것 같습니다.

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

특정 개인 / 기밀 정보를 제거하려면 중재자의 관심을 끌기 위해 질문에 플래그를 지정할 수 있습니다. 우리는 지금도 읽을 수 있기 때문에 ...
Tamara Wijsman

@Tom Wijsman은 질문 페이지에 해당 텍스트를 표시하고 싶지 않습니다. 나는 역사에있을 것임을 알고 있습니다 :-)
Mithun Sreedharan

답변:


31
  • 데비안에서 : /etc/debian_version

  • 우분투에서 : lsb_release -a or /etc/debian_version

  • Redhat에서 : cat /etc/redhat-release

  • 페도라에서 : cat /etc/fedora-release


2
그는 그들 모두를 시험해 보았습니다. 그의 소스 코드를보십시오.
guerda 2009

2
+1, "lsb_release -a"가 Red Hat에서 저에게 도움이되었습니다.
Aaron

3
lsb_release -a데비안에서 일했습니다 (짜내기).
acme

1
lsb_release -a젠투에서도 작동
Sergei

lsb_release -a우분투와 민트에서도 작동합니다.
wranvaud


15

이 기사는 Novell에서 시도해 볼 수 있습니다 .

시스템 소유자 인 경우 설치되어 실행중인 Linux를 알고 있습니다. 이 기사는 설치된 Linux 배포판을 결정하는 방법을 이해하는 데 도움이됩니다. Linux 배포판을 감지하기 위해이를 응용 프로그램에 통합 할 수 있습니다.


나는 이미 $ cat / etc / * release를 시도했다 cat : / etc / * release : 그런 파일이나 디렉토리가 없다. .9-42.0.3.EL.wh1smp i686) $ uname -a Linux qsquare.net 2.6.9-42.0.3.EL.wh1smp # 1 SMP 금 8 월 14 일 15:48:17 MDT 2009 i686 i686 i386 GNU / Linux
Mithun Sreedharan

6
cat /etc/*release일부 주류 배포판에서 작동하는 것 같습니다. Ubuntu, Mint, Red Hat 및 Gentoo로 확인했습니다.
nobar

데비안은 이것을 인식하지 못합니다
Milad Naseri

Novell 솔루션은 마침내 RedHat 5.3에서 작동합니다. 나는 그것을 무료 쉘 라이브러리에 통합했다 : github.com/Offirmo/offirmo-shell-lib
Offirmo

@nobar : 그것은 또한 SUSE 배포판에서 작동합니다 /etc/SuSE-release pastebin.com/dL5gVLQe
bwDraco

3

다음 중 하나를 시도하십시오.

ls -ld /etc/\*release\*  /etc/\*version\*

gcc --version

1
코드에 마크 업을 사용하지 않는 이유를 물어볼 수 있습니까? 4 개의 공백으로 코드를 들여 쓰면 훨씬 쉽게 읽고 구별 할 수 있습니다. 감사합니다.
slhck

3

모든 호환 시스템이있을 것이다 /etc/os-release당신에게 유통 등 관련 정보를 제공해야하는

NAME=Fedora
VERSION="17 (Beefy Miracle)"
ID=fedora
VERSION_ID=17
PRETTY_NAME="Fedora 17 (Beefy Miracle)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:17"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"


1

흠, 또 다른 배포판 인 .EL 접미사는 centos에서 사용 된 것으로 보이지만 redhat 파생물입니다. 패키지 관리 시스템이 무엇인지 궁금합니다. 일반적으로 공급 업체에서 제공하고 배포판에 따라 리포지토리를 사용하는 사람을 확인하는 것이 도움이 될 수 있습니다.





0

그냥 결과를 var에 넣고 소문자로 넣으십시오.

OS=`awk -F= '/DISTRIB_ID/ {print tolower($2)}' /etc/lsb-release`

0

여기에 업데이트가 있으므로 이제는 사용할 lsb_release -ds수 있으므로 linuxDistro=$(lsb_release -ds)추가 구문 분석없이 사용할 수 있습니다 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.