
Getting started with packages
Ubuntu gets its package management from the Debian Linux distribution under the GNU license. A package usually has the following contents: the actual software files, its metadata, and instructions for the user to install it on the Ubuntu machine. The file extension for Debian packages is .deb
. A collection of packages is called a repository and the repository list is stored in the local system. Packages are in binary format and are usually precompiled so as to enable faster installation and free the user from having to compile it.
Large and complex packages are built on the concept of dependencies. Dependencies are additional packages that are required for the proper functioning of primary packages. The package management tools in Ubuntu also handle the downloading and installing of these dependencies.
Let's look at some terminologies that are used in package management.
Package
The software and documentation in Linux is organized in packages. These can be considered to be a collection of components for a software or functionality.
Repository
A collection of packages is called a repository. Repositories are usually available in one or more centrally distributed servers online. These are tested extensively and are easy to install to or remove from your server machines.
The .deb packages
Derivatives of Debian such as Ubuntu, Linux Mint, and others use the .deb
packages. To install these .deb
packages, the package management tools usually used are apt-get and aptitude. Both of these are a frontend for the dpkg tool.
Dependency
A software or package that requires other software to function properly is said to be dependent on the latter. Package management tools such as apt-get and aptitude in Ubuntu handle the dependencies during installation and/or removal of packages. However, when using dpkg, the user has to manage the dependencies as dpkg does not handle dependencies.
Open source
Many of the packages or software in the repositories are independent, open source software, which means the software is freely available to use, modify, and distribute. These are often compiled and fine-tuned for specific distributions. It is also possible that the source repositories in your machine have the modified source code as packages.