A Package Manager is software that automates the process of maintaining software applications in a system. It is a collection of software tools that tidy’s up installing, removing, updating, and configuring computer programs on an operating system. These terms are often mentioned in assembly with UNIX and UNIX derived environments like Linux. Package Mangers are essentially used to remove manual interference from software maintenance. They work in close proximity with app stores, software and binary repositories. Package managers maintain a database of all the softwares, their dependencies on other softwares, version information, and metadata to avoid disparities and missing requirements.
Functions of a Package Manager
It is a file composed of one or more computer files along with metadata required for its deployment. The program contains lines of code that needs to be compiled and built. Each package metadata contains package description, its dependencies, and its version. They are assigned the job of the following,
- Extracting package archives using files
- Performing a thorough check on the authenticity and the security of the package by performing checks for digital certificates
- Enabling and disabling operating system features
- Install or remove several packages with a single string or command
- Install hotfixes provided for the software
- Add out of the box drivers to the system driver store
- Grouping of softwares based on parameters like function, usage, etc.
- Downloading latest versions and installing them
Maintenance of Configurations
Package Managers originated from file archiving systems primarily on UNIX, therefore they can only either overwrite or retain configuration files rather than making selection based changes. A set of rules cannot be applied to the configurations while software is updated. Kernel configurations are however exempted from this rule since any change in them can break down the system. If the format of the configuration file is changed, it can cause issues.
The issues may be because the old files cannot necessarily copy its function on the new file, in that, if there needs to be some options that should be disabled, the old files cannot perform the function. There are a few softwares that allow configuration during installation. Otherwise, we can install the software with the default configurations and change them once the software is installed.
- Universal Package Manager
- Free and Open Source Package Managers
- Application Level Package Managers
Commands in use:
Most package manager allows similar functions and features, making the commands majorly translatable. The general functions are installing, removing, updating, show updatable softwares, delete configurations or dependencies, etc.