RPM 패키지의 파일

RPM 패키지의 파일

RPM 패키지에는 뭔가 이상한 점이 있습니다. 나열된 내용은 rpm -ql실제 렌더링된 파일과 다릅니다. 예를 들어 다음 openldap-servers-2.4.26-8.fc16.i686.rpm줄을 다운로드하여 실행했습니다.

rpmfile=openldap-servers-2.4.26-8.fc16.i686.rpm; diff <(rpm2cpio $rpmfile | cpio -t | sed -e 's!^\.!!g') <(rpm -ql -p $rpmfile)

rpm압축이 풀린 내용 과 출력 내용을 rpm2cpio비교합니다 .rpm -ql

그리고 얻다:

9122 blocks
20a21,22
> /etc/openldap/slapd.conf
> /etc/openldap/slapd.conf.bak
21a24
> /etc/pki/tls/certs/slapd.pem

rpm -ql패키지에 3개의 파일이 있다고 하는데 실제로는 존재하지 않습니다.
이에 대한 설명이 있나요?

답변1

RPM 패키지는 패키지를 설치할 때 수행할 작업을 .spec알려주는 다양한 섹션이 포함된 파일을 사용하여 빌드 됩니다. rpm표시되는 파일은 rpm패키지가 설치될 때 동적으로 생성될 가능성이 높습니다 openldap. 이 rpm -ql명령은 실제로 .spec파일을 읽고 무엇이 설치될 것인지 정확하게 알려주는 반면, 이 명령 cpio은 파일 을 .rpm. . 하지만 빌드 시 주의하세요. 루트로 실행하는 것과 잘못된 경로가 결합되면 하루를 정말 망칠 수 있습니다.openldap-2.4.26-8.fc16.src.rpm.specrpmbuild

관련 정보