티스토리 뷰
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는 리눅스 시스템 관리에서 중요한 역할을 하는 강력한 패키지 관리 도구이다.
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 명령어를 활용하여 다양한 패키지 관리 작업을 수행할 수 있다.
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 설정 파일을 편집할 때는 오류 발생 가능성이 있으므로 신중하게 진행해야 한다.
'SCIT > 11월' 카테고리의 다른 글
[Linux]11月15日. 파일 찾기 (0) | 2024.11.15 |
---|---|
[Linux]11月14日. 파일 압축과 묶기 (0) | 2024.11.14 |
[Linux]11月14日. RPM 패키지 명령어 (0) | 2024.11.14 |
[Linux]11月14日. RPM 패키지 (0) | 2024.11.13 |
[Linux]11月12日. 파일 링크(link) (0) | 2024.11.12 |
- Total
- Today
- Yesterday
- if문
- 백준
- Linux
- html
- 가계부만들기
- backjoon
- data science academy
- javascript
- setting
- java
- MySQL
- 반복문
- Spring boot
- Spring
- ajax
- 오븐시계
- 2739번
- JPA
- 2480
- DB
- Intellij idea
- springboot
- css
- 조건문
- Modal
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |