💻 리눅스 YUM & DNF 기본 사용법 CentOS와 Fedora 패키지 관리 완벽 가이드
📌 yum install부터 dnf update까지 RPM 기반 시스템 관리의 모든 것
리눅스에서 패키지를 설치하거나 업데이트할 때, 단순히 명령어만 외우는 것보다 그 동작 원리를 이해하는 것이 훨씬 효율적입니다.
CentOS와 Fedora처럼 RPM 기반 배포판에서는 YUM과 DNF가 핵심적인 역할을 합니다.
하지만 두 도구의 차이와 각각의 장단점을 잘 모르는 경우도 많죠.
이번 글에서는 초보자도 쉽게 따라 할 수 있도록 설치, 업데이트, 제거 명령의 기본부터 알아두면 좋은 활용 팁까지 꼼꼼히 정리해 드리겠습니다.
단순한 명령어 나열이 아닌, 실제 서버나 개발 환경에서 바로 적용할 수 있는 실용적인 내용을 중심으로 다룹니다.
yum과 dnf의 차이점, 자주 쓰이는 옵션, 그리고 시스템 관리 시 주의할 점까지 단계별로 살펴보며, 안정적이고 효율적인 패키지 관리를 도와드릴 예정입니다.
글 말미에는 FAQ를 통해 자주 묻는 질문과 답변도 준비했으니, 끝까지 읽어보시면 리눅스 패키지 관리의 흐름이 한눈에 정리될 것입니다.
📋 목차
🔍 YUM과 DNF의 차이점
CentOS, Fedora, RHEL(Red Hat Enterprise Linux) 등 RPM 기반 배포판에서 패키지 관리의 중심에는 YUM(Yellowdog Updater, Modified)과 DNF(Dandified YUM)가 있습니다.
YUM은 오랫동안 CentOS와 RHEL의 기본 패키지 관리자였지만, DNF는 더 빠른 속도와 향상된 의존성 해결 능력을 제공하며 차세대 표준으로 자리잡았습니다.
두 도구 모두 패키지 설치, 업데이트, 제거 기능을 제공하지만, 내부 동작 방식에 차이가 있습니다.
YUM은 Python 2 기반이며 의존성 처리 시 메모리 사용량이 다소 높고 속도가 느릴 수 있습니다.
반면 DNF는 Python 3 기반으로, libsolv 라이브러리를 활용해 의존성 문제를 더 정밀하게 처리하며, 병렬 다운로드 기능을 지원해 설치 속도가 개선되었습니다.
- ⚡DNF는 YUM 대비 속도와 효율성이 개선됨
- 🧩libsolv 기반의 정확한 의존성 해결 가능
- 📜Python 3 지원으로 미래 호환성 확보
Fedora는 이미 오래전부터 YUM 대신 DNF를 기본으로 채택했으며, CentOS 8 이후 버전에서도 DNF가 기본 명령어로 사용됩니다.
다만, 호환성을 위해 yum 명령을 입력해도 내부적으로 DNF가 실행되도록 설정되어 있는 경우가 많습니다.
# YUM 버전 확인
yum --version
# DNF 버전 확인
dnf --version
💡 TIP: DNF는 기본적으로 YUM의 하위 호환성을 제공하므로, 기존 YUM 사용자라도 명령어를 거의 그대로 사용할 수 있습니다.
⚙️ yum install 명령 사용법
패키지 설치는 YUM의 가장 기본적인 기능입니다.
CentOS 7 이하 버전이나 RHEL 7 환경에서는 여전히 yum install 명령이 널리 사용됩니다.
이 명령은 지정한 패키지와 그에 필요한 모든 의존성을 자동으로 찾아 설치합니다.
예를 들어, nano 텍스트 편집기를 설치하려면 아래와 같이 입력합니다.
명령 실행 시 root 권한이 필요하므로, 일반 사용자라면 sudo를 반드시 붙여야 합니다.
# nano 설치
sudo yum install nano
설치 과정에서 ‘y/N’ 형태로 진행 여부를 묻는 경우가 있습니다.
이때 -y 옵션을 함께 사용하면 모든 질문에 자동으로 ‘Yes’를 응답하여 설치가 진행됩니다.
- 🛠️yum install 패키지명 → 해당 패키지와 의존성 자동 설치
- ⚡-y 옵션 → 설치 시 모든 질문 자동 승인
- 📂캐시 사용으로 동일 패키지 재설치 시 속도 향상
설치된 패키지 목록은 yum list installed 명령으로 확인할 수 있으며, 특정 패키지가 설치되어 있는지 여부를 빠르게 파악할 수 있습니다.
⚠️ 주의: YUM을 통한 설치 시, 레포지토리 설정이 올바르지 않으면 패키지를 찾을 수 없거나 잘못된 버전이 설치될 수 있습니다. 설치 전 yum repolist 명령으로 활성화된 저장소를 확인하세요.
🔄 dnf update로 시스템 업데이트
DNF는 Fedora와 CentOS 8 이상에서 기본 패키지 관리자이며, dnf update 명령은 설치된 패키지를 최신 버전으로 유지하는 데 사용됩니다.
이 명령은 시스템의 모든 패키지를 업데이트할 수 있으며, 보안 패치 적용에도 필수적입니다.
일반적인 전체 업데이트 명령은 다음과 같습니다.
-y 옵션을 추가하면 모든 확인 과정을 자동으로 승인합니다.
# 전체 시스템 업데이트
sudo dnf update -y
특정 패키지만 업데이트하려면 패키지명을 함께 지정합니다.
예를 들어, httpd 패키지를 업데이트하려면 다음과 같이 입력합니다.
# 특정 패키지 업데이트
sudo dnf update httpd
- 🔒정기적으로 dnf update 실행 → 보안 취약점 예방
- 🧹업데이트 후 dnf clean all로 캐시 정리
- ⚡병렬 다운로드 기능으로 속도 향상
업데이트 시 커널이 변경되면 시스템 재부팅이 필요할 수 있습니다.
특히 서버 환경에서는 서비스 중단을 최소화하기 위해 유지보수 시간에 맞춰 업데이트를 진행하는 것이 안전합니다.
💡 TIP: Fedora와 최신 CentOS 버전은 dnf upgrade 명령도 지원하며, update와 동일하게 동작합니다.
🗑️ dnf remove로 패키지 제거
시스템에서 불필요한 패키지를 정리하는 것은 보안과 성능 유지에 중요합니다.
dnf remove 명령은 지정한 패키지와 해당 의존성 패키지를 안전하게 제거합니다.
이 명령은 Fedora, CentOS 8 이상, RHEL 8 이상에서 기본적으로 사용됩니다.
예를 들어, nano 패키지를 삭제하려면 다음과 같이 실행합니다.
# nano 제거
sudo dnf remove nano
삭제 시에도 -y 옵션을 사용하면 사용자 확인 과정을 생략하고 즉시 제거를 진행합니다.
또한, 관련된 설정 파일이나 캐시를 완전히 정리하려면 dnf autoremove 명령을 사용할 수 있습니다.
- 🗑️dnf remove 패키지명 → 지정한 패키지 제거
- 🧹dnf autoremove → 사용하지 않는 의존성 패키지 자동 제거
- ⚠️중요 시스템 패키지 제거 시 시스템 불안정 가능
패키지를 제거할 때는 해당 패키지가 다른 프로그램에 영향을 주지 않는지 반드시 확인해야 합니다.
특히 서버 환경에서는 테스트 환경에서 먼저 제거 과정을 시뮬레이션한 후 본 서버에 적용하는 것이 안전합니다.
⚠️ 주의: 핵심 시스템 패키지를 제거하면 OS 부팅이나 네트워크 기능에 문제가 생길 수 있습니다.
제거 전 반드시 dnf repoquery –whatrequires 패키지명 명령으로 의존성을 확인하세요.
💡 패키지 관리 시 유용한 옵션
YUM과 DNF를 사용할 때는 기본 명령 외에도 효율적이고 안전한 패키지 관리를 위해 알아두면 좋은 옵션들이 있습니다.
이 옵션들을 잘 활용하면 설치와 업데이트 속도를 높이고, 문제 발생 시 신속하게 대처할 수 있습니다.
⚡ 속도 향상을 위한 옵션
DNF에서는 병렬 다운로드 기능을 활성화해 설치와 업데이트 속도를 높일 수 있습니다.
설정 파일(/etc/dnf/dnf.conf)에 다음과 같은 항목을 추가합니다.
max_parallel_downloads=10
fastestmirror=True
🛡️ 문제 해결과 롤백
업데이트 후 문제가 발생하면 dnf history 명령을 사용해 이전 상태로 복구할 수 있습니다.
특정 트랜잭션을 되돌리려면 dnf history undo ID 명령을 실행합니다.
# 업데이트 이력 확인
sudo dnf history
# 특정 이력 되돌리기
sudo dnf history undo 25
🧹 시스템 청소
패키지를 자주 설치하고 제거하다 보면 불필요한 캐시와 의존성 패키지가 남을 수 있습니다.
다음 명령으로 이를 정리하면 디스크 공간을 절약할 수 있습니다.
sudo dnf clean all
sudo dnf autoremove
💎 핵심 포인트:
패키지 관리 시 유용한 옵션을 알고 있으면 설치·업데이트 속도를 높이고, 오류 발생 시 빠른 복구가 가능합니다. 또한 정기적인 청소 명령으로 시스템을 깔끔하게 유지할 수 있습니다.
❓ 자주 묻는 질문 (FAQ)
YUM과 DNF 중 어느 것을 사용해야 하나요?
yum install과 dnf install의 차이가 있나요?
dnf update와 dnf upgrade는 어떻게 다른가요?
패키지 삭제 후 의존성 패키지도 자동으로 제거되나요?
dnf update 후 재부팅이 필요한 경우는 언제인가요?
설치 가능한 패키지 목록을 확인하는 방법은?
저장소 설정은 어떻게 변경하나요?
YUM과 DNF에서 동일한 옵션을 사용해도 되나요?
🖥️ 리눅스 패키지 관리, 안정성과 효율성을 동시에
YUM과 DNF는 RPM 기반 리눅스 배포판에서 필수적인 패키지 관리 도구입니다.
이 글에서는 YUM과 DNF의 차이점, yum install과 dnf update, dnf remove의 사용법, 그리고 패키지 관리 시 유용한 옵션까지 모두 살펴보았습니다.
각 명령은 단순한 설치·삭제를 넘어 시스템의 안정성과 보안을 유지하는 핵심 역할을 합니다.
특히, DNF는 병렬 다운로드와 개선된 의존성 관리로 최신 환경에서 더 빠르고 안정적인 패키지 관리를 가능하게 합니다.
정기적인 업데이트와 불필요한 패키지 정리를 병행하면 시스템 성능을 최적화할 수 있으며, 문제가 발생했을 때는 dnf history를 활용한 롤백으로 신속하게 복구할 수 있습니다.
마지막으로, 명령어를 외우는 것보다 원리를 이해하고 상황에 맞는 옵션을 활용하는 것이 중요합니다.
이렇게 하면 단순 관리자가 아니라 능동적으로 시스템을 다루는 숙련된 리눅스 사용자로 성장할 수 있습니다.
🏷️ 관련 태그 : 리눅스, YUM, DNF, CentOS, Fedora, 패키지관리, 서버운영, 시스템업데이트, 명령어, RPM