LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Does Linux have a registry? (https://www.linuxquestions.org/questions/linux-software-2/does-linux-have-a-registry-126163/)

robertmarkbram 12-15-2003 06:23 PM

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!

aigartua 12-15-2003 06:39 PM

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

nrunge 12-15-2003 06:45 PM

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.

aigartua 12-15-2003 06:45 PM

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.

todesengel 12-15-2003 06:46 PM

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.

contrasutra 12-15-2003 06:58 PM

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".

robertmarkbram 12-15-2003 07:06 PM

Quote:

Originally posted by aigartua

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

But don't many programs put shortcuts in variaous combinations of usr lib local and bin directories?

How do you keep track of them?

iTux 12-15-2003 09:10 PM

Quote:

Does Linux have a registry?

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?
First, your OS is actually your distribution (unless you don't consider consider software installation/management be part of the OS).

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

iTux 12-15-2003 09:16 PM

Quote:

Originally posted by robertmarkbram
But don't many programs put shortcuts in variaous combinations of usr lib local and bin directories?

How do you keep track of them?

No. If you specify /path/to/apps no files nor symbolic links (~shortcuts) should go outside /path/to/apps. If yes and there is no option to avoid that it is a bug as it will prevent a user with non-administritive privileges to install it in is home directory.

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

yapp 12-16-2003 05:40 AM

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.