How can I cleanly remove my ruby version 1.8.7 from CentOS 5? I installed it by downloading the source code and performed a make.
4 Answers
You shouldn't install software this way.
Removing software which was installed like this may be dangerous:
- unpack the same ruby to /tmp
- run:
./configure --prefix=/tmp/somedir # by default prefix points to /usr/local make make install # this will install ruby in /tmp/somedir instead of where you've installed it cd /tmp/somedir find . -type f -exec rm -i /usr/local{} \; # Use without -i if you are shure find . -type d -exec rm -ir /usr/local{} \;
I hope this will help you
![](../../users/profiles/2448.webp)
- 621
- 3
- 10
- 15
![](../../users/profiles/1723.webp)
- 857
- 3
- 10
- 17
-
Interesting idea. You could also use the list of files generated in /tmp/somedir and manually remove the bits from the real installation tree. Either way, the fake installation is an interesting idea. – ewwhite Nov 26 '09 at 21:38
You could also try the technique from this question. Basically look for .installed.list
in the directory you built ruby in. This should have a list of all the files installed. One way to remove them all would be
cat .installed.list | xargs rm
Note that this will only delete files, not directories. I guess you could also do
cat .installed.list | xargs rmdir
after the first command. That should clean up the directories aswell. And rmdir
will not remove a directory if it still contains files, so it should be safe ...
![](../../users/profiles/629.webp)
- 9,142
- 6
- 36
- 49
-
1You may need to run the `cat .installed.list | xargs rmdir` several times to get rid of all the directories it creates. – user9517 Jun 02 '10 at 14:34
-
Or use something like "cat .installed.list | while read F; do test -f $F && rm -r $F; done" – HUB Aug 06 '12 at 09:17
It will not be easy if you issued configure and make without using --prefix switch, but you can try this way:
Extract file list from the RPM database:
rpm -qla > list1.txt
Then find all files from your system
find / > list1.txt
Then diff is your friend:
diff list1.txt list2.txt > alien_files.txt
In alien_files.txt you'll have the files which weren't installed via rpm (including ruby's). Of course you'll have to filter /proc, /tmp, ... files, but I said that it will not be easy. :)
If you like the RPM philosophy as I do, then read my article on howto install Ruby Enterprise 1.8.7 on CentOS 5 as rpm here:
http://www.cherpec.com/2009/10/ruby-enterprise-edition-1-8-7-source-rpm-for-centos5-rhel5/
![](../../users/profiles/4229.webp)
- 502
- 2
- 5