리눅스 배포판 및 OS 버전 확인하는 법
리눅스 배포판은 리눅스 커널을 기반으로한 OS를 의미합니다. 다양한 리눅스 배포판이 있어서, 오랜만에 리눅스 서버에 접속하거나 서버 관리자가 변경되는 경우 서버의 배포판을 확인해야하는 경우가 종종 있습니다. 이럴 때는 배포판 릴리스 관련된 파일을 참고하는 등 리눅스 배포판의 버전을 확인하는 몇 가지 방법이 있습니다.
이 글에서는 현재 리눅스의 배포판과 버전을 확인하는 방법을 소개합니다.
현재 리눅스 배포판 및 버전을 확인하는 방법#
현재 리눅스 배포판의 버전을 확인하기 위한 몇 가지 방법들이 있습니다. 여기서는 범용적인 방법부터 하나씩 소개해보겠습니다. 리눅스 배포판에 따라서 상황이 다르며 확인할 수 있는 정보의 범위가 다르기 때문에 차례대로 실행해보는 것을 추천드립니다.
/etc/issue 파일을 출력#
현재 시스템의 배포판과 버전을 확인하는 가장 범용적인 방법은 /etc/issue 파일을 출력해보는 것입니다.
$ cat /etc/issue
예를 들��� 우분투(Ubuntu) 리눅스 20.04에서 이 파일을 출력한 결과는 다음과 같습니다.
$ cat /etc/issue
Ubuntu 20.04.2 LTS \n \l
좀 더 오래된 버전인 우분투 14.04에서 실행한 결과는 다음과 같습니다.
$ cat /etc/issue
Ubuntu 14.04.6 LTS \n \l
알파인(Alpine) 리눅스에서 실행한 결과는 다음과 같습니다.
$ cat /etc/issue
Welcome to Alpine Linux 3.15
Kernel \r on an \m (\l)
어지간해서는 이 방법을 통해서 리눅스 배포판과 버전을 확인할 수 있습니다.
/etc/os-release 파일을 출력#
그 외에 배포판과 버전을 확인하는 방법은 os-release 파일을 출력해보는 것입니다.
$ cat /etc/os-release
우분투 20.04에서 실행한 결과는 다음과 같습니다. /etc/issue에서 확인할 수 있는 정보보다 훨씬 더 많은 정보를 확인할 수 있습니다. 배포판 이름은 물론 버전 및 코드네임, 그리고 배포판과 관련된 URL 정보도 포함되어있습니다.
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
우분투 14.04에서 실행한 결과는 다음과 같습니다.
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04.6 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.6 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
다음은 알파인 리눅스에서 출력한 결과입니다. 우분투만큼 정보가 많지 않지만, 배포판 이름 및 정보, 그리고 주요한 URL 등 /etc/issue보다는 좀 더 많은 정보를 포함하고 있습니다.
$ cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.15.0
PRETTY_NAME="Alpine Linux v3.15"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
최신 배포판들에서는 /etc/issue와 /etc/os-release만 알아도 어지간해서는 배포판 정보를 확인하는 게 가능할 것입니다.
배포판 별 *-release 파일을 출력#
/etc/issue와 /etc/os-release 이외에도 배포판 별로 /etc 디렉터리 아래에 배포판 릴리스 파일이 존재합니다. 이 파일을 출력해서 현재 배포판과 버전 정보를 확인할 수 있습니다. 배포판 별 릴리스 파일은 아래 표에 정리해두었습니다.
| 배포판 | 파일 |
|---|---|
| Ubuntu | /etc/lsb-release |
| CentOS | /etc/redhat-release, /etc/redhat_version |
| Fedora | /etc/fedora-release |
| Debian | /etc/debian_release, /etc/debian_version |
| SUSE | /etc/SuSE-release |
| RHEL | /etc/redhat-release |
| Gentoo | /etc/gentoo-release |
| Amazon Linux | /etc/system-release |
| Alpine | /etc/alpine-release |
예를 들어 Ubuntu의 경우 /etc/lsb-release 파일을 출력해서 배포판과 버전 정보를 확인할 수 있습니다. 우분투 20.04의 출력 결과는 다음과 같습니다.
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
알파인(Alpine) 리눅스의 출력 결과는 다음과 같습니다.
$ cat /etc/alpine-release
3.15.0
배포판 별로 파일 이름이 서로 다르기 때문에 아래 명령어를 어떤 *-release 파일이 있는지 먼저 확인해보는 것을 추천합니다.
$ ls /etc/*-release
/etc/lsb-release /etc/os-release
cat /etc/*-release를 실행하는 것도 방법입니다만, 이 경우 위와 같은 상황에서는 /etc/lsb-release와 /etc/os-release 파일의 내용이 모두 출력됩니다. 둘 다 배포판 정보를 담은 파일이라 크게 상관은 없습니다만, 헷갈릴 수 있으니 먼저 파일 목록을 확인 후 출력하는 방법을 권장합니다.
이 외에도 /etc/*_version, /etc/*-release-* 패턴을 가진 경우도 있습니다.
아래 글에서는 여기서 소개하지 않은 배포판 별 릴리스 파일 이름도 정리되어있으니 참고해주세요.
hostnamectl이나 lsb_release 명령을 사용하는 방법#
이외에도 hostnamectl과 lsb_release -a 명령어로 배포판을 확인하는 방법도 있습니다. hostnamectl 은 Systemd이 활성화된 리눅스에서만 실행할 수 있습니다.
다음은 우분투에서 hostnamectl을 실행한 예제입니다.
$ hostnamectl
Static hostname: lainyzine
Icon name: computer-vm
Chassis: vm
Machine ID: 658afd971a69fbc2ffd9
Boot ID: d15d63f2a7e3584e2598
Virtualization: microsoft
Operating System: Ubuntu 22.04.2 LTS
Kernel: Linux 5.15.0-76-generic
Architecture: x86-64
Hardware Vendor: QEMU
Hardware Model: Standard PC _i440FX + PIIX, 1996_
Operating System의 값이 리눅스 배포판 및 버전 정보입니다. 그 외에도 다양한 시스템 정보를 확인할 수 있습니다.
lsb_release 명령어도 설치가 되어있지 않은 경우가 많아서, 릴리스 파일을 출력하는 방법을 좀 더 추천합니다. 릴리스 파일이 없는 경우에는 hostnamectl이나 lsb_release -a도 실행해보시길 바랍니다.
추천 문서#
리눅스 커널 버전을 확인할 때는 uname이나 hostnamectl 명령어를 사용할 수 있습니다.
리눅스와 우분투에 대해서는 다음 글들에서 더 자세히 소개하고 있으니 참고해주세요.