"RPM이 뭐예요?" - 리눅스 설치 파일 RPM 완벽 정리

2026. 1. 13. 17:42·리눅스

회사 업무를 하다 보면 RPM이라는 용어를 자주 듣곤 합니다.

사실 처음에는 정확히 뭔지도 모르고 그냥 뭔가 설치하는 명령어네~ 생각하면서 rpm -ivh 파일명.rpm 같은 명령어를 복사해서 써보기만 했는데요. 당시에는 '아, 윈도우의 .exe 같은 설치 파일 확장자인가 보다' 하고 대충 이해하고 넘어갔던 기억이 납니다.

하지만 업무에서 계속 마주치다 보니 제대로 정리해둘 필요가 있겠더라고요. 저처럼 리눅스가 낯선 분들을 위해, RPM이 정확히 무엇인지 핵심만 딱 정리해 드립니다!


1. RPM, 딱 한 문장으로 정의하자면?

"레드햇 계열 리눅스에서 사용하는 표준 설치 패키지 파일"입니다.

윈도우에서 프로그램을 깔 때 .exe나 .msi 파일을 실행하듯, Red Hat, CentOS, Rocky Linux 같은 운영체제에서는 .rpm 파일을 실행해 프로그램을 설치합니다. 단순히 파일 하나만 띡 있는 게 아니라, 실행 파일, 설정 파일, 설명서까지 한데 묶여 있는 '종합 선물 세트'라고 보시면 돼요.

2. 우리가 터미널에서 쳤던 그 명령어의 의미

보통 업무 중에 rpm -i 패키지명.rpm 이런 명령어를 쓰시죠? 여기서 옵션들의 의미를 알고 나면 훨씬 눈에 잘 들어옵니다.

  • -i (install): 패키지를 설치합니다. (우리가 가장 많이 쓰는 것!)
  • -v (verbose): 설치 과정을 자세히 보여줍니다.
  • -h (hash): 설치 진행 상황을 # 표시로 예쁘게 보여줍니다.

그래서 보통은 설치가 잘 되고 있는지 보려고 rpm -ivh 라고 묶어서 자주 사용하곤 합니다.

3. 왜 .exe처럼 더블 클릭 안 하고 명령어를 쓰나요?

리눅스 서버는 보통 화면(GUI)이 없는 경우가 많아서 터미널 명령어를 주로 사용합니다. 특히 RPM은 설치만 해주는 게 아니라 '관리'까지 해주거든요.

  • 조회: rpm -qa (내 서버에 뭐가 깔려 있는지 다 나와!)
  • 삭제: rpm -e 패키지명 (이제 필요 없으니 지워줘.)
  • 검증: (이 파일이 깨지지는 않았는지 확인해줘.)

4. 주의할 점: "의존성"이라는 복병

업무 중에 RPM 설치를 하다가 에러가 나면서 멈추는 경우가 있습니다.
"A를 설치하려면 B가 먼저 있어야 해요!" 라는 메시지가 뜰 때인데요. 이걸 리눅스에서는 '의존성(Dependency)' 문제라고 부릅니다.

이게 너무 번거롭다 보니, 요즘은 RPM을 기반으로 하되 필요한 부속품(B)까지 알아서 척척 찾아 깔아주는 YUM이나 DNF라는 도구를 더 많이 쓰기도 합니다. (마치 스마트폰의 앱스토어 같은 녀석들이죠!)


🏁 마치며

그동안 회사에서 rpm -i만 기계적으로 입력하셨다면, 이제는 "아, 이게 레드햇 계열의 표준 설치 팩을 푸는 과정이었구나!"라고 자신 있게 이해하셔도 좋습니다.

우분투(Ubuntu) 같은 데비안 계열은 .deb라는 형식을 쓰니, 내가 쓰는 리눅스가 무엇인지에 따라 확장자만 잘 구분하면 리눅스 설치 마스터가 될 수 있습니다!

'리눅스' 카테고리의 다른 글

grep 'fail|error' 했는데 왜 검색이 안 될까? 파이프 기호의 비밀  (1) 2025.11.08
[Linux] scp 명령어 사용법  (0) 2022.12.06
netstat 명령어 사용법  (0) 2022.11.14
'리눅스' 카테고리의 다른 글
  • grep 'fail|error' 했는데 왜 검색이 안 될까? 파이프 기호의 비밀
  • [Linux] scp 명령어 사용법
  • netstat 명령어 사용법
rondeveloper
rondeveloper
  • rondeveloper
    Ron's learning record
    rondeveloper
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • k8s (1)
      • AWS (1)
      • 리눅스 (4)
      • Docker (8)
      • 라이브러리 & 프레임워크 (14)
        • React (2)
        • NestJS (8)
        • Spring (0)
        • Django (3)
        • FastAPI (1)
      • 웹 (2)
        • Nginx (1)
      • 프로그래밍 언어 (29)
        • HTML (0)
        • CSS (0)
        • JavaScript (21)
        • Python (3)
        • Node.js (0)
        • TypeScript (4)
        • Java (1)
      • Today I learned (9)
      • 알고리즘 (9)
        • 백준 (0)
        • 프로그래머스 (8)
        • 개념 (1)
      • 티끌모아 태산 (5)
        • 하루에 영단어 하나씩 (5)
        • 독서 (0)
      • 시행착오 (3)
      • 데이터베이스 (2)
        • MySQL (0)
      • 컴퓨터 과학 (8)
        • 네트워크 (2)
        • 운영체제 (0)
        • 데이터베이스 (2)
        • 자료구조 (4)
      • 포트폴리오 (4)
        • JJINCAFE IN SEOUL (4)
        • CODEUNICORN (0)
      • 회고 (0)
      • CICD (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    nestjs
    javascript
    typeorm
    도커
    코딩테스트
    배열
    모듈
    컨테이너
    프로그래머스
    redis
    mysql
    FastAPI
    자바스크립트
    Linux
    Docker
    레벨2
    IP 주소
    Kubectl
    iterable
    리눅스
    쿠버네티스
    typescript
    네트워크
    Python
    Til
    스택
    Kubernetes
    생활코딩
    기초
    django
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
rondeveloper
"RPM이 뭐예요?" - 리눅스 설치 파일 RPM 완벽 정리
상단으로

티스토리툴바