프로그램 설치/삭제와 관련된 질문이요.
rpm설치와 컴파일 설치에 대해 공부를 하고 있는데요. 궁금한 점이 자꾸만 생기게 되네요. ^^;;
그럼 질문드리겠습니다.
<질문1>
현재 제가 알고 있는 한글 리눅스 자료실로는 http://www.oss.or.kr, www.superuser.co.kr, bbs.kldp.org 있는데요. 이곳 말고 윈도우용 프로그램 자료실인 심파일, 하나포스, 엣파일과 같이 프로그램에 대한 소개와 설치방법 등을 쉽고 자세하게 설명해 놓은 한글 리눅스 자료실 좀 알려주세요.
<질문2>
리눅스용 프로그램과 윈도우용 프로그램 설치할 때를 비교하면서 생각해 봤는데요. 아무리 생각해봐도 리눅스용 프로그램은 반드시 설치가이드에 나와있는 각종 옵션 및 추가로 필요한 라이브러리 등을 보면서 설치해야 한다는 결론이 나오더라구요. rpmfind.net에서 저의 리눅스 버젼에 맞는 rpm패키지를 받아서 설치하더라도 라이브러리 의존성 에러가 자주 발생하고, 컴파일하여 설치할 때는 추가로 지정해야 하는 옵션과 추가로 설치해야 하는 라이브러리들이 있기 때문에 저는 "리눅스 프로그램을 설치할 때는 반드시 설치가이드를 봐야한다." 라는 결론이 나오더라구요. 그래서 <질문1>과 같은 질문을 드린거구요. 그런데 여기서 궁금한 점이 있어요. 다른 리눅스 유저분들은 리눅스용 프로그램을 설치할 때 제가 생각한 것처럼 설치가이드를 보면서 설치를 하나요? 아니면 다른 특별한 테크닉으로 설치를 하나요?
<질문3>
특정 프로그램을 컴파일하여 설치한 후에 다시 삭제할 때 "make uninstall" 명령을 실행하면 쉽게 삭제할 수 있지만 이것이 지원되지 않으면 사용자가 직접 Makefile을 보고 파일들을 찾아서 삭제해야 하는 것으로 알고 있는데요. 저도 제가 직접 한 번 삭제해 보려고 A라는 프로그램 소스의 Makefile을 열어보니까 다음과 같은 내용이 있더라구요.
# Directories used by "make install":
prefix = /usr/local
local_prefix = /usr/local
exec_prefix = ${prefix}
datadir = ${prefix}/share
libdir = ${exec_prefix}/lib
includedir = ${prefix}/include
mandir = ${datadir}/man
이 내용으로 보아 A라는 프로그램은 /usr/local/share, /usr/local/lib, /usr/local/include, /usr/local/share/man 디렉토리에 설치되어 있는 것으로 생각이 되거든요. 그렇다면 /usr/local/share, /usr/local/lib, /usr/local/include, /usr/local/share/man 디렉토리를 전부 삭제하면 A라는 프로그램이 완전히 삭제되는 것이 맞나요?
그리고, /usr/local/share, /usr/local/lib, /usr/local/include, /usr/local/share/man 디렉토리에 A라는 프로그램의 파일 이외에 다른 프로그램의 파일이 들어가 있지는 않나요?
(즉, /usr/local/share, /usr/local/lib, /usr/local/include, /usr/local/share/man 디렉토리에는 A라는 프로그램의 파일들만 들어가 있는지 궁금해요)
물론 --prefix 옵션으로 특정 디렉토리에 설치하면 삭제할 때 편하다는 것은 알고 있지만 어떤 프로그램은 반드시 기본값으로 지정된 디렉토리에 설치해야만 작동되는 프로그램들이 있더라구요. 그래서 Makefile 보고 삭제하는 방법을 알려고 하는 거예요.
오늘도 좋은 답변을 부탁드릴께요.
1) 아는곳이 별로 없어서...2) RPM을 사용하면 가장 까다로운것
1) 아는곳이 별로 없어서...
2) RPM을 사용하면 가장 까다로운것이 그 패키지를 컴파일했던 환경과 같은 환경이
필요하다는 것입니다. 물론 초기 배포되는 형태 그대로 이용하면 편리하지만 개발을
하다보면 좀더 좋은 기능을 넣고 싶은 욕심이 나기도하고 그래서 그에 필요한 라이
브러리들을 첨가하다보면 초기 배포판에 여러가지 라이브러리들이 덛붙여이게 되고
그것을 배포하면 받는 사람은 그사람이 설치했던것과 같은 라이브러리를 설치해야만
한다는 점이 귀찮게 만들기도하죠.
방법은 두가지가 있습니다.
최신버젼의 배포판을 설치해서 새롭게 추가된 yam같은 프로그램을 이용해서 알아서
설치하도록하는 방법입니다.(Fedora의 경우)
수세를 설치해도 수세나름대로의 Update가 있으니 그것을 이용해도 됩니다.
또는 Debian이나 Gentoo등을 이용하면 원하는 패키지를 쉽게 설치할 수도
있습니다.
물론 현재 사용중인 그대로를 이용하시려면 필요한 패키지를 찾아서 설치해 주어야
하는 수고는 해주셔야겠죠.
두번째 방법은 소스형태로 받아서 설치하는 겁니다.
xxx.tar.gz 로 된 소스를 받아서 현재 시스템에 맞게 컴파일하고 설치하면 되죠.
물론 컴파일에서 에러가 발생한다거나하면 스스로 해결해야하는 어려움이 있지만요.
3) 디렉토리 자체를 지우면 위험합니다. /usr/local/share, /usr/local/bin...
등의 디렉토리는 공용 디렉토리입니다. 즉, 여러 프로그램들이 기본으로 사용하는
디렉토리들이므로 삭제를하면 다른 프로그램에도 영향을 미칩니다.
Makefile에 대한 사항은
http://kltp.kldp.org/stories.php?story=00/08/03/9657162
http://kltp.kldp.org/stories.php?story=00/08/03/9657353
등을 참조하시고요 google에서 Makefile에 대한 문서를 찾아보시면 어떤
파일을 어떻게 삭제해야할지 알 수 있을 겁니다.
설치나 삭제가 쉬운것은 아닙니다. 하지만 차근차근 찾으면서 하시면 못할 것도
아니죠.
설치에 대한 모든 문서가 있는것은 아닙니다. 하지만 특별한 프로그램을 제외하고는
거의 설치방법이 똑같기 때문에 특별히 설치 문서가 필요한 것은 아닙니다.
Oracle, vmware... 등등 특정회사에서 제품으로 팔기도하는 제품의 경우에는
해당 웹사이트에서 설치문서를 구할 수도 있습니다.
그 외 gaim, mplayer와 같은 공용적인 프로그램도 해당 웹사이트에서 간단한
설치문서를 볼 수 있거나(거의 컴파일에 관련된 문서겠지만요. 요즘은 rpm으로
설치하는 방법을 보여주는 사이트는 거의 전무하듯 보여지더군요.)합니다.
보통이런 설치/삭제, 프로그램을 수정하여 자신의 시스템에 맞게 고치는 행위를
삽질이라고하죠. 이런 일을 많이 하게되면 어느순간 설치문서없이도 원하는 프로그램을
설치하는 자신을 볼 수가 있을겁니다.
그럼...
------------------------------
좋은 하루 되세요.
3) 고수님들이 말하는 삽질이 아닌 진정 노가다 삽질입니다.fin
3) 고수님들이 말하는 삽질이 아닌 진정 노가다 삽질입니다.
find / * > before.install
설치
find / * > after.install
diff before.install after.install > result.install
나중에 result.install보고 다 지우는겁니다.. 확실하지 않을까요
이방법이 :oops:
답변 감사드려요(__)
답변해 주신 두 분께 정말로 감사드립니다. 많은 도움 됐습니다. (__)
3번에 대한 대답은 Makefile에서prefix 부분을 고쳐주세요.
3번에 대한 대답은 Makefile에서
prefix 부분을 고쳐주세요. 특히 자신이 직접 컴파일 해서 올리는 경우는
그런 디렉토리를 하나 따로 만들고 거기다가 인스톨하십시오.
# Directories used by "make install":
prefix = /usr/local
local_prefix = /usr/local
exec_prefix = ${prefix}
datadir = ${prefix}/share
libdir = ${exec_prefix}/lib
includedir = ${prefix}/include
mandir = ${datadir}/man
에서 당연히 prefix 를 바꾸면 나머지도 따라서 바뀝니다.
prefix = /opt/program/
으로 해두면 그 아래에 bin, share, include, man 등을 만들겠지요.
uninstall은 당연히
# rm -rf /opt/program
--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러
댓글 달기