웹사이트 검색

DNF - RPM 기반 배포를 위한 차세대 패키지 관리 유틸리티


최근 뉴스는 "DNF"(공식적으로 아무것도 의미하지 않음)가 배포판에서 "YUM" 패키지 관리 유틸리티를 대체할 것이라는 많은 Linux 사용자, 전문가 및 학습자의 관심을 끌었습니다. 즉, RPM 패키지 관리자를 사용하는 Fedora, CentOS, RedHat 등입니다.

그 소식은 매우 놀랍고 패키지 설치, 업데이트 및 제거를 담당하는 Linux 배포판의 ID에 패키지 관리자가 붙어 있습니다.

YUM(Yellowdog Updater, Modified의 약자)은 GNU General Public License에 따라 출시된 무료 오픈 소스 명령줄 기반 유틸리티이며 주로 Python 프로그래밍 언어로 작성되었습니다. YUM은 Duke University에서 RedHat Linux를 관리하고 업데이트하기 위해 개발되었으며 나중에 널리 인정을 받아 RedHat Enterprise Linux, Fedora, CentOS 및 기타 RPM 기반 Linux 배포판의 패키지 관리자가 되었습니다. Linux 전문가들은 이를 비공식적으로 "패키지 관리자"라고 부르기도 합니다.

또한 읽어보세요

  1. YUM(Yellowdog Updater, 수정됨) – 패키지 관리를 위한 20가지 명령
  2. RPM(Red Hat Package Manager) – RPM 명령의 20가지 실제 예

Yum을 DNF로 대체하는 아이디어

DNF 프로젝트의 개발자인 Ale¨ Kozumplík는 RedHat 직원입니다. 그는 말한다:

“2009년 처음으로 'Anaconda' – System Installer 작업을 하면서 그는 Linux 작업에 대한 통찰력을 얻었습니다. 그는 Fedora의 패키징 도구를 탐색할 수 있는 완전히 다른 프로젝트에 참여하고 싶었습니다.”

Ale¨ Kozumplík은 말했습니다. 그는 DNF가 아무것도 의미하지 않으며 패키지 관리자 이름 답변이므로 다른 것이 아니라는 것을 설명하는 데 지쳤습니다. YUM과 충돌하지 않는 이름을 지정해야 하므로 DNF로 명명되었습니다.

DNF의 기초를 이끈 Yum의 단점:

  1. YUM의 종속성 해결은 악몽이며 C Hawkey와 함께 SUSE 라이브러리 'libsolv' 및 Python 래퍼를 사용하여 DNF에서 해결되었습니다.
  2. YUM에는 문서화된 API가 없습니다.
  3. 새로운 기능을 구축하는 것은 어렵습니다.
  4. Python 이외의 확장은 지원되지 않습니다.
  5. 메모리 감소가 적고 메타데이터의 자동 동기화가 적습니다. 이는 시간이 걸리는 프로세스입니다.

Ale¨ Kozumplík은 YUM을 포크하고 DNF를 개발하는 것 외에는 선택의 여지가 없다고 말합니다. YUM 패키지 관리자는 이러한 변경 사항을 구현할 준비가 되지 않았습니다. YUM에는 약 59000 LOC가 있는 반면 DNF에는 29000 LOC(코드 줄)가 있습니다.

DNF 개발

DNF는 Fedora 18에서 처음으로 존재감을 드러냈습니다. Fedora 20은 사용자가 YUM 대신 DNF 기능을 활용하는 것을 환영하는 최초의 Linux 배포판이었습니다.

DNF가 현재 직면하고 있는 기술적 과제는 YUM의 모든 기능을 구현하는 것입니다. 일반 사용자의 경우 DNF는 패키지 다운로드, 설치, 업데이트, 다운그레이드 및 삭제 기능을 제공합니다. 그러나 설치 중 깨진 패키지 건너뛰기, 디버그, 자세한 출력, 저장소 활성화, 설치 중 패키지 제외 등과 같은 기능에 대한 지원은 여전히 거의 또는 전혀 없습니다.

DNF와 이전 버전의 비교:

  1. –skip-broken 스위치 효과가 없습니다.
  2. 명령 업데이트=업그레이드
  3. resolvedep 명령을 사용할 수 없습니다.
  4. skip_if_unavailable 옵션은 기본적으로 ON입니다.
  5. 종속성 해결 프로세스는 명령줄에 표시되지 않습니다.
  6. 향후 릴리스에서는 병렬 다운로드가 가능합니다.
  7. 실행 취소 기록
  8. 델타 RPM
  9. 배쉬 완성
  10. 자동 제거 등

RHEL은 때때로 Fedora 및 이후 상용 환경과의 DNF 통합에 대해 의문을 제기합니다. 최신 버전은 2014년 8월 12일에 출시된 DNF 0.6.0입니다.

DNF 명령 테스트

yum 명령을 사용하여 RHEL/CentOS의 Fedora 이상에 dnf를 설치합니다.

yum install dnf

사용법 개요.

dnf [options] <command> [<argument>]

패키지를 설치합니다.

dnf install <name_of_package>

패키지를 삭제합니다.

dnf remove <name_of_package>

시스템 업데이트 및 업그레이드.

dnf update
dnf upgrade

참고: 위에서 언급한 대로 update=upgrade. 그래서. 이 패키지가 롤링 릴리스와 같은 기능을 구현할 예정인가요? – 미래의 질문입니다.

dnf 구성 파일의 기본 위치: /etc/dnf/dnf.conf.

프로젝트의 미래

이 프로젝트는 투명성을 높이고 프로젝트를 완전히 문서화하는 것을 목표로 합니다. 이 프로젝트는 초기 단계이므로 프로젝트를 통합하려면 커뮤니티의 지원이 필요합니다. 아직 많은 기능을 이식해야 하고 시간이 걸릴 것입니다. DNF는 Fedora 22와 함께 공식적으로 출시될 예정입니다.

지금은 여기까지입니다. 조만간 또 다른 흥미로운 기사로 다시 찾아오겠습니다. 그때까지 계속 지켜봐주시고 연결해 주시기 바랍니다. 아래 의견에 귀중한 피드백을 제공해 주시기 바랍니다.