콘텐츠로 이동

YUM/DNF 패키지 관리자

Red Hat, CentOS, Fedora의 패키지 관리를 위한 포괄적인 YUM 및 DNF 명령어와 워크플로우.

설치 및 업데이트

기본 패키지 작업 (DNF)

명령어설명
sudo dnf update모든 패키지 업데이트
sudo dnf upgrade모든 패키지 업그레이드 (업데이트와 동일)
sudo dnf install package_name패키지 설치
sudo dnf remove package_name패키지 제거
sudo dnf autoremove사용하지 않는 종속성 제거
sudo dnf reinstall package_name패키지 재설치

기본 패키지 작업 (YUM)

명령어설명
sudo yum update모든 패키지 업데이트
sudo yum install package_name패키지 설치
sudo yum remove package_name패키지 제거
sudo yum autoremove사용하지 않는 종속성 제거
sudo yum reinstall package_name패키지 재설치

고급 설치

명령어설명
sudo dnf install package1 package2여러 패키지 설치하기
sudo dnf install package-version특정 버전 설치
sudo dnf localinstall package.rpm로컬 RPM 파일 설치
sudo dnf downgrade package_name패키지 다운그레이드
sudo dnf install --enablerepo=repo package특정 저장소에서 설치

패키지 정보

검색 및 정보

명령어설명
dnf search keyword패키지 검색
dnf info package_name패키지 정보 표시
dnf list installed설치된 패키지 목록
dnf list available사용 가능한 패키지 목록
dnf list updates사용 가능한 업데이트 목록
rpm -qa설치된 모든 패키지 나열하기
rpm -qi package_name설치된 패키지 정보 표시

패키지 의존성

명령어설명
dnf deplist package_name패키지 종속성 표시
dnf repoquery --requires package_name패키지 요구 사항 표시
dnf repoquery --whatrequires package_name패키지에 필요한 것을 보여줍니다
rpm -qR package_nameRPM 패키지 종속성 표시

저장소 관리

저장소 작업

명령어설명
dnf repolist활성화된 저장소 목록
dnf repolist all모든 저장소 나열하기
sudo dnf config-manager --add-repo URL저장소 추가
sudo dnf config-manager --disable repo_name저장소 비활성화
sudo dnf config-manager --enable repo_name저장소 활성화

EPEL 저장소 (CentOS/RHEL)

명령어설명
sudo dnf install epel-releaseEPEL 저장소 설치
sudo yum install epel-releaseEPEL(YUM) 설치

시스템 유지 관리

정리 작업

명령어설명
sudo dnf clean all모든 캐시 지우기
sudo dnf clean packages패키지 캐시 정리
sudo dnf clean metadata메타데이터 캐시 정리
sudo dnf autoremove고아 패키지 제거

패키지 그룹

명령어설명
dnf group list패키지 그룹 나열하기
dnf group info "Group Name"그룹 정보 표시
sudo dnf group install "Development Tools"패키지 그룹 설치
sudo dnf group remove "Group Name"패키지 그룹 제거

구성 파일

DNF/YUM 구성

파일설명
/etc/dnf/dnf.confDNF 주 구성 파일
/etc/yum.confYUM 주 구성
/etc/yum.repos.d/저장소 구성 파일
/var/log/dnf.logDNF 로그 파일
/var/log/yum.logYUM 로그 파일

dnf.conf 예시

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True
fastestmirror=True
max_parallel_downloads=10

저장소 파일 예시

[example-repo]
name=Example Repository
baseurl=https://example.com/repo/
enabled=1
gpgcheck=1
gpgkey=https://example.com/RPM-GPG-KEY

고급 사용법

히스토리 및 롤백

명령어설명
dnf history거래 내역 표시
dnf history info ID거래 세부 정보 표시
sudo dnf history undo ID트랜잭션 취소
sudo dnf history redo ID거래 다시 하기
sudo dnf history rollback ID트랜잭션으로 롤백

모듈 관리 (DNF)

명령어설명
dnf module list사용 가능한 모듈 목록
dnf module list --installed설치된 모듈 목록
sudo dnf module install module:stream모듈 스트림 설치
sudo dnf module enable module:stream모듈 스트림 활성화
sudo dnf module disable module모듈 비활성화

보안 업데이트

명령어설명
dnf updateinfo업데이트 정보 표시
dnf updateinfo --security보안 업데이트 표시
sudo dnf update --security보안 업데이트만 설치하세요
dnf updateinfo list cvesCVE 목록

패키지 빌드

RPM 개발

명령어설명
sudo dnf install rpm-build rpmdevtools빌드 도구 설치
rpmdev-setuptreeRPM 빌드 트리 설정
rpmbuild -ba package.specRPM 패키지 빌드
rpm -qp --requires package.rpmRPM 종속성 확인

소스 RPM

명령어설명
dnf download --source package_name소스 RPM 다운로드
rpm -ivh package.src.rpm소스 RPM 설치
rpmbuild --rebuild package.src.rpm소스에서 다시 빌드

문제 해결

일반적인 문제

문제솔루션
Conflicting packagessudo dnf remove conflicting_package
Broken dependenciessudo dnf check
Corrupted RPM databasesudo rpm --rebuilddb
Repository errorssudo dnf clean all && sudo dnf makecache

잠금 문제

Would you like me to continue with the remaining sections?

명령어설명
sudo rm /var/lib/rpm/.rpm.lockRPM 잠금 해제
sudo rm /var/run/yum.pidYUM 잠금 제거
`ps aux \grep yum`
명령어설명
sudo rpm --rebuilddbRPM 데이터베이스 재구축
sudo dnf check문제 확인
sudo dnf distro-sync패키지 동기화

Fedora 업데이트

명령어설명
sudo dnf system-upgrade download --releasever=XX다운로드 업그레이드
sudo dnf system-upgrade reboot업그레이드 수행
sudo dnf install fedora-upgrade업그레이드 도구 설치
명령어설명
sudo dnf install flatpakFlatpak 설치
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoFlathub 추가하기

구독 관리자 (RHEL)

명령어설명
sudo subscription-manager register시스템 등록
sudo subscription-manager attach --auto자동 연결 구독
sudo subscription-manager repos --enable=repo_name저장소 활성화
명령어설명
sudo dnf install centos-release-streamStream 저장소 설치
sudo dnf swap centos-linux-repos centos-stream-reposStream으로 전환

구성 조정

# /etc/dnf/dnf.conf optimizations
[main]
fastestmirror=True
max_parallel_downloads=10
deltarpm=True
keepcache=True
명령어설명
sudo dnf install dnf-plugins-coreDNF 플러그인 설치
sudo dnf config-manager --set-enabled powertoolsPowerTools (CentOS) 활성화