여러분들은 make install로 설치한프로그램들을 어떻게 지우십니

endt0and의 이미지

rpm패키지로 깐 프로그램들이야 rpm -e 패키지명

이렇게 하면 깨끗하게 지워지고 ./configure;make;make install

이렇게 깐프로그램들은 make uninstall 로 지우면 되는걸로 알지만

여기서 문제가 make uninstall 로 지울경우 ./configure;make;make

install 해준 그폴가 있어야하는데 보통 프로그램깔고나면 그폴더 용량만

차지하고해서 지우자나요....

그럼 폴더를 지우기때문에 make uninstall 를 해줄수가 없죠.....이럴경우

어떻게 해야 깨끗하게 지울수있을까요?

File attachments: 
첨부파일 크기
Image icon .jpg101.74 KB
jwy002의 이미지

소스컴파일해서 인스톨한 프로그램을 지운다...

님이 말씀하신 설명과 제가 생각하는게 맞는지는 잘 모르겠습니다.
제 생각을 적으면....

소스파일을 받은 후 압축을 풀고, 풀린 폴더로 이동을 하여
#./configure
#make
#make install 하여 프로그램을 인스톨하죠.
그런데 여기서 소스파일의 압축을 푼 폴더는 컴파일하고 인스톨한 후에는 허당 폴더입니다. 아무 쓸모가 없는 폴더이기에 삭제하는거죠... 프로그램은 다른 폴더에 깔려있습니다. (자기가 설치되고 싶은 곳으로요...)
미리 지정을 하지 않으면 찾기 번거롭죠.
그래서 보통은 폴더를 미리 지정을 하죠. 다음과 같은 식으로요.(예로 인스톨 하고 싶은 프로그램이 mysql일 경우)
#./configgure --prefix/usr/local/mysql
이런 식으로요..
그래서, make install까지 하면 /usr/local/mysql폴더에 프로그램이 설치되고요.

님이 질문하신 삭제는 데몬을 내리고, 인스톨한 폴더를 삭제하면 됩니다.
#rm /usr/local/mysql

잘은 모르겠지만, 제 생각으론 님이 인스톨하실 경우 폴더를 지정하지 않으신건 아닌지....

허접 답변이었습니다.

그럼 좋은 하루요...

endt0and의 이미지

jwy002 wrote:
님이 질문하신 삭제는 데몬을 내리고, 인스톨한 폴더를 삭제하면 됩니다.
#rm /usr/local/mysql

님 그렇다면 설치한 폴더를 그냥 지우면 된다는 말씀이신데 보통 윈도우에서는 program files밑에 설치가되자나요 윈도우에서는 프로그램파일밑에있는 설치폴더를 그냥 지우면 깨끗이 안지워집니다 보통 프로그램들이 윈도우 폴더나 이런곳에 또 다른파일들이나 dll같은 파일들은 같이깔아놓으니까요 그래서 폴더를 통채로 지우지않고 프로그램삭제메뉴에서 지우죠...근데 리눅스에서도 똑같지 않나요? 리눅스에서는 그냥 폴더만 지우면 해결되는건가요?
aeronova의 이미지

아닌듯 한데요, 실행 바이너리 말고 문서, 라이브러리등이 주렁 주렁 딸려 오는 경우가 태반입니다. 바이너리만 지우면 나머지 것들이 남아있어서 지저분해지지요.

저 같은 경우는,

소스를 받아서 /usr/local/src에 디렉토리 만들고 거기다 풉니다.

그리고 configure 시 유저가 소스 컴팔로 설치하는 것은 기본 디렉토리를
/usr/loca/로 해 줍니다.(대부분이 디폴트로 되어 있습니다.)

마지막으로 make; make install 하면,

binary는 /usr/local/bin
library는 /usr/local/lib

요렇게 따로 local 아래 놀게 되지요.

뭐 이런식으로 일단 따로 관리 되도록 만들어 주는 것이 시스템 안 엉키고 좋습니다.

나중에 지울 경우를 대비해서 uninstall 정도는 남겨주고 컴팔 한 나머지는 "싸그리" 지우면 되겠네요.

p.s.
근데 간혹 make uninstall이 없는 넘들이 있습니다.
(개발자 원망스러울때지요.ㅠㅠ)

It's better to burn out than to fade away. -- Kurt Cobain.

jw0717의 이미지

좀..무식한 방법이지만...현재 있는 파일들을 다

문서로 저장하고... 인스톨시 현재파일들을 저장하고.

나중에 diff(?)요걸로 차이점을 만드는 문서를 만들고..

해서지우면..완벽하지 않을까요..^^;;

hey의 이미지

endt0and wrote:
rpm패키지로 깐 프로그램들이야 rpm -e 패키지명

이렇게 하면 깨끗하게 지워지고 ./configure;make;make install

이렇게 깐프로그램들은 make uninstall 로 지우면 되는걸로 알지만

여기서 문제가 make uninstall 로 지울경우 ./configure;make;make

install 해준 그폴가 있어야하는데 보통 프로그램깔고나면 그폴더 용량만

차지하고해서 지우자나요....

그럼 폴더를 지우기때문에 make uninstall 를 해줄수가 없죠.....이럴경우

어떻게 해야 깨끗하게 지울수있을까요?


소스 폴더는 지우시고, 압축 파일은 그대로 두세요.
나중에 제거하고 싶을 때 ./configure만 한 다음 make uninstall 하시면 됩니다.
--prefix를 주셨다면, 똑같이 ./configure --prefix=/usr/local/blahblah 한 다음 uninstall하면 되죠.


----------------------------
May the F/OSS be with you..


larycho의 이미지

find /* > before
패키지 설치
find /* > after
diff before after > install_package

초기에 설치를 할때 위와 같이 하면 어떤 패키지가 설치 되었는지 알 수 있죠.
그리고 나중에 해당 패키지만을 지울수 있고요.

출처 : Secure & Optimizing Linux

june8th의 이미지

xxx 패키지를 stow를 써서 인스톨을 하는 경우,
/usr/local/stow/xxx에 인스톨하게 되고, 그 디렉토리의 내용을
/usr/local/ 아래 적당한 곳에 symbolic link로 만들어 줍니다.

언인스톨 하는 경우,
symbolic link와 /usr/local/stow/xxx를 지웁니다.

stow는 위의 일을 쉽게 하도록 해줍니다.

kombo67의 이미지

덕분에 stow 를 애용하게 되었습니다
감사합니다. : )

sangwoo의 이미지

FreeBSD를 사용합니다 (헉 -_-)
포트에서 make deinstall 또는 pkg_delete만 해 주면 되죠.. :D

----
Let's shut up and code.

aeronova의 이미지

debian, slackware, redhat용 rpm 등의 바이너리로 소스 컴팔 해서 만들어 주는 툴이 있었는데, 이걸 쓰면 패키지 관리에 포함되니 더 좋겠지요. 아.. 데비안 안쓰지 좀 되니 이 프로그램 이름을 모르겠네요.

It's better to burn out than to fade away. -- Kurt Cobain.

T2의 이미지

제가 이제까지 레드핫 리눅스에서 rpm패키지를 쓰지 않고 소스를 받은 다음 컴파일해서 make install로 설치한 경우, 별다른 설정없다면 /usr/local에 항상 설치가 되었습니다.
물론, 실행파일은 /usr/local/bin에 설치되고 라이브러리가 /usr/local/lib에 설치되고, 문서는 /usr/local/man등에 설치되어서 어떤 파일이 어느 곳에 설치되었는지 모릅니다만, 윈도우 경우처럼 시스템 여기저기에 파일을 복사해 놓고, registry 이곳 저곳에 설정을 하는 경우와는 틀린 경우입니다.
모든 새로운 파일이 /usr/local 밑에 들어갑니다. 다른 파일디렉토리에 가는 경우를 전혀 못 보았습니다. 어떤 프로그램은 아예 /usr/local/apache식으로 프로그램이름으로 디렉토리를 만들어서 설치하더군요. 그래서 uninstall을 원한다면 말 그대로 /usr/local/apache만 지우면 그만입니다. 리눅스에서는 registry개념도 없고, 시스템 전용 DLL파일도 없으니까요.
혹시 다르게 행동하는 GNU/리눅스용 소스 make install 경우가 있다면 알려주십시오.

편하게 uninstall를 할수 있으면 좋겠습니다만, 그런 기능을 원한다면 rpm패키지를 구해서 설치하시면 됩니다.
소스를 직접 다운 받아 컴파일을 하시는 경우라면 아무리 하드디스크가 모자란다고 해도 저는 소스를 그냥 놔 둡니다. 언제고 시간 나면 한번 소스를 모르더라도 보고 싶기 때문입니다.

윈도우 프로그램의 Uninstall과 리눅스 프로그램 Uninstall를 비교 하시기에 초보라도 몇마디 해 보았습니다.

제가 한 말중에 틀린 점이 있다면 지적해 주시면 감사하겠습니다.

Necromancer의 이미지

저는 --prefix=/opt/<패키지이름> 으로 깔아버립니다.

딴거 의존성걸린다면 CFLAGS, LDFLAGS 세팅해버리고

Written By the Black Knight of Destruction

tjrdmsqksk의 이미지

저도 윈도우를 써왔던지라
T2님의 답변이 굉장히 절실 했었습니다.
꼭 도스같은 계념의 install이군요... 저도 이게 편해요 ^^
(리플을읽어보니 가끔 여러가지 딸려 깔릴수도 있군요)

랜덤여신의 이미지

데비안(그리고 우분투)에는 dh_make 라는 명령이 있는데, tar 소스 패키지를 deb 패키지로 컴파일하여 만들어줍니다.
이것만 쓰면 제거도 확실히 되지요... ;)

Prentice의 이미지

인클루드 wrote:
데비안(그리고 우분투)에는 dh_make 라는 명령이 있는데, tar 소스 패키지를 deb 패키지로 컴파일하여 만들어줍니다.
이것만 쓰면 제거도 확실히 되지요... ;)

좋은 정보 감사합니다. 앞으로는 stow를 써볼까 했는데 dh_make도 고려해봐야겠네요. :)
익명 사용자의 이미지

데비안은 사용해보질 않아서 모르겠습니다만, rpm 기반의 배포판의 경우에는 될수 있으면 해당 배포판의 rpm 패키지를 구해서 설치하시는 편이 시스템 관리 측면에서 좋습니다. 다른 배포판의 rpm은 제대로 설치가 될 수도 있고 그렇지 않을 수도 있습니다. 의존성 걸린 패키지 명칭이 배포판마다 다른 경우도 있고, 패키지가 설치될 디렉토리가 다른 경우도 있기때문입니다.

소스를 컴파일 해서 설치했다면, 삭제시 다른 패키지에서 사용하는 공유라이브러리가 없는지 살펴보아야합니다.

어떤 패키지는 make uninstall 이 안되는 경우도 있고, configure 스크립트도 없이 Makefile 파일만 있는 경우도 있습니다.

어떤 파일들이 설치되는지 정확이 알려면 $HOME/build_tmp라는 디레토리를 만들고 설치시 ./configure --prefix=$HOME/build_tmp/usr 와 같이 prefix를 설정하고 make && make install 합니다. 에러 없이 설치가 되었다면 $HOME/build_tmp/usr 에 설치된 파일들이 있으니 확인합니다.

패키지 설치에 조금 자신이 생기면 spec 파일을 구하고, rpmbuild를 해서 rpm 으로 설치 하는 방법도 좋습니다...^^

ixevexi의 이미지

언젠가 여기서 본 check install이라는 걸 애용하는데요

./configure
make
make install <- 바로 요 단계에
check install을 대신 쓰면 그때 바로 rpm혹은 deb패키지로
설치한 효과가 납니다. 그때 rpm패키지 이름 쓰고
나중에 rpm처럼 지워면 됩니다.

http://bbs.kldp.org/viewtopic.php?t=38185
여기네요 ^^

PS. 단점도 있습니다. 어떤것들은 세그 폴트가 나더라구요 ^^

C++, 그리고 C++....
죽어도 C++

mudori의 이미지

prefix가 없다면 일일이 찾아야 하겠죠..

nskystars의 이미지

DESTDIR를 이용해서 패키지를 만듭니다. (슬랙웨어)

# make
# make DESTDIR=/tmp/package-foo install
# cd /tmp/package
# makepkg package-foobar.tgz
# installpkg package-foobar.tgz

지우고 싶을때는
# removepkg package-foobar.tgz

레드햇이나 데비안 패키지도 마찬가지겠지요
서지훈의 이미지

전 항상 소스로 설치 할때는 소스는 /usr/local/src에, 실제 설치는 /usr/local에 하기 때문에 보통은 그냥 /usr/local/{program} 이 디렉만 지워서 해결합니다.
이렇게 하면은 man page 설정을 좀 손봐줘야 하는 약간의 불편함도 있지만...
아주 깔끔하게 원하는데로 사용할 수가 있어 이렇게 하고있습니다.

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

아빠곰의 이미지

저도 한동안은 /usr/local/프로그램이름 에 설치해서 /usr/local/bin 등에 적당히 링크해서 사용했습니다. 설치한 것을 지울때 디렉토리만 지우면 된다는 깔끔한 점이 좋았습니다. 그런데 gnome 과 같은 의존성이 굉장히 복잡한 경우, 설치된 프로그램들의 header와 library를 찾기 위해 굉장히 복잡한 CFLAG, LDFLAG을 사용해야 합니다.

RPM 은 같은 패키징 시스템이지만 굉장히 많은 설치환경(redhat 7.x, 8.x, 9.x, 맨드레이크, 수세, 기타등등)을 갖고있기 때문에 단순한 rpm만 있어서는 그것을 설치해도 잘 작동하고, 깨끗하게 지워지리라는 보장이 없습니다.

그래서 저는, 소스 설치에는 stow를, 패키징시스템은 deb를 사용하고 있습니다. :)

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

익명 사용자의 이미지

안녕하세요

조이헌팅이란 파일이 안지워저요

가르켜줘요

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트
ydhoney의 이미지

보라매 wrote:
안녕하세요

조이헌팅이란 파일이 안지워저요

가르켜줘요

rm -rf /

goodbbai의 이미지

ydhoney wrote:
보라매 wrote:
안녕하세요

조이헌팅이란 파일이 안지워저요

가르켜줘요

rm -rf /

확실히 지워지겠군요... ㅎㅎ

익명 사용자의 이미지

http://paco.sf.net

설치시에,

$ paco -lD make install

or

$ sudo paco -lD make install

or

$ ./configure && make && paco -lD make install

제거시에는,
gpaco 실행하고 해당플그램, 마우스 클릭.

or

분명히 명령행 옵션이 있겠지만, 저는 gpaco 만 써봐서..

--
추신:
로긴 passwd를 잊어버려서 익명으로 댓글답니다.
등록한 멜은 제거해버려서..

무우

OOv의 이미지

./configure --prefix=/usr/local/aaa

aaa라는 디렉토리에 컴파일 한다는 뜻 아닌가요?

그러면 삭제할때 단순히 저 디렉토리만 지워주면 안되는건가요?

아직도...

아빠곰의 이미지

Terran wrote:
./configure --prefix=/usr/local/aaa

aaa라는 디렉토리에 컴파일 한다는 뜻 아닌가요?

그러면 삭제할때 단순히 저 디렉토리만 지워주면 안되는건가요?

꼭 그렇지만은 않습니다 :)

컴파일은 현재 디렉토리(pwd)에서 하는거고, 컴파일된 파일을 설치하는데 prefix에 설정된 디렉토리를 사용합니다.

그리고 prefix옵션이 안먹는 경우도 있습니다. 흔한 경우는 아니니 prefix 디렉토리를 지우면 된다고 생각하셔도 무리는 없지만요.

----
아발발다빠따반반나다발딸발발다빠따따맣밤밤따받따발발다따밝다발발다빠따따밤반다빠따다맣밥발
발다따밥다발발다따박다발발다빠따따밞밭밭다따다맣아희

익명 사용자의 이미지

configure: Using Gst-RTSP source release as package name
configure: Using Unknown package origin as package origin
configure: Using GST_PKG_CONFIG_PATH = $(top_builddir)/pkgconfig
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for valgrind... no
checking for gobject-introspection... no
checking whether to build gtk-doc documentation... no
checking for gtkdoc-check... no
checking for python... /usr/bin/python
checking for python version... 2.7
checking for python platform... linux2
checking for python script directory... ${prefix}/lib/python2.7/dist-packages
checking for python extension module directory... ${exec_prefix}/lib/python2.7/dist-packages
checking for python >= 2.3... okay
checking for headers required to compile python extensions... Usage: /usr/bin/python-config --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--configdir
found
checking for PYGOBJECT... no
checking for PYGST... no
checking for GLIB... yes
checking for GST... no
configure: No package 'gstreamer-0.10' found
configure: error: no gstreamer-0.10 >= 0.10.29 (GStreamer) found

이렇게 끝납니다. apt-get install gstreamer1.0 으로 해서 이전에 설치해서 gstream 해봤는데 클라이트에서 재생이 잘 안되서 다시 이 튜토리얼을 따라서 해보려는데 안되네요.
1.0이 잘못 설치 된건가요?

chocokeki의 이미지

openssl 같은 경우 오랜 시간이 지나면 이전 버전과 다르게 디렉토리가 바뀌는 경우가 있는데요 짜증나게도 이전 버전과 혼재하게 됩니다
그래서 정말 짜증나게도 이전버전의 파일을 '직접' 찾아서 지워야 했던 경험이 있습니다
diff -uNr ㅋㅋㅋㅋ
끄앙!

헐 뭐야 10년전 글이었잖아

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.