서버에 접속해서 패키지를 깔려는데 어떤 명령은 apt, 어떤 문서는 yum, 또 어디선 dnf를 씁니다. 셋이 비슷해 보여서 헷갈리지만, 차이의 핵심은 단 하나, 어떤 배포판 계열이냐입니다. 여기서 명령어가 갈립니다.
핵심: 배포판 계열이 다르다
리눅스 패키지 매니저는 크게 두 갈래입니다. apt는 데비안 계열(Debian·Ubuntu)에서 .deb 패키지를 다루고, yum·dnf는 레드햇 계열(RHEL·CentOS·Rocky·Fedora)에서 .rpm 패키지를 다룹니다. dnf는 yum의 차세대 버전으로, 의존성 해결이 빠르고 정확해진 후계자입니다. RHEL 8부터는 yum을 쳐도 사실 dnf가 실행됩니다.
| 구분 | apt | yum | dnf |
|---|---|---|---|
| 계열 | 데비안·우분투 | 레드햇·구 CentOS | RHEL8+·Fedora·Rocky |
| 패키지 | .deb | .rpm | .rpm |
| 상태 | 현역 | 구형(dnf로 대체) | 현역(yum 후계) |
| 의존성 해결 | 빠름 | 느림 | 빠르고 정확 |
명령은 거의 1:1로 대응한다
계열만 다를 뿐 하는 일은 같아서, 명령어도 대부분 대응됩니다.
로컬 터미널
# 패키지 목록 갱신 (apt만 별도 단계 필요)
apt update
# yum/dnf는 설치 시 자동으로 메타데이터를 갱신
# 설치
apt install nginx
dnf install nginx
yum install nginx
# 삭제
apt remove nginx
dnf remove nginx
# 검색
apt search nginx
dnf search nginx
# 업그레이드
apt upgrade
dnf upgrade
가장 자주 헷갈리는 지점은 apt의 갱신 단계입니다. 데비안 계열은 apt update로 패키지 목록을 먼저 받아온 뒤에야 최신 버전을 설치할 수 있습니다. 이 단계를 건너뛰면 오래된 버전이 깔리거나 "찾을 수 없다"는 오류가 납니다. 반면 dnf·yum은 설치할 때 알아서 메타데이터를 갱신합니다.
로컬 터미널
apt update && apt install nginx # 데비안 계열의 안전한 2단계
어떤 명령을 쓸지 모를 때
지금 접속한 서버가 어느 계열인지 모르겠다면 배포판 정보를 먼저 봅니다.
로컬 터미널
cat /etc/os-release
OUTPUT
NAME="Ubuntu" → apt 사용
NAME="Rocky Linux" → dnf 사용
ID나 NAME에 ubuntu·debian이 보이면 apt, rhel·rocky·centos·fedora가 보이면 dnf(또는 yum)를 쓰면 됩니다.
요점 정리
- 차이의 본질은 배포판 계열 — 데비안 계열은
apt(.deb), 레드햇 계열은dnf/yum(.rpm). dnf는yum의 후계자로, 의존성 처리가 빠르고 정확하다. 신규 RHEL 계열은dnf가 표준.apt는apt update로 목록을 먼저 갱신해야 한다 — 가장 흔한 실수.- 계열을 모르면
cat /etc/os-release로 먼저 확인하라.
패키지 설치·의존성·저장소를 직접 다뤄보는 실습은 리눅스 트랙에서 회원가입 없이 무료로 익힐 수 있습니다.