LainyZine: 프로그래머 가이드 🐣

리눅스 배포판 및 버전 확인하는 방법

리눅스 배포판은 리눅스 커널을 기반으로한 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
Red Hat /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 명령을 사용하는 방법

아직 끝이 아닙니다. 이외에도 hostnamectllsb_release -a 명령어로 배포판을 확인하는 방법도 있습니다. hostnamectl 은 systemd 기반의 시스템에서만 사용 가능하며, lsb_release 명령어도 설치가 되어있지 않은 경우가 많아서, 릴리스 파일을 출력하는 방법을 좀 더 추천합니다.

릴리스 파일이 없는 경우에는 hostnamectl이나 lsb_release -a도 실행해보시길 바랍니다.

uname: 현재 시스템의 리눅스 커널 버전 확인하는 방법

uname 명령어를 사용하면 현재 시스템 정보 및 리눅스 커널 버전을 확인할 수 있습니다. 옵션 별로 다음과 같은 정보를 확인할 수 있습니다.

## s 옵션은 커널 이름을 출력합니다
$ uname -s
Linux

## o 옵션은 운영체제 이름을 출력합니다.
$ uname -o
GNU/Linux

## r 옵션은 커널의 릴리스 버전을 출력합니다.
$ uname -r
5.10.25-linuxkit

## m 옵션은 시스템의 하드웨어 아키텍처를 출력합니다.
$ uname -m
x86_64

a 옵션을 사용하면 uname으로 확인 가능한 모든 정보를 출력해줍니다. 일반적으로 uname -a를 많이 활용합니다.

## a 옵션은 시스템 정보 전체를 출력합니다.
$ uname -a
inux d513cb937c85 5.10.25-linuxkit #1 SMP PREEMPT Tue Mar 23 09:24:45 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

uname 명령어에 대한 더 자세한 사용법은 다음 글에서 소개합니다.

추천 문서

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.