Red Hat 기반 Linux 배포판에서 패키지 관리라는 동일한 기본 목적을 수행하지만
dnf는 yum의 후속으로 간주되며 몇 가지 개선 사항을 제공한다.
좀 더 자세한 비교를 해보자면
CentOS를 예를 들면
CentOS 7 까지는 기본패키지 관리는 yum을 사용했고,
CentOS 8 부터 더 향상된 dnf로 변경되었다.
1. yum 과 dnf 같은점
사용방법이 동일하다.
1) 패키지설치
yum install 패키지이름
dnf install 패키지이름
2) 패키지 재설치
yum reinstall 패키지이름
dnf reinstall 패키지이름
3) 업데이트 체크(패키지명 입력 시 개별 체크 가능)
yum check-update 패키지이름
dnf check-update 패키지이름
4) 업데이트(패키지명 입력 시 개별 업데이트 가능
yum update 패키지이름
dnf update 패키지이름
5) 설치된 패키지 삭제
yum remove 패키지이름
dnf remove 패키지이름
6) 설치된 패키지 목록(패키지명 입력 시 개별 검색 가능)
yum list installed 패키지이름
dnf list installed 패키지이름
7) Repository에서 패키지 검색
yum search 패키지이름
dnf search 패키지이름
2. yum 과 dnf 다른점
yum과 dnf의 다른점을 정리
1) RPM 의존성 문제 해결
yum: yum 패키지 프로그램을 설치할 때,
의존성이 있는 다른 패키지를 먼저 설치해야 해야한다는 종속성 관련 문제가 발생할 수 있고
이러한 문제를 해결하려면 수동 개입이 필요할 수 있다.
dnf : dnf명령은 rpm 명령의 패키지 의존성 문제를 완전히 해결해준다.
즉 특정 패키지를 설치하고자 할 때, 의존성이 있는 다른 패키지를 먼저 설치한다.(automatic)
rpm은 설치하려는 rpm 파일이 dvd에 있거나 인터넷에서 미리 다운로드 후 설치해야 하지만
dnf는 인터넷을 통해 알아서 다운로드 해 준다.
2) 성능
yum: yum 복잡한 트랜잭션 및 패키지 관리 작업을 처리할 때 속도가 느려질 수 있습니다.
이로 인해 업데이트 및 설치 시간이 길어질 수 있습니다.
dnf: dnf 특히 대규모 패키지 세트로 작업할 때 속도와 리소스 사용량 측면에서
더 효율적이고 더 나은 성능을 발휘하도록 설계되었습니다.
명령에 대한 보다 빠른 응답을 제공하는 것을 목표로 합니다.
3) 트렌젝션 기록
yum: yum 내장된 트랜잭션 기록을 제공하지 않으므로 패키지 설치, 업데이트 및 제거 기록을 추적하기 어렵습니다.
dnf: dnf 트랜잭션 기록을 유지하여 과거 패키지 관리 작업을 검토할 수 있습니다. 이는 문제 해결 및 감사 목적으로 유용할 수 있습니다.
4) 플러그인
yum: yum 플러그인 수가 제한되어 있어 확장성과 추가 기능이 제한될 수 있습니다.
dnf: dnf 더 많은 유연성과 확장성을 허용하는 모듈식 플러그인 시스템이 함께 제공됩니다.
이는 기능을 향상시키기 위해 플러그인을 추가하고 개발할 수 있음을 의미합니다.
5) 소프트웨어 호환성
yum: 여전히 yum작동하고 이전 시스템에서 사용할 수 있지만 일부 최신 소프트웨어 저장소 및 패키지와 완전히 호환되지 않을 수 있습니다.
dnf: dnf Red Hat 및 Fedora에서 적극적으로 개발 및 유지 관리하는 패키지 관리자로, 최신 리포지토리 및 패키지와 더욱 호환됩니다.
3. 결론
dnf는 일반적으로 의존성 해결, 성능, 이력 추적 및 사용자 친화성 면에서 yum보다 우수하다고 여겨지므로
현대의 Red Hat 기반 Linux 배포판에서는 dnf를 사용하는 것이 좋습니다.
yum은 여전히 사용 가능하고 이전 시스템에서 사용할 수 있지만 더 나은 패키지 관리를 위해 dnf로 전환하는 것이 좋습니다.