Does Linux have a registry?
Howdy All!
As a Windows user, it took me ages to work out that installers used the windows registry to store information about what programs were present and to make sure you weren't tricking them by re-installing a demo etc... As a relatively new Linux user, I now find myself struggling to understand the 'installation paradigm' of this world. Whenever I need a new program, I desperately search for an rpm, because I know that I can uninstall/update rpms with synaptic. I panic when I cannot find an rpm - because I am afraid it will leave my system full of old programs that I have forgotten about and become a nightmare when I need to upgrade those programs.. So.. what's the difference between using an rpm and using make like this: tar xfvz tarballname.tar.gz ./configure make install If I use make to install a program, how exactly do I uninstall the program? Can a tarball be turned into an rpm? Thanks for any input! |
You can do this:
./configure --prefix=/path/of/application make make install now all the files, libs, configurations files, etc are in /path/of/application, in case that the tar.gz don't have make uninstall you can delete the directory and back to normal good look |
I have to agree that I am curious as well. I dont use RPM's (.deb) but I still rely on package mangement because I know it will work and I dont have to fight dependencies. But as long as I have been using pre-compiled packages I have always been curious as to what the difference is between a .deb, .rpm and compilation via source.
|
The rpm's are precompiled applications, normaly compiled for i386, if you want the maximum performance of you application in your procesor type or want add more functionalities to some applications or want to define other paths, etc, you must compile it.
|
with many programs (not all, but many) that you compile from source, you can simply type
make uninstall to uninstall it. So, if you had a program that you decided you didn't like, you would untar the tarball, ./configure, then make uninstall. |
Just a note about old-registry entry type problems.
Your personal preferences (like stored in the registry) are stored in your home directory, in hidden files prefixed with a "." When you uninstall ANY program, it leaves these files behind. So if you want to make sure you get all the "junk" delete these. They're just folders or text files, so use "rm". |
Quote:
How do you keep track of them? |
Quote:
So how good software/package management is depends on your distribution. If you have a distribution that have a good package management system such as Debian (NB: I don't know about the others, so using Debian as example here). Then you don't have problem installing/uninstalling software. The rules are as follows for any software distribution: 1) Install packages only from your distribution if the package is already built for your distribution. This make sure: a) The software will not interfere or cause conflits with other software components. b) Easy to install and to manage. 2) For software not part of your distribution. You have 2 options. a) Use your distribution package management tools to package the software. Ex: create a RPM file or deb file for your distro out of the 3rd party software. Then install it with your distro software management tools (dpkg on Debian, rpm (I think) on rpm-based distro). b) Install it in a directory separate from the other stuff. Usually I install it in: /usr/local/APPLICATION_NAME So Opera 5 will go in /usr/local/opera5 Java will go in /usr/local/j2sdk1.4 etc. Then I do symbolic links in /usr/local/bin or /usr/bin to the executable files. iTux |
Quote:
I am sure there are tools that can find broken symbolic links. It is worse when you get files that goes in /bin, /lib, /usr/bin etc. because you don't know from what package they are from. iTux |
If you want to install program's from source, you need a compiler, and I'd recommend to install this tool first:
checkinstall it creates an RPM package for you, and you can use your RPM package manager to remove this package later. Since I'm using gentoo I don't have to do many manual installs, but if I need those, I use /opt/manual/appname-version/ to install the package, and create links in /opt/bin/ ;) You could also install the software under a special unpriveledged user, to make sure everything is installed in that particular folder. |
All times are GMT -5. The time now is 04:58 AM. |