It is wise to install programs just the way your Linux distribution wants it, since only this way the Linux distribution knows what files and directory have been created. This is obviously useful later to remove them, prevent version conflicts, check dependencies and know what to update. However there might be the case that the program to be installed is not available for your distribution. For Gentoo it is wise to learn about ebuilds and portage overlays so such programs will fit well into the Gentoo environment.
Since programs contain multiple files that have to be stored at different places and relay on the correct version of already available resources. Redhat has introduced rpm (redhat package manager) to allow packages to be installed.
rpm -i<packagename>
installs packages -e removes them.
/var/lib/rpm
is the database where the
rpm history is stored.
Debian uses <name>
.deb files as packages that can be explored using the ar command.
Type ar t<path and packagename>
.deb to explore the 3 files inside:
debian-binary |
Description of version |
control.tar.gz |
Metadata, checksums, contents of data.tar.gz descriptions |
data.tar.gz |
Binary of application and configuration data and documentation |
See Gentoo.
Flatpack https://flatpak.org/ can be installed on many different Linux distribution and allows to install applications in a uniform manner. Gentoo Linux is supported https://flatpak.org/setup/Gentoo/
Download the zipped source code project project.tar.gz a good place is
/usr/src
. Gentoo does the same thing and uses the directory
/var/tmp/portage
for it.
Unzip it tar -xzvf project.tar.gz
ortar -xjf project.bz2
Now the source is in a directory and has to be compiled, and installed. There are many ways and tools available to do that. The following is just a short overview how to install such packages, more details can be found in the chapter C programming.
Source with a Makefile
cd project
./make
./make install
Source with autotools (autoconf, automake)
./configure runs the configure script created by autotools that creates the makefile
make
make install
Source with scons
scons
scons install