어떤 Linux 시스템에서 작동하는지 (명령 줄에서) Linux가 실행중인 버전 (배포판 및 커널 버전, 가정)을 결정하는 방법이 있습니까?
커널은 보편적으로 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}
가장 자주 일할 것입니다. 베어 본 "서버"설치에는 배포판 용 '릴리스'패키지가 없을 수 있습니다.
또한,이 정보를 자동으로 얻는 데 사용할 수있는 두 가지 타사 프로그램은 Ohai 및 Facter .
많은 배포판에는 /etc/issue
또는 /etc/motd
에 이러한 종류의 정보가 있지만 일부 보안 정책 및 모범 사례 는 이러한 파일에 액세스 알림 배너가 포함되어야 함을 나타냅니다.
관련 : 노드에 설치된 소프트웨어 패키지의 버전을 찾는 방법 , 꼭두각시 .
시도해 볼 수도 있습니다.
$ cat /etc/issue
대개 (항상 그런 것은 아니지만) 어떤 배포판을 사용하고 있는지 알려줄 것입니다. /etc/issue
는 로그인 화면에 사용되는 파일입니다.
커널 : uname -a
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
가능한 경우 lsb_release -a
가 유용합니다.
cat /proc/version
는 공유 VPS에서 Red Hat을 발견했습니다.
커널 : uname -r
배포판 : lsb_release -a
대부분의 Linux 시스템에서 실행됩니다.
lsb_release -a && uname -r
이 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 에서 제거됩니다.