마사키군의 다락방

끄적끄적할게 있을때 끄적거려 보관해두는 다락방

사용중인 리눅스 배포판의 종류와 버전 확인

마침 리눅스의 버전을 알아봐야 할 일이 있어서 인터넷 검색을 해봤는데, KLDP의 글이 잘 나와있어서 거진 거의 그대로 가져왔다 (…) 오래된 글이다 보니, 지금 해보면 배포판이나 설정에 따라서 안되는 경우도 있기 때문에, 필요하다면 이 방법을 모두 해보고 가장 만족할만한 결과물로만 취해야하나 싶기도 하다.

이 글은 방법을 제시한 뒤 실제로 실행한 결과를 기록해두는 것으로 했다. 개중에는 오류메시지밖에 나오지 않는것도 있기는 하다-_- 실행 결과는 각각 라즈비안 2015-05-05 릴리즈, 우분투 14.04.2 LTS, 페도라 22 Workstation에서 테스트하였다.

/proc/version 을 확인하는 방법

/proc/version에는 리눅스 커널 버전이 기록되어 있고, 때떄로 배포판의 종류와 버전이 기록되어 있기도 하다. 이 파일의 내용을 조회하면 커널 버전과 배포판의 버전을 알 수 있다.

커널의 메시지 버퍼를 조회하는 방법

리눅스는 부팅 중에 발생한 메시지들을 로그와도 같은 형태로 커널의 메시지 버퍼에 쌓아둔다. 대부분의 경우 부팅시 제일 먼저 리눅스 버전과 커널 정보를 출력하므로 리눅스 버전과 커널 정보를 출력하므로, 메시지 버퍼를 출력하는 dmesg의 첫번째 라인을 조회하는 방법으로 사용중인 리눅스의 버전과 배포판의 종류를 조회할 수 있다.

단, 모든 배포판이 부팅되면서 자기 자신의 정보를 출력하는 것은 아니기 때문에 1줄이 아니라 10줄 가량을 조회해야 하기도 하다. 실제로도 테스트를 해 보니 원문이 작성된 시기와 지금의 시기가 달라서인지(…) 대부분의 경우는 하드웨어 초기화 정보가 가장 먼저 표시되었고, 메시지 버퍼의 대략 10줄 정도를 조회하면 중간에 비슷한 내용을 조회할 수 있었다. 단, 이 글에서는 그냥 첫번째 줄만 조회한 결과를 기록했다.

우분투와 페도라의 메시지가 동일한데, 아마도 둘 모두 VMware로 생성한 가상 머신에서 실행해서 그런 것 같다. 하드웨어가 동일하게 때문에 메시지도 동일하게 나오는듯.

콘솔 접속시의 메시지를 조회하는 방법

/etc/issue에는 콘솔에서 접속시 표시되는 메시지가 저장되어 있는데, 이 파일을 조회하면 대부분의 경우 배포판의 버전을 확인할 수 있다. 이 파일만 조회하면 되는데다가, 대부분의 경우 매우 정확하게 배포판 이름과 버전이 들어있기 때문에, 가장 간단한 방법이라고도 할 수 있다. 단, 보안상의 이유로 다른 내용으로 수정되어 있는 경우도 있다고 한다.

참고로 /etc/issue 파일 외에 /etc/issue.net은 외부에서 로그인 시도시 메시지, /etc/motd는 로그인 후 출력되는 메시지가 저장된다고 한다. (출처: 지킬껀 지키자 :: Linux issue, issue.net, motd file)

grub을 사용하는 경우

grub을 사용하는 경우, 부팅시 표시되는 운영체제 메뉴 텍스트를 조회하는 방법으로 리눅스 버전을 확인할 수 있다. …고는 하는데, 현재 grub은 legacy로 분류되고, grub 2가 개발되고 있어서인지 실제로는 아예 해당 파일 자체가 존재하지 않았다. grub 2의 설정 파일에 관련 내용이 있는지는 확인해보지 않았다.

(……)

배포판에서 제공되는 파일을 살펴보는 방법

각 리눅스 배포판은 다음 파일에 버전 정보를 제공한다고 한다. 파일이 존재하는 것으로 어떤 배포판인지 알 수 있고, 그 파일을 조회해보면 버전 정보가 기입되어 있다.

  • Debian
    • /etc/debian_release, /etc/debian_version
  • RedHat
    • /etc/readhat-release, /etc/redhat_version
  • Fedora Core
    • /etc/fedora-release
  • Gentoo
    • /etc/gentoo-release
  • SuSE
    • /etc/SuSE-release
  • Mandrake
    • /etc/mandrake-release
  • Slackware
    • /etc/slackware-release, /etc/slackware-version
  • Yellow Dog
    • /etc/yellowdog-release
  • Sun JDS
    • /etc/sun-release
  • Solaris / Sparc
    • /etc/release

어떤 파일이 존재하는지 직접 확인해봐도 좋겠지만, 대부분의 파일명이 -release로 끝나는 점을 이용해서 아래 명령어로 조회할 수도 있겠다. 물론 배포판에 따라서 안될수도 있고, 그럴때는 그냥 /etc/*release 파일 목록을 전부 조회해보면 되겠다.

번외편: RPM을 사용하는 배포판을 사용하는 경우

RPM을 사용하는 리눅스 배포판을 사용하고 있는 경우, RPM 명령어를 이용해서 정확하게 조회할 수 있다.

출처

 

, , ,

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.