리눅스 배포판과 커널 버전을 파악하는 것은 보안 업데이트 적용 여부를 결정하는 데 매우 중요합니다. 사용 중인 배포판에 상관없이, 시스템 정보를 찾는 다양한 방법을 알아보겠습니다.
롤링 릴리스와 포인트 릴리스의 차이
사용 중인 리눅스 버전과 커널 버전을 알고 계신가요? Arch, Manjaro, openSUSE와 같은 롤링 릴리스 배포판은 업데이트가 있을 때마다 패치와 수정 사항이 자주 적용됩니다. 반면에 Debian, Ubuntu 제품군, Fedora와 같은 포인트 릴리스 배포판은 일 년에 한두 번 대규모 소프트웨어 및 운영 체제 업데이트를 통합하여 제공합니다. 물론, 이 배포판들도 심각한 보안 취약점이 발견되면 긴급 보안 패치를 제공하기도 합니다.
어떤 경우든, 시스템에 설치된 리눅스 버전과 커널이 처음 설치했을 때와 다를 수 있습니다. 따라서 시스템의 리눅스 버전과 커널을 아는 것은 시스템에 보안 패치가 적용되었는지 확인하는 데 매우 중요합니다.
이 정보를 얻는 방법은 다양하며, 일부는 모든 시스템에서 작동하지만, 다른 방법은 특정 시스템에서만 작동합니다. 예를 들어, hostnamectl은 systemd 기반 배포판에서만 사용 가능합니다. 하지만 아래에 소개되는 방법 중 하나는 모든 배포판에서 작동할 것입니다.
lsb_release 명령어 활용
lsb_release 명령어는 Ubuntu와 Manjaro에서는 기본적으로 설치되어 있지만, Fedora에서는 설치가 필요할 수 있습니다. 만약 소프트웨어를 설치할 수 없거나 문제를 해결해야 하는 상황이라면, 다른 방법을 사용해 보세요. Fedora에 lsb_release를 설치하려면 다음 명령어를 사용하십시오.
sudo dnf install redhat-lsb-core
lsb_release 명령어는 Linux 표준 기반 및 배포 정보를 제공합니다.
“-a” 옵션과 함께 사용하면 실행 중인 리눅스 배포판에 대한 모든 정보를 확인할 수 있습니다. 다음 명령어를 입력해 보세요.
lsb_release -a
아래 이미지는 Ubuntu, Fedora, Manjaro의 출력 결과를 보여줍니다.
배포판 이름과 버전만 확인하고 싶다면 “-d” (description) 옵션을 사용하세요.
lsb_release -d
스크립트에서 출력을 구문 분석하는 등 추가 처리가 필요한 경우, 이 간결한 형식이 유용합니다.
/etc/os-release 파일 탐색
/etc/os-release 파일에는 리눅스 시스템에 대한 다양한 정보가 포함되어 있습니다. less나 cat 명령어를 사용하여 이 파일을 읽을 수 있습니다. cat 명령어를 사용하려면 다음 명령어를 입력하세요.
cat /etc/os-release
배포판 관련 정보와 일반 정보가 혼합되어 반환됩니다. 주요 내용은 다음과 같습니다.
- NAME: 배포판 이름, 설정되지 않은 경우 “Linux”로 표시될 수 있음.
- VERSION: 운영 체제 버전.
- ID: 운영 체제의 소문자 문자열 버전.
- ID_LIKE: 해당 배포판이 다른 배포판의 파생 버전인 경우, 상위 배포판이 포함.
- PRETTY_NAME: 배포판 이름 및 버전을 간결하게 나타낸 문자열.
- VERSION_ID: 배포판 버전 번호.
- HOME_URL: 배포판 프로젝트의 홈페이지 주소.
- SUPPORT_URL: 배포판 기본 지원 페이지 주소.
- BUG_REPORT_URL: 배포판 기본 버그 보고 페이지 주소.
- PRIVACY_POLICY_URL: 배포판 기본 개인 정보 보호 정책 페이지 주소.
- VERSION_CODENAME: 배포판 버전의 외부 코드 이름.
- UBUNTU_CODENAME: Ubuntu 관련 필드로, 버전의 내부 코드 이름을 포함.
일반적으로 /etc/ 디렉토리에는 이름 끝에 “release”가 붙은 두 개의 파일이 존재합니다. 다음 명령어로 확인할 수 있습니다.
ls /etc/*release
다음 명령어를 사용하여 두 파일의 내용을 한 번에 확인할 수 있습니다.
cat /etc/*release
“DISTRIBUTION_”으로 시작하는 4개의 추가 정보가 나타나지만, 이들은 이미 찾은 정보를 반복하는 경우가 많습니다.
/etc/issue 파일의 역할
/etc/issue 파일은 배포판 이름과 버전이 포함된 간단한 문자열을 제공합니다. 이 파일은 로그인 화면에 표시되도록 형식이 지정되어 있습니다. 하지만 로그인 화면 설정을 변경하면 이 정보가 표시되지 않을 수 있습니다.
파일 내용을 직접 확인하려면 다음 명령어를 사용하세요.
cat /etc/issue
hostnamectl 명령어로 시스템 정보 확인
hostnamectl 명령어는 현재 실행 중인 리눅스에 대한 다양한 정보를 제공합니다. 이 명령어는 systemd 시스템 및 서비스 관리자를 사용하는 시스템에서만 작동합니다.
다음 명령어를 입력하여 정보를 확인해 보세요.
hostnamectl
hostnamectl 출력에는 커널 버전이 포함되어 있다는 점이 중요합니다. 특정 취약점이 시스템에 영향을 미치는지 확인해야 하는 경우 이 명령어를 사용하는 것이 유용합니다.
uname 명령어로 커널 정보 확인
만약 systemd를 사용하지 않는 시스템에서는 uname 명령어를 사용하여 커널 버전을 확인할 수 있습니다. uname 명령어 자체를 옵션 없이 실행하면 많은 정보를 얻을 수 없지만, 다음 명령어를 사용하면 확인할 수 있습니다.
uname
“-a” (all) 옵션을 사용하면 uname이 수집할 수 있는 모든 정보를 보여줍니다. 다음 명령어를 입력해 보세요.
uname -a
출력을 필요한 정보로 제한하고 싶다면 “-m” (machine), “-r” (kernel release), “-s” (kernel name) 옵션을 사용할 수 있습니다. 다음 명령어를 입력해 보세요.
uname -mrs
/proc/version 가상 파일 이용
/proc/version 가상 파일에는 배포판 관련 정보와 커널 정보가 포함되어 있습니다. 이 파일을 통해 커널 세부 정보를 쉽게 확인할 수 있습니다.
/proc/ 파일 시스템은 컴퓨터가 부팅될 때 생성되는 가상 시스템입니다. 이 가상 시스템 내의 파일들은 일반 파일처럼 접근할 수 있습니다. 다음 명령어를 입력하여 내용을 확인하세요.
cat /proc/version
dmesg 명령어로 커널 메시지 확인
dmesg 명령어를 사용하면 커널 메시징 링 버퍼에서 메시지를 확인할 수 있습니다. 이 결과를 grep으로 전달하여 “Linux”라는 단어가 포함된 항목을 찾으면, 커널 관련 정보를 얻을 수 있습니다. 다음 명령어를 입력해 보세요.
sudo dmesg | grep Linux
다양한 방법을 활용하는 것의 중요성
리눅스는 다양한 방법으로 동일한 결과를 얻을 수 있도록 설계되어 있습니다. 만약 하나의 방법이 작동하지 않는다면, 다른 방법들 중 하나는 분명히 시스템 정보를 알려줄 것입니다. 시스템 정보 확인은 문제 해결 및 보안 유지에 필수적입니다.