22.3.3. 기타 주요 변경 사항
RHEL 9와 RHEL 10 간의 RPM에 대한 다음과 같은 주요 변경 사항을 검토하십시오.
- 사용자 및 그룹 이름 확인은 대체 루트 작업에서 엄격하게 로컬입니다.
-
--root옵션으로 지정된 대체 루트 디렉터리에 패키지를 설치하거나 확인하는 경우 RPM은 NSS(Name Service Switch)를 사용하는 것과 달리 각각 대상 루트 디렉터리 내의passwd(5)및group(5)파일에서 UID(사용자 식별자) 및 GID(그룹 식별자) 번호를 가져옵니다. - 빌드 시스템 컨텍스트에서 파일 소유권 정보를 가져오지 않습니다.
-
패키지를 빌드할 때
%defattr지시문은 디스크에서 실제 소유권 정보를 얻는 대신 사용자 및 그룹 속성에 대한 대시(-) 자리 표시자를root로 해석합니다. 마찬가지로사양파일, 소스 아카이브 또는 패치 파일과 같은 소스 RPM 패키지의 파일은 디스크에 대한 소유권에 관계없이 항상 root 사용자 및 그룹이 소유합니다. - 빌드 트리(
%_builddir)는 빌드에 성공한 후 기본적으로 제거됩니다. -
이전 버전에서는
rpmbuild(8)는-bb와 같이 더 일반적으로 사용되는 모드가 아닌--rebuild모드에서 빌드 디렉터리만 정리했습니다. 결과적으로 여러 패키지가 빌드되어 시간이 지남에 따라 불필요한 파일 누적이 발생했습니다. 이번 개선된 기능을 통해 빌드 트리를 항상 유지하여 치명적이 아닌 빌드 문제를 조사하려면--noclean옵션을 사용할 수 있습니다. %patch지시문은 적용할 패치 번호를 명시적으로 지정해야 합니다.다음 방법 중 하나로 패치 번호를 지정할 수 있습니다.
-
P 옵션(예:
%patch를 적용합니다.-P1 -P2)을 사용하여 패치 번호 1과 2 -
패치 번호를 위치 인수로 전달하여(예:
%patch 1 2) 패치 번호 1과 2를 적용합니다.
중요적용할 패치 번호인
%구문은 더 이상 사용되지 않습니다.patchN참고%patch지시문으로 명시적 패치 번호를 지정하지 않으면 빌드가 오류와 함께 종료됩니다.참고%patch지시문을 사용하여 개별 패치를 수동으로 적용하는 대신 가능한 경우%autosetup매크로를 사용하는 것이 좋습니다.%autosetup을 사용하면 패치 번호가 식별된 순서대로 패치가 자동으로 적용됩니다. 결과적으로사양파일을 읽고 유지보수하는 것이 더 쉬워집니다. 자세한 내용은 패치 애플리케이션 자동화를 참조하십시오.-
P 옵션(예: