RPM이 있어요
- 파일 사본(예: 123.so)
- %post에서 다음을 실행하세요.
/etc/init.d/VontuMonitor 다시 시작
동일한 파일을 수동으로 복사하고(사용자는 루트임) 동일한 명령을 수동으로 시작하면 모든 것이 잘 작동합니다. 동일한 RPM을 생성하면 "파일을 찾을 수 없음" 예외가 발생하면서 스크립트가 실패합니다(지정된 파일이 존재하더라도).
RPM과 복사 및 실행 명령의 차이점은 무엇입니까? RPM이 스크립트가 제대로 작동하지 못하게 하는 작업을 수행하고 있다고 생각하는데, 그게 무엇일까요? RPM 설치 프로그램이 수행하는 작업을 추적할 수 있는 방법이 있습니까?
CentOS가 있고 /etc/init.d/VontuMonitor
타사 스크립트입니다.
[UPD] 이것은 내 RPM이고 사양 파일에는 파일 복사와 이 명령 외에는 아무것도 없다고 확신합니다.
답변1
이는 정확히 동일한 명령을 실행하지 않는다는 것을 의미합니다. 또한 rpm이 이전에 수행한 작업, 설치된 파일 등에 따라 달라집니다. 다음을 실행하여 rpm이 실행한 스크립트를 확인할 수 있습니다.
rpm -qp <your.rpm> --scripts
그런 다음 수동으로 실행한 명령과 비교할 수 있습니다.
답변2
문제는 설명을 넘어서는 것입니다. .spec 파일에는 /opt /*를 644 액세스(실행 없음)로 설정한 %defattr 명령이 포함되어 있습니다.