Quote:
Originally Posted by catiewong
I know there are different kind of method to install package , eg . rpm install , make install etc ( may be there are other methods )
I know make install method could change the setting ( eg. path ) so it is more flexible way to install .
I just would like to know except the above difference , is there other difference between the different install methods ? what I need to consider to choose from different methods ?
|
In the beginning, there were
tarballs. You unpacked the tarball, found a bunch of source code files, compiled and linked them, and if you were lucky your application worked.
Of course, you may lack prerequisites such as specific compiler and library versions, and it was not possible to check that automatically. There wasn't even Google.
The situation was improved by an order of magnitude when your package was created with GNU's
autoconf. If so, the tarball included a configure script, which checked for compiler, library and other versions, and generated a Makefile. You then just ran make, followed by make install. Done.
This method is often still used, especially for new software. It still requires you to track installed packages manually. I don't think it allows you to remove a package, or to verify its integrity.
Enter Debian with its
deb format, and Red Hat with the
rpm format. These are archives of binaries that contain a lot of metadata about a package: Packages that need to be installed as prerequisites, expected file permissions and content, and more. Installing from a deb or rpm file doesn't require compilation. Prerequisites are checked automatically. A package database is used to keep track of everything that's installed. Packages can be verified, signed, deleted, ....
What's still missing is automatic installation of missing prerequisites. This is achieved by the super comfortable
apt,
yum,
zypper,
pacman etc tools. You can now install software without much thinking (some people criticize that, such as the Slackware community).
So here you are. You can use the autoconf method nowadays. It forces you to use the source code and to be very careful what you are doing. You can use the more comfortable methods - they also allow you to install files in non-default locations, but normally, they do all the tedious work and some of the thinking for you.
Depending on the distro, you have deb or rpm, or something else. Again depending on the distro, you have yum, zypper, apt and so on. autoconf is available everywhere.