6.5. 소프트웨어 관리
이제 리포지토리 메타데이터가 기본적으로 다운로드되지 않음
이전 버전에서는 리포지토리의 메타데이터를 다운로드할 때 파일 목록 메타데이터가 기본적으로 다운로드되었습니다. 파일 목록 메타데이터는 크고 일반적으로 필요하지 않습니다. 이번 업데이트를 통해 이 메타데이터는 기본적으로 다운로드되지 않으므로 응답을 개선하고 디스크 공간을 절약할 수 있습니다. 또한 filelists 메타데이터는 리포지토리에서 더 이상 다운로드되거나 업데이트되지 않으며 dnf
명령을 실행할 때 DNF 트랜잭션에 로드되지 않습니다. dnf
명령에 filelists 메타데이터가 필요하거나 파일 관련 인수가 포함된 경우 메타데이터가 자동으로 로드됩니다.
패키지에 filelists 메타데이터를 확인해야 하는 filepath 종속성이 있는 경우 종속성 확인 오류 및 다음 팁으로 인해 트랜잭션이 실패합니다.
(try to add '--skip-broken' to skip uninstallable packages or '--setopt=optional_metadata_types=filelists' to load additional filelists metadata)
(try to add '--skip-broken' to skip uninstallable packages or '--setopt=optional_metadata_types=filelists' to load additional filelists metadata)
기본 파일 목록 메타데이터를 다시 활성화하려면 /etc/dnf/dnf.conf
구성 파일의 optional_metadata_types
옵션에 filelists
값을 추가할 수 있습니다.
Jira:RHEL-12355[1]
DNF는 이제 PGP 키를 처리하는 데 librpmio
사용
RPM 패키지 서명을 확인하기 위해 RPM은 이전에 사용된 사용자 지정 PGP 구문 분석기 대신 rpm-sequoia
라이브러리를 사용합니다. 이번 업데이트를 통해 DNF 리포지토리에서 PGP 서명을 확인할 수 있는 librepo
라이브러리도 이제 librpmio
라이브러리를 통해 rpm-sequoia
를 사용합니다. 결과적으로 일관된 사용자 환경, dnf
,librpm
및 rpm
구성 요소를 제공하기 위해 이제 동일한 PGP 구현을 사용합니다.
버전 4.7.0에 제공된 dnf-plugins-core
RHEL 10은 새 python3-dnf-plugin-pre-workspace-actions 패키지를 포함하는 버전 4.7.0에
패키지를 제공합니다. 이 패키지에는 RPM dnf-plugins-
core트랜잭션을 시작할 때 명령을 실행할 수 있는 새로운 사전 작업
DNF 플러그인이 포함되어 있습니다. 자세한 내용은 시스템의 dnf-pre-workspace-actions(8)
매뉴얼 페이지를 참조하십시오.
버전 1.0.0에 제공된 createrepo_c
RHEL 10에서는 createrepo_c
패키지를 버전 1.0.0에 제공합니다. 이전 버전의 주요 변경 사항은 다음과 같습니다.
-
기본 압축이
gz
에서zstd
로 전환되어 압축 해제 속도가 더 빠릅니다.gz
압축은 계속 지원됩니다. -
시간 및 디스크 공간을 절약하기 위해 SQLite 데이터베이스 형식의 메타데이터는 기본적으로 더 이상 생성되지 않습니다.
--database
스위치 또는sqliterepo_c
도구를 사용하여 이 메타데이터를 계속 만들 수 있습니다. group.xml
메타데이터 관리가 표준화되었습니다. 이전에는 이 메타데이터가 압축되고 압축되지 않은 대로 두 번 표시되었습니다. 이번 업데이트를 통해 그룹 메타데이터는 압축된 만큼 한 번만 존재하며그룹
메타데이터 유형이 있습니다.참고group.xml
메타데이터는 RHEL 7에서 YUM과 호환되지 않습니다. 필요한 경우modifyrepo_c
명령을 사용하여 이전 레이아웃으로 리포지토리를 계속 생성할 수 있습니다.
Jira:RHELDOCS-18997[1]
DNF, PackageKit 및 microdnf
툴은 업그레이드 중에 새로 권장되는 패키지만 설치합니다.
exclude_from_weak_autodetect
옵션은 설치된 패키지의 약한 종속성과 이미 미해결 종속성을 충족하는 패키지의 블록 설치를 자동으로 감지할 수 있습니다. 이번 업데이트 이전에는 이 옵션이 기본적으로 False
로 설정되었습니다. 결과적으로 일부 약한 종속성이 이전에 설치되지 않은 경우에도 해당 패키지를 업그레이드할 때 패키지의 기존 약한 종속성이 설치되었습니다. 이번 업데이트를 통해 exclude_from_weak_autodetect
옵션의 기본값이 true
로 설정되었습니다. 결과적으로 이제 DNF, PackageKit 또는 microdnf
툴을 사용하여 업그레이드하는 동안 새로 권장되는 패키지만 설치됩니다.
/etc/dnf/dnf.conf
구성 파일에서 exclude_from_weak_autodetect
의 기본값을 수동으로 변경할 수 있습니다.
Jira:RHELDOCS-19415[1]
RPM 데이터베이스가 /usr
으로 재배치됨
이번 업데이트를 통해 RPM 데이터베이스가 /var/lib/rpm
디렉토리에서 /usr/lib/sysimage/rpm
디렉터리로 이동되었습니다. /usr
에 데이터베이스를 저장하면 /var
의 콘텐츠를 더 이상 고려하지 않으므로 시스템 스냅샷 생성 및 롤백이 간소화됩니다. 또한 RHEL은 이미 RPM 데이터베이스를 /usr
디렉터리에 저장하는 RHEL CoreOS와 같은 rpm-ostree
기반 시스템에 정렬합니다.
RPM이 기능에서는 변경되지 않았기 때문에 이러한 변경 사항은 대부분의 사용자에게 영향을 미치지 않습니다. 그러나 일반적으로 /usr
디렉토리를 포함하는 OS 수준 스냅샷을 수행하는 고급 사용자는 롤백 시 시스템 상태를 유지하기 위해 스냅샷에 /var/lib/rpm
에 있는 RPM 데이터베이스를 더 이상 포함할 필요가 없습니다.
Jira:RHELDOCS-19417[1]
오래된 프로세스 목록에서 systemd
서비스를 제외하는 새로운 --exclude-services
플래그
dnf needs-restarting --services
를 사용하여 다시 시작해야 하는 systemd
서비스를 나열할 수 있습니다. 이번 업데이트를 통해 dnf needs-restarting
에 새로운 --exclude-services
플래그가 추가되었습니다. 이 플래그를 사용하여 오래된 프로세스 목록에서 systemd
서비스를 제외할 수 있습니다.
RHEL 사용자의 이미지 모드는 이제 dnf --transient
를 사용하여 재부팅 시 재설정되는 패키지 트랜잭션을 수행할 수 있습니다.
이전 버전에서는 RHEL 사용자의 이미지 모드에서 bootc usr-overlay
명령을 실행하여 시스템을 잠금 해제한 다음 DNF 명령을 실행하여 패키지를 일시적으로 설치, 제거 및 업그레이드할 수 있었습니다. bootc usr-overlay
를 사용하는 경우 시스템이 재부팅되면 /usr
디렉토리 오버레이가 사라지고 변경 사항이 모두 재설정됩니다. /etc
의 구성 및 /var
의 프로그램 상태를 포함한 다른 디렉토리에 대한 변경 사항은 재부팅해도 유지됩니다.
이번 업데이트를 통해 bootc 시스템에서 사용자 환경을 개선하기 위해 새로운 --transient
플래그 및 새 지속성
구성 옵션이 DNF에 추가되었습니다. 다음 옵션 중 하나를 사용하여 bootc usr-overlay
단계를 건너뛸 수 있습니다.
-
dnf --transient
명령을 사용합니다. -
dnf.conf
파일에서지속성
옵션을임시
로 설정합니다.
bootc usr-overlay
를 사용할 때와 달리--transient
및 persistence=transient
는 /usr
디렉토리가 트랜잭션 전, 도중 및 이후에 다른 프로세스에 읽기 전용으로 유지되도록 합니다.
예를 들어 make
패키지를 일시적으로 설치하려면 다음을 입력합니다.
dnf install --transient make
# dnf install --transient make