Linux Software and Package Management

Package Management (Linux Software)

Most Linux software has freely available source code. Building software from source offers some advantages: – more configurability, optimized to architecture, ability to modify the source, etc.

Generally, source comes in a tar.gz archive, which follows the standard 7 install steps:
1. obtain source (via download)
2. Decompress + Extract
3. Change into distribution directory
3.i. Consult the README & INSTALL files.
4. Run ./configure to create Makefile
5. Run make command
6. (option) Run test to check correctness
6.5 su to root.
7. make install

1. Package Management Systems (PMS):
package – a file containing the files necessary to install an application/library/etc.
std features – install/upgrade/remove, obtain a package from resource or possibly some repository
– maintains a db of installed packages so dependencies can be verified, provide dependency checking, signature verification, md5, PGP, etc.
– tools to build your own packages

dependency – 1 package depends ( or has a dependency) on another if it cannot operate without the other package being in a specific state:
i.e. grep 1.2
sudo 3.5.2
! mplayer …

Signature verification:
– ensure authenticity of package
– downloaded correctly (via check sum (md5))
– authentically created (PGP, GPG)

Most packages are binary packages, binary = compiled source, install is faster, high-level package managers will automatically obtain packages (APT) from repositories, calculate dependencies and automatically installs dependencies. Typically, configuration files are backed up to prevent their loss when installing, or upgrading/removing packages.

3. Package Management Systems:
RPM – Red-Hat Package Management
-> Debian
-> Portage

i.e. – rpm -qip emacs….i386.rpm

YUM – Yellow Dog Updater Modified
-high-level system for managing rpm’s similar to APT

External Links:
Linux.org