서론: “자, 이제 뭘 해야 하지?” 환경 파악이 우선입니다.
AWS Lightsail이나 클라우드 인스턴스를 막 생성하고 터미널(SSH)에 처음 접속했을 때, 엔지니어가 가장 먼저 수행해야 할 작업은 무엇일까요? 바로 내가 발을 딛고 있는 **’시스템 환경’**을 정확히 파악하는 것입니다.
리눅스는 우분투(Ubuntu), 센트오에스(CentOS), 데비안(Debian) 등 다양한 배포판이 존재하며, 같은 OS라도 버전에 따라 사용하는 패키지 매니저나 명령어 옵션이 달라집니다. 오늘은 서버 관리의 기초 중의 기초인 OS 종류 및 버전 확인 명령어들을 실무 관점에서 정리해 보겠습니다. (저는 주로 CentOS 계열을 선호합니다.)
표준 중의 표준: cat /etc/os-release
최근 거의 모든 리눅스 배포판에서 공통적으로 지원하는 가장 권장되는 방식입니다.
Bash
cat /etc/os-release
- 왜 쓰나요? 배포판 이름(NAME), 버전(VERSION), ID 등을 표준화된 형식으로 보여줍니다.
- 엔지니어 팁: 스크립트를 작성하여 OS를 자동 판별해야 할 때 가장 신뢰할 수 있는 파일입니다.

시스템 요약 정보: hostnamectl
Systemd를 사용하는 최신 리눅스 환경에서 제공하는 명령어로, 출력이 매우 깔끔합니다.
Bash
hostnamectl
- 확인 가능 정보: 호스트 이름뿐만 아니라 운영체제, 커널 버전, 아키텍처(x86_64 등)까지 요약해서 보여줍니다.
- 추천 상황: 시스템의 전체적인 제원을 한눈에 훑어보고 싶을 때 가장 효율적입니다.

커널 정보 확인: uname -a
운영체제 내부의 심장인 커널(Kernel) 정보를 확인하는 전통적인 명령어입니다.
Bash
uname -a
- 확인 가능 정보: 커널 이름, 호스트명, 커널 릴리스 번호, 프로세서 타입 등을 출력합니다.
- 추천 상황: 특정 소프트웨어가 특정 커널 버전 이상을 요구할 때, 혹은 보안 패치 대상을 확인할 때 필수입니다.

데비안/우분투 계열 전용: lsb_release -a
Ubuntu나 Debian 계열을 사용 중이라면 가장 친숙한 명령어일 것입니다.
Bash
lsb_release -a
- 특징: 배포판의 코드네임(예: jammy, focal)까지 보여주기 때문에 해당 OS 전용 패키지를 설치할 때 유용합니다.
- 참고: 기본 설치가 안 되어 있는 경우도 있으니, 작동하지 않는다면 1번 명령어를 사용하세요.

RedHat/CentOS 계열 전용
만약 본인이 접속한 서버가 RedHat 계열이라면 아래 파일도 확인해 볼 가치가 있습니다.
Bash
cat /etc/redhat-release
마무리하며: 환경 파악은 트러블슈팅의 시작
내가 관리하는 서버가 어떤 OS에서 돌아가는지 모른 채 설정을 진행하는 것은 지도 없이 길을 나서는 것과 같습니다. 오늘 정리한 명령어들을 통해 서버의 ‘신원’을 먼저 확인하는 습관을 들여보세요.
다음 포스팅에서는 이렇게 파악한 시스템 환경을 바탕으로, 서버의 안정성을 비약적으로 높여주는 Swap 메모리 설정에 대해 다뤄보겠습니다.
“이 글의 영문 버전은 [이곳]에서 확인하실 수 있습니다.”