티스토리 뷰

SCIT/11월

[Linux]11月14日. DNF(Dandified)

Seraphim_ 2024. 11. 14. 14:45

https://sesoc.tistory.com/114?category=1048265

1. DNF 작동원리

DNF는 Dandified Yum의 약자로 Red Hat Enterprise Linux (RHEL) 및 Fedora에서 사용되는 패키지 관리 도구이다. 기존 Yum의 기능을 개선하고 확장하여 더욱 강력하고 효율적인 패키지 관리를 가능하게 한다.

  1) DNF 작동 원리

      ① 데이터베이스 활용 : DNF는 패키지 정보, 버전, 의존성 등을 포함하는 RPM 메타데이터 데이터베이스를 활용하여 패키지 관리 작업을 수행한다. 

      ② 사용자 요청 처리 : 사용자가 dnf 명령어를 사용하여 패키지 설치, 제거, 업데이트 등을 요청하면 DNF는 다음 단계를 거쳐 요청을 처리한다.

      ③ 의존성 확인 : DNF는 설치하려는 패키지의 의존성을 확인하고 필요한 경우 의존성 패키지도 함께 설치하거나 업데이트한다.

      ④ 저장소 검색 : DNF는 설정된 소프트웨어 저장소에서 요청한 패키지를 검색한다.

      ⑤ 패키지 다운로드 : DNF는 선택된 저장소에서 패키지 RPM 파일을 다운로드 한다.

      ⑥ 패키지 설치 : DNF는 다운로드된 패키지를 RPM 패키지 매니저를 사용하여 설치한다.

      ⑦ 캐시 관리 : DNF는 다운로드된 패키지 파일을 캐시에 저장하여 향후 설치 시 속도를 높인다.

 

2) DNF의 주요 특징

      ① 고속 : DNF는 병렬 다운로드 및 설치 기능을 통해 패키지 관리 작업을 빠르게 수행한다.

      ② 강력한 의존성 관리 : DNF는 복잡한 의존성 관계를 자동으로 해결하여 사용자 편의성을 높인다.

      ③ 유연한 설정 : DNF는 다양한 설정 옵션을 제공하여 사용자의 요구에 맞게 사용자 정의할 수 있다.

      ④ 다양한 기능 : DNF는 패키지 그룹 관리, 자동 업데이트, 보안 취약점 관리 등 다양한 기능을 제공한다.

DNF는 리눅스 시스템 관리에서 중요한 역할을 하는 강력한 패키지 관리 도구이다.

 

https://sesoc.tistory.com/115?category=1048265

2. DNF 명령어

  1) 패키지 설치

      ① dnf install 명령어 : 패키지 설치

      ② -h 옵션 : 설치 옵션 목록 출력

      ③ --nodeps 옵션 : 의존성 패키지 자동 설치 비활성화

      ④ --force 옵션 : 이미 설치된 패키지 버전을 강제로 업데이트

# 예시

# 패키지 설치
dnf install <패키지 이름>

# 의존성 패키지 자동 설치 비활성화
dnf install -nodeps <패키지 이름>

# 이미 설치된 패키지 버전 강제 업데이트
dnf install --force <패키지 이름>

 

  2) 패키지 제거

      ① dnf remove 명령어 : 페키지 제거

      ② -h 옵션 : 제거 옵션 목록 출력

      ③ --all 옵션 : 패키지와 함께 설치된 모든 파일 제거

      ④ --nodeps 옵션 : 의존성 패키지 제거 여부 선택

# 예시

# 패키지 제거
dnf remove <패키지 이름>

# 패키지와 함께 설치된 모든 파일 제거
dnf remove --all <패키지 이름>

# 의존성 패키지 제거하지 않고 패키지만 제거
dnf remove --nodeps <패키지 이름>

 

3) 패키지 업데이트

      ① dnf update 명령어 : 페키지 업데이트

      ② -h 옵션 : 업데이트 옵션 목록 출력

      ③ --refresh 옵션 :저장소 정보 새로고침

      ④ --all 옵션 : 모든 설치된 패키지를 최신 버전으로 업데이트

# 예시

# 패키지 업데이트
dnf update <패키지 이름>

# 저장소 정보 새로고침 후 업데이트
dnf update --refresh <패키지 이름>

# 모든 설치된 패키지를 최신 버전으로 업데이트
dnf update --all

 

  4) 패키지 정보 확인

      ① dnf info 명령어 : 페키지 정보 확인

      ② -h 옵션 : 정보 출력 옵션 목록 출력

      ③ --a 옵션 : 모든 설치된 패키지 정보 출력

# 예시

# 특정 패키지 정보 확인
dnf info <패키지 이름>

# 모든 설치된 패키지 정보 출력
dnf info -- installed

# 모든 패키지 정보 상세히 출력
dnf info --all

 

  5) 기타 유용한 옵션

      ① dnf search 명령어 : 페키지 검색

      ② dnf grouplist 명령어 : 패키지 그룹 목록 출력

      ③ dnf history 명령어 : DNF 명령어 실행 기록 확인

      ④ dnf config-manager 명령어 : DNF 설정 관리

DNF 명령어를 활용하여 다양한 패키지 관리 작업을 수행할 수 있다.

 

https://sesoc.tistory.com/116?category=1048265

3. DNF 고급기능

  1) RPM 패키지 직접 설치

      ① dnf install <패키지 이름>.rpm 명령어 : RPM 패키지 파일을 직접 설치

      ② --nogpgcheck 옵션 : GPG 서명 검증 비활성화 (주의: 보안 위험 존재)

# 예시

# RPM 패키지 직접 설치
dnf install <패키지 이름>.rpm

# GPG 서명 검증 비활성화 (주의 : 보안 위험 존재)
dnf install --nogpgcheck <패키지 이름>.rpm

 

  2) 특정 저장소 사용

      ① dnf install --enablerepo=<저장소 이름> <패키지 이름> 명령어 : 특정 저장소에서 패키지 설치

      ② dnf list --enabled 명령어 : 활성화된 저장소 목록 확인

      ③ dnf config-manager --add-repo=<저장소 URL> 명렁어 : 새로운 저장소 추가

# 예시

# 특성 저장소에서 패키지 설치
dnf install --enablerepo=epel <패키지 이름>

# 활성화된 저장소 목록 확인
dnf list --enabled

# 새로운 저장소 추가
dnf config-manager --add-repo=https://example.com/repo.rpm

 

  3) 배포판 버전 제한

      ① dnf install --releasever=<버전> <패키지 이름> 명령어 : 특정 배포판 버전에서 패키지 설치

      ② dnf distro-sync 명령어 : 시스템을 특정 배포판 버전으로 업데이트

# 예시

# 특정 배포판 버전에서 패키지 설치
dnf install --releasever=8 <패키지 이름>

# 시스템을 특정 배포판 버전으로 업데이트
dnf distro-sync --releasever=8

 

  4) 의존성 해결

      ① dnf whatprovides <기능> 명령어 : 특정 기능을 제공하는 패키지 목록 확인

      ② dnf install --allowerasing 명령어 : 의존성 충돌 해결을 위해 패키지 제거

# 예시

# 특정 기능을 제공하는 패키지 목록 확인
dnf whatprovides <기능>

# 의존성 충돌 해결을 위해 패키지 제거
dnf install --allowerasing <패키지 이름>

 

  5) DNF 플러그인 활용

      ① dnf copr enable <Copr 이름> 명령어 : Copr 저장소 활성화

      ② dnf install <Copr 패키지 이름> 명령어 : Copr 저장소에서 패키지 설치

# 예시

# Copr 저장소 활성화
dnf copr enable <Copr 이름>

# Copr 저장소에서 패키지 설치
dnf install <Copr 패키지 이름>

 

  6) DNF 스크립팅

      ① DNF 명령어를 스트립트에 작성하여 자동화된 패키지 관리 작업 수행

 

# 주의

   - 고급 기능 사용 시에는 주의가 필요하며, 명령어 옵션을 정확히 이해하고 사용해야 한다.

   - DNF 설정 파일을 편집할 때는 오류 발생 가능성이 있으므로 신중하게 진행해야 한다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함