예, $ RPM_INSTALL_PREFIX를 사용하여 스크립틀릿의 실제 접두사에 액세스 할 수 있지만 일반적으로 RPM이 올바르게 작성된 경우 스크립트를 사용해야 할 이유가 없습니다.
정말로 당신이하고있는 일을 알고 있다면, 스크립틀릿 (% post/% postun 코드)을 사용하면 괜찮습니다. 그러나 모든 RPM 매크로는 빌드하는 동안 확장됩니다. 다음과 같은 일들 :
%post
echo %{_prefix}
항상 echo /usr
으로 확장됩니다. 생성 된 RPM 내부의 스크립틀릿을 실제로 보면 확장 된 모양을 볼 수 있습니다. 그건 ...
짧은 스 니펫에서 잘못 설치하고있는 것처럼 보입니다. % post/% postun 스크립틀릿에서는 파일 복사/이동이 정상적으로 수행되지 않습니다. 그것들은 사용자의 시스템에서 (보통 루트로서) 실행되며, 사용자의 시스템을 완전히 파괴하는 파괴적인 실수를하는 것은 아주 쉽습니다.
그래서 다소 유효한 조각 :로의 또 다른 측면 노트, 설치로
SourceX: <config_file>
...
%install
...
mkdir -p %{buildroot}%{_sysconfdir}
cp %{SOURCEX} %{buildroot}%{sysconfdir}
...
%files
%config(noreplace) %{_sysconfdir}/<config_file>
...
USR/(당신이 당신의 자신의 사용을 위해 RPM을 만드는 경우를 제외하고) 일반적으로 눈살을 찌푸리게되는 지역 /.