2011-12-15 4 views
-1

모두rpm -e 설치된 디렉토리를 제거하지 않았습니다.

rpm.spec 파일을 사용하여 RPM 패키지를 만들었습니다. 패키지가 성공적으로 설치되었습니다. rpm -e를 사용하여 패키지를 제거하면 RPM 데이터베이스에서 제거되었습니다.

그러나 생성 된 pkg가 제거되지 않은 디렉토리 구조.

이 문제를 해결하는 데 도움을주십시오.

+4

spec 파일의'% files' 섹션을 보여주세요. 우리가 도와 드릴 수 없다면 – fge

+0

이 비어 있습니다. 나는 아무것도 지정하지 않았다 – baluchen

+0

어? 빈'% files' 섹션은 RPM에 파일이 없다는 것을 의미합니다! 확인을 클릭하고 전체 사양 파일을 붙여 넣습니다. – fge

답변

3

당신의 spec 파일 몇 가지 문제가 있습니다

%files 섹션이 비어
  • , 당신의 RPM이 모든 (시도하고 rpm -ql packagename)에 어떤 파일이 포함되지는;
  • %pre%post에서 모든 작업을 수행합니다.
  • 귀하의 %post은 너무 복잡합니다.

RPM에 파일이 전혀 없으므로 제거 할 때 아무 것도 제거하지 않습니다. 이는 논리적입니다. 다른 문제에 관해서는 %post 스크립트가 RPM에서 제공하는 파일이고 정리를 위해 다른 스크립트가 제공되는 것이 훨씬 더 좋습니다. 그런 다음, 전, 후, preun 실행 및 postun 섹션과 같습니다

#no %pre 

%post 
/path/to/install.sh 

%preun 
# Only if package completely removed! 
[ "$1" = "0" ] && /path/to/cleanup.sh 

#no %postun 

그러나 당신이 여기에 무엇을, 당신은 인형 또는 같은 도구를 사용하여 오프 아마도 더 나은 주어진다.