사용중인 리눅스 배포판을 어떻게 식별합니까?


3

내가 일반적으로 적어도 우리가 무슨 말을하는지 지점의 몇 가지 아이디어를 얻을하지, 내가 실행하려고 apt-get, pacman, yum나는 내 머리 위로 떨어져 기억할 수있는 모든 다른 일반적인 패키지 관리자,하지만 난 더있을거야 셸만 사용하여 방금 로그인 한 Linux 배포판을 식별하는 간단한 방법이 있습니까?



커널 버전과 관련된 답변 (예 : "배포"개념이 Linux 커널 uname -acat /proc/version다르기 때문에 정확하지 않습니다. Linux 시스템은 전혀 배포판이 아닐 수도 있습니다. 커널과 루트 디렉토리
톱밥

@DavidPostill /etc/lsb-release더 사실 이라면 좋을 것 입니다. 아래에서 시도한 4 개 중 1 개에만 나타났습니다.
Paul

LSB-릴리스는 보통 옵션
토마스 당나귀

고양이 / etc / * release *
Alec Istomin 2016 년

답변:


3

배포판에 따라 다릅니다.

데비안과 친척 사용

     lsb_release -a
     cat /etc/lsb-release

어느 쪽이든 괜찮을 것입니다. 그러나 이것이 LSB (Linux Standard Base)와 관련되어 있음에도 불구하고 모든 배포판에 해당 내용이있는 것은 아닙니다. 위의 명령에서 응답이 없으면 시도해보십시오

      ls /etc/*release

찾은 파일을 살펴보십시오. RedHat에는 / etc / redhat-release가 있지만 Arch Linux와 같은 다른 파일 에는 / etc / arch-release 파일이 있으며 찾고있는 정보가 들어있는 파일은 / etc입니다. / os-release .

YMMV입니다.


2

완벽하지는 않지만 /proc/version최소한 야구장을 제공해야합니다.

레드햇 파생 상품 :

# 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

우분투 :

$ 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

데비안 :

$ cat /proc/version 
Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.65-1+deb7u1      

센 토스 :

# cat /proc/version 
Linux version 2.6.18-400.el5xen (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)) #1 SMP Thu Dec 4 13:29:23 EST 2014

광고 된 것처럼 완벽하지는 않지만 패키지 관리자를 확인하는 방법보다 훨씬 쉽습니다. /proc/version민트 우분투에 있지만 충분히 가깝습니다.
Jarmund

0
uname -a

트릭을해야합니다. 로그인 한 배포판에 시스템 정보가 표시됩니다.

cat /etc/lsb-release 

배포판 이름과 버전도 표시해야합니다.


아니, 호스트 이름, 커널 및 플랫폼 만 표시하고 배포판은 표시하지 않습니다.
Jarmund

괜찮아. 내 답변을 업데이트했습니다. 배포판 이름과 버전이 표시되어야합니다. 또는 적어도 Linux Mint에서는 내 것이 었습니다.
KenWeiLL 2016 년

0

최신 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)

당신은뿐만 아니라 이전 버전 또는 비 systemd 배포판을 확인해야 할 경우 경우에, 당신은 단순히이 방법으로 시작할 수 /etc/os-release존재하며, 그렇지 않은 경우에 대한보고 후퇴 lsb_release, /etc/redhat-release에서 그것을 알아 내려고 노력, /proc/version또는 다른 휴리스틱.

자세한 내용 은 Stack Overflow Documentation에서 Linux 배포 이름 및 버전 감지를 참조하십시오 .

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