it-swarm-ko.com

어떤 Linux 버전을 실행하고 있는지 어떻게 알 수 있습니까?

어떤 Linux 시스템에서 작동하는지 (명령 줄에서) Linux가 실행중인 버전 (배포판 및 커널 버전, 가정)을 결정하는 방법이 있습니까?

207
Daryl Spitzer

커널은 보편적으로 uname로 탐지됩니다 :

$ uname -or
2.6.18-128.el5 GNU/Linux

현재 배포 및 버전을 결정할 수있는 교차 배포 방법은 없습니다. 일관성있게하려고 시도했지만 궁극적으로 불행히도 다양합니다. LSB 도구는이 정보를 제공하지만 아이러니하게도 모든 곳에서 기본적으로 설치되지는 않습니다. lsb-release 패키지가 설치된 우분투 9.04 시스템의 예 :

$ lsb_release -irc
Distributor ID: Ubuntu
Release:        9.04
Codename:       jaunty

그렇지 않으면 가장 널리 사용 가능한 방법은 /etc/something-release 파일을 확인하는 것입니다. 이것들은 대부분의 공통 플랫폼 및 그들의 파생 상품 (즉, Red Hat 및 CentOS)에 존재합니다.

여기 예시들이 있습니다.

우분투 /etc/lsb-release 있습니다 :

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

하지만 데비안은 /etc/debian_version 있습니다 :

$ cat /etc/debian_version
5.0.2

Fedora, Red Hat 및 CentOS는 다음과 같은 기능을 제공합니다.

Fedora: $ cat /etc/Fedora-release
Fedora release 10 (Cambridge)

Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)

newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)

젠투 :

$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1

나는 현재 SUSE 시스템을 사용할 수 없지만 /etc/SuSE-release라고 생각합니다.

슬랙웨어에는 /etc/slackware-release 및/또는 /etc/slackware-version가 있습니다.

Mandriva는 /etc/mandriva-release 있습니다.

대부분의 인기있는 배포판의 경우,

$ cat /etc/*{release,version}

가장 자주 일할 것입니다. 베어 본 "서버"설치에는 배포판 용 '릴리스'패키지가 없을 수 있습니다.

또한,이 정보를 자동으로 얻는 데 사용할 수있는 두 가지 타사 프로그램은 OhaiFacter .

많은 배포판에는 /etc/issue 또는 /etc/motd에 이러한 종류의 정보가 있지만 일부 보안 정책 및 모범 사례 는 이러한 파일에 액세스 알림 배너가 포함되어야 함을 나타냅니다.

관련 : 노드에 설치된 소프트웨어 패키지의 버전을 찾는 방법 , 꼭두각시 .

265
jtimberman

시도해 볼 수도 있습니다.

$ cat /etc/issue

대개 (항상 그런 것은 아니지만) 어떤 배포판을 사용하고 있는지 알려줄 것입니다. /etc/issue는 로그인 화면에 사용되는 파일입니다.

40
Pablo Santa Cruz

커널 : uname -a

20
raspi
cat /etc/os-release

ubuntu, Fedora 및 OpenSUSE에 대해서는 최소한.

10.9 (매버릭스)까지는 OS X에서 작동하지 않습니다. sw_vers 대신 사용하십시오.

OpenSUSE는 13.1까지 cat/etc/SuSE-release up을 가지고 있었지만 os-release를 선호하여 사용되지 않습니다.

레드햇 6.1은cat/etc/redhat-release

15
sweetfa

가능한 경우 lsb_release -a가 유용합니다.

14
CesarB

cat /proc/version는 공유 VPS에서 Red Hat을 발견했습니다.

12
iono

커널 : uname -r

배포판 : lsb_release -a

대부분의 Linux 시스템에서 실행됩니다.

6
Albert Z.

짧막 한 농담

lsb_release -a && uname -r
5
Serge Stroobandt

issue도 해결할 수 있습니다 platform 모듈이있는 파이썬 :

platform() 기능 사용 :

python -c 'import platform; print platform.platform()'
# Linux-4.9.0-8-AMD64-x86_64-with-debian-9.6

위의 명령 은 가능한 많은 유용한 정보로 기본 플랫폼을 식별하는 단일 문자열을 반환합니다.

또는 uname() 기능을 사용하십시오.

python -c 'import platform; print platform.uname()'
# ('Linux', 'debian', '4.9.0-8-AMD64', '#1 SMP Debian 4.9.130-2 (2018-10-27)', 'x86_64', '')

위 명령 system, node, release, version, machine의 6 가지 속성을 포함하는 namedtuple()을 반환합니다. , processor.

또는 dist() 기능을 사용하십시오.

python -c 'import platform; print platform.dist()'
# ('debian', '9.6', '')

마지막 명령 은 Linux OS 배포 이름 의 이름을 확인하려고 시도하지만 Python 이후로 사용되지 않는 입니다. 3.5 에서 Python 3.8 에서 제거됩니다.

1
simhumileco