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
.spec
rpmbuild