안녕하세요 rpm에 대해서 공부좀 하다가
몇가지 의문이 나서 이렇게 질문을 합니다.
rpm에 관해서 여러가지 참고 문헌을 다 뒤적이다가
몇가지 의문이 생깁니다.
다름이 아닌
제가 rpm패키지를 만들어서 그것을 다시 한번 깔아 봤는데
궁금한것은 다름이 아닌
spec파일을 만들때
옵션을 이런식으로 주었습니다.
%build
./configure
make
%install
make install
여기 까지는 제가 만든 rpm을 깔았을 경우
설치 하는데 문제가 없었습니다.
그런데
여기서 궁금한점이 있습니다.
다름이 아닌
일단 타르볼을 rpm이란것은 풀어서
그것을 설치 하는 모든정보가 한꺼번에 다 들어 있는것이란 의미로 생각을
하고 있습니다.
spec파일에서
이런 경로를 지정했습니다.
%file
%defattr(-,root,root)
/usr/local/bin/indent
예제 타르볼은 indent로 했습니다.
%doc /usr/local/info/ident.info
%doc %attr(0444,root,root)/usr/local/man/man1/indent.1
%doc COPYING AUTHORS README NEWS
여기 가장 궁금한것이 있습니다.
이렇게
./configure
하고
make install
하면 잘 설치가 됩니다.
하지만 /usr/src/redhat/BUILD
에 일단 indent 의 타르볼이 전부다 풀렸습니다.
그 다음 설치를 했는데
제가 궁금한것은
% clean
이란것을 주어서
제가 깔아놓은 것을
다 삭제하고 설치할수 있다는 것이 있다고 합니다.
제가 만든 spec은 파일의 최종 위치가 빌드 루트로 잡혀있어서
usr/src/redhat/BUILD
에 타르볼을 풀었다는 것입니까 ?
그럼
%clean 을 사용해서
rm -rf$RMP_BUILD_ROOT
이런식으로 spec파일에 넣어준다면
/usr/src/redhat/BUILD
에
타르볼을 풀었다가도 다 설치가 된다면
그 풀렸던 타르볼을 다 지워준다는 것입니까 ?
혹시 맞는다면
제가 아직 spec 에
%clean 을 기술하지 않았으므로
BUILD에 풀렸던 타르볼 디렉토리를 지우면
제가 설치한 프로그램은 작동이 되지 않습니까 ?
제 생각으론 압축을 풀어놓고 나서
설치가 된다면 컴파일을 한다는 경우는
그것을 사용 가능하게 만든것이므로
RPM에서 처음 풀었던 BUILD에 남아있는
디렉토리는 제거 해도 되지 않을까 궁금합니다.
다시 요점을 간추려 볼께요
rpm 을 사용한다는것은
타르볼을 일단 어떤경로에 풀어서 그것을 컴파일 한다는것이라고
생각합니다.
그 경우 설치가 다 되고 난뒤에
그 설치시 필요한 모든 파일( 즉 다시 말해서
타르볼을 푼 모든 파일은 ) 한개의 디렉토리에
들어있을텐데 그것을 설치가 끝난뒤에도 그대로 놔두어야 하는것인지 ?
아님 그 설치한뒤에 그 디렉토리를 삭제 해도 되는지 궁금합니다.
윈도우 같은 경우는 설치를 한경우에 폴더를 잡아서
설치를 하고 그 뒤에 그 설치 폴더를 그대로 놓아두고 프로그램을
사용하지만
그것과 같은 의미인지 무척 궁금합니다.
그럼 답변좀 부탁드리겠습니다.
죄송합니다.
한가지만 더 여쭤 보겠습니다.
다름이 아닌 일단 빌드란것을 하기 위해서
소스를 전부다 풀었다는 의미인데
그것의 소스를 풀었던 디렉토리 에서 컴파일성공한뒤
설치가 되고 난다면
그 소스를 풀었던 디렉토리 즉 다시 말해 usr/src/redhat/BUILD
에 풀린 소스의 디렉토리는 제거 해도 되지 않는지가 제가 궁금해 하는
부분입니다.
저 같은 경우는 자꾸 두서 없이 질문을 해서 죄송합니다만
spec에 %clean 헤더를 넣지 않아서
그 소스가 풀린 디렉토리가 설치가 완전히 되고 난뒤도 남아있는것
같은 생각이 되는데
제가 생각한것이 올바른 생각인지 ?
아님 그 소스를 풀었던 디렉토리도 그대로 남겨두어야 하는지 궁금합니다.
만약 설치가 완전히 되었다면 그 디렉토리를 제거 해도 괜찮은건지를
알고 싶습니다.
그리고 한가지만 더 여쭤보겠습니다.
정말 죄송합니다.
indent란 프로그램이 c 언어에서 사용된다는것 같은데
제가 예제로 사용은 하지만 어떤 프로그램인지 궁금합니다.
혹시 아시다면 리플 조금 달아주세요 죄송합니다.
답변좀 부탁드리겠습니다.
--
공부하는 학생입니다.