Package Managers

5 Best Linux Package Managers for Linux Newbies

5 Best Linux Package Managers for Linux Newbies &-8211; this Article or News was published on this date:2019-05-28 17:28:15 kindly share it with friends if you find it helpful

One thing a new Linux user will get to know as he/she progresses in using it is the existence of several Linux distributions and the different ways they manage packages.

Package management is very important in Linux, and knowing how to use multiple package managers can proof life saving for a power user, since downloading or installing software from repositories, plus updating, handling dependencies and uninstalling software is very vital and a critical section in Linux system Administration.

Best Linux Package ManagersBest Linux Package Managers

Best Linux Package Managers

Therefore to become a Linux power user, it is significant to understand how the major Linux distributions actually handle packages and in this article, we shall take a look at some of the best package managers you can find in Linux.

Here, our main focus is on relevant information about some of the best package managers, but not how to use them, that is left to you to discover more. But I will provide meaningful links that point out usage guides and many more.

1. DPKG – Debian Package Management System

Dpkg is a base package management system for the Debian Linux family, it is used to install, remove, store and provide information about .deb packages.

It is a low-level tool and there are front-end tools that help users to obtain packages from remote repositories and/or handle complex package relations and these include:

Don’t Miss: 15 Practical Examples of “dpkg commands” for Debian Based Distros

APT (Advanced Packaging Tool)

It is a very popular, free, powerful and more so, useful command line package management system that is a front end for dpkg package management system.

Users of Debian or its derivatives such as Ubuntu and Linux Mint should be familiar with this package management tool.

To understand how it actually works, you can go over these how to guides:

Don’t Miss: 15 Examples of How to Use New Advanced Package Tool (APT) in Ubuntu/Debian

Don’t Miss: 25 Useful Basic Commands of APT-GET and APT-CACHE for Package Management

Aptitude Package Manager

This is also a popular command line front-end package management tool for Debian Linux family, it works similar to APT and there have been a lot of comparisons between the two, but above all, testing out both can make you understand which one actually works better.

It was initially built for Debian and its derivatives but now its functionality stretches to RHEL family as well. You can refer to this guide for more understanding of APT and Aptitude:

Don’t Miss: What is APT and Aptitude? and What’s real Difference Between Them?

Synaptic Package Manager

Synaptic is a GUI package management tool for APT based on GTK+ and it works fine for users who may not want to get their hands dirty on a command line. It implements the same features as apt-get command line tool.

2. RPM (Red Hat Package Manager)

This is the Linux Standard Base packing format and a base package management system created by RedHat. Being the underlying system, there several front-end package management tools that you can use with it and but we shall only look at the best and that is:

YUM (Yellowdog Updater, Modified)

It is an open source and popular command line package manager that works as a interface for users to RPM. You can compare it to APT under Debian Linux systems, it incorporates the common functionalities that APT has. You can get a clear understanding of YUM with examples from this how to guide:

Don’t Miss: 20 Linux YUM Commands for Package Management

DNF – Dandified Yum

It is also a package manager for the RPM-based distributions, introduced in Fedora 18 and it is the next generation of version of YUM.

If you have been using Fedora 22 onwards, you must have realized that it is the default package manager. Here are some links that will provide you more information about DNF and how to use it:

Don’t Miss: DNF – The Next Generation Package Management for RPM Based Distributions

Don’t Miss: 27 ‘DNF’ Commands Examples to Manage Fedora Package Management

3. Pacman Package Manager – Arch Linux

It is a popular and powerful yet simple package manager for Arch Linux and some little known Linux distributions, it provides some of the fundamental functionalities that other common package managers provide including installing, automatic dependency resolution, upgrading, uninstalling and also downgrading software.

But most effectively, it is built to be simple for easy package management by Arch users. You can read this Pacman overview which explains into details some of its functions mentioned above.

4. Zypper Package Manager – openSUSE

It is a command line package manager on OpenSUSE Linux and makes use of the libzypp library, its common functionalities include repository access, package installation, resolution of dependencies issues and many more.

Importantly, it can also handle repository extensions such as patterns, patches, and products. New OpenSUSE user can refer to this following guide to master it.

Don’t Miss: 45 Zypper Commands to Master OpenSUSE Package Management

5. Portage Package Manager – Gentoo

It is a package manager for Gentoo, a less popular Linux distribution as of now, but this won’t limit it as one of the best package managers in Linux.

The main aim of the Portage project is to make a simple and trouble free package management system to include functionalities such as backwards compatibility, automation plus many more.

For better understanding, try reading Portage project page.

Concluding Remarks

As I already hinted at the beginning, the main purpose of this guide was to provide Linux users a list of the best package managers but knowing how to use them can be done by following the necessary links provided and trying to test them out.

Users of the different Linux distributions will have to learn more on their own to better understand the different package managers mentioned above.

How to Use ‘apt-fast’ to Speed Up apt-get/apt Package Downloads Using Multiple Mirrors

How to Use &-8216;apt-fast&-8217; to Speed Up apt-get/apt Package Downloads Using Multiple Mirrors &-8211; this Article or News was published on this date:2019-05-28 17:19:23 kindly share it with friends if you find it helpful

In this editorial, we take a look at a great and powerful utility called apt-fast that you can use to speed up downloading packages by APT or Aptitude.

apt-fast is an open-source shell script wrapper for the popular APT and Aptitude package managing tools that helps to speed the downloading of packages on Debian systems.

It’s main function is to remarkably speed up the downloading of packages by apt-get or aptitude by downloading packages in parallel, with numerous connections per package.

Read some of the following articles, that discusses about APT and Aptitude along with their usage with examples:

  1. What’s Difference Between APT and Aptitude
  2. 25 Useful Commands of apt-get for Package Management
  3. 15 Useful APT Commands for Package Management
  4. Learn Package Management with Aptitude in Ubuntu

Requirement for running apt-fast utility, is to have aria2c or axel download managers.

  1. How to Install Aria2 Command-Line Download Manager
  2. How to Install Axel to Speed Up FTP/HTTP Downloads

How to Install apt-fast on Ubuntu 16.04-14.04 and Linux Mint 18/17.x

Firstly add the the PPA for apt-fast package as follows and then update your system.

$ sudo add-apt-repository ppa:saiarcot895/myppa
$ sudo apt-get update

Thereafter, run the command below to install apt-fast tool:

$ sudo apt-get -y install apt-fast

During the apt-fast installation process, you will be prompted to perform some package configuration as follows.

In the screen below, you can set the number of connections allowed, remember, you can also configure it later in the apt-fast configuration file using the _MAXNUM directive.

Configure apt-fast Maximum ConnectionsConfigure apt-fast Maximum Connections

Configure apt-fast Maximum Connections

Next, you can also choose to suppress the apt-fast confirmation message every time you want to install a package. But leaving the default value is okay, therefore, choose No> and hit Enter to advance.

Configure apt-fast Maximum ConnectionsConfigure apt-fast

Configure apt-fast

How to Use apt-fast?

After successfully installing apt-fast, simply use it the same way you run apt or aptitude commands.

The apt-fast configuration file is: /etc/apt-fast.conf, you can further increase your download speeds by adding multiple mirrors and distribute load, make sure to add nearest mirrors.

Official mirror lists for Debian and Ubuntu/Linux Mint:

  1. Debian: http://www.debian.org/mirror/list
  2. Ubuntu: https://launchpad.net/ubuntu/+archivemirrors

You can add them to whitespace and comma separated mirrors in the configuration file as follows:

For Debian

MIRRORS=( 'http://ftp.debian.org/debian, http://ftp2.de.debian.org/debian, http://ftp.de.debian.org/debian, ftp://ftp.uni-kl.de/debian' )

For Ubuntu/Linux Mint

MIRRORS=( 'http://archive.ubuntu.com/ubuntu, http://de.archive.ubuntu.com/ubuntu, http://ftp.halifax.rwth-aachen.de/ubuntu, http://ftp.uni-kl.de/pub/linux/ubuntu, http://mirror.informatik.uni-mannheim.de/pub/linux/distributions/ubuntu/' )

Important: To use mirrors in /etc/apt/sources.list or /etc/apt/sources.list.d/, you also need to add them to /etc/apt-fast.conf as well.

$ sudo vi /etc/apt-fast.conf
Configure apt-fast Maximum ConnectionsConfigure apt-fast Mirrors

Configure apt-fast Mirrors

You also view the man page for apt-fast and apt-fast.conf as follows:

$ man apt-fast
$ man apt-fast.conf

Let us dive into how apt-fast works by installing git package as follows:

$ sudo apt-fast install git

You will be asked to confirm whether to download package or not, enter Yes/Y to continue. The image below shows apt-fast working – downloading git package using several connections.

Configure apt-fast Maximum ConnectionsInstall Packages Using apt-fast

Install Packages Using apt-fast

After downloading the git package, you will again be asked to install it by entering Yes/Y and press Enter to proceed with the installation process.

Some important apt-fast commands:

$ sudo apt-fast update
$ sudo apt-fast upgrade 
OR
$ sudo apt-fast dist-update

In case a downloading process stops or breaks, run the command below:

$ sudo apt-fast clean 

For more information, visit the apt-fast Github repository.

Conclusion

Here, we reviewed a powerful shell-script front-end for apt and aptitude that helps you to boost download speeds while installing packages on your Debian-based systems such as Ubuntu, Linux Mint and many more.

What is you experience with apt-fast? Do you think it works well for you? Then give us your thoughts plus any other questions you would like to ask, via the feedback form below.

How to Install Group of Packages Using Yum on CentOS and RHEL

How to Install Group of Packages Using Yum on CentOS and RHEL &-8211; this Article or News was published on this date:2019-05-28 16:40:10 kindly share it with friends if you find it helpful

On CentOS/RHEL, you can either install packages individually or install multiple packages in a single operation in a group. Package group contain packages that perform related tasks such as development tools, web server (for example LAMP or LEMP), desktop (a minimal desktop that can as well be employed as a thin client) and many more.

Read Also: 3 Ways to List All Installed Packages in RHEL, CentOS and Fedora

In this guide, we will explain how how to install a group of packages with YUM package manager in CentOS, RHEL and Fedora distributions.

From yum version 3.4.2, the groups command was introduced, and now works on Fedora-19+ and CentOS/RHEL-7+; it brings together all the subcommands for dealing with groups.

To list available available groups from all yum repos, use the list subcommand as follows:

- yum groups list
OR
- yum grouplist
Yum Group Package Listing
Loaded plugins: changelog, fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.freethought-internet.co.uk
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   MATE Desktop
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   CIFS file server
   Compatibility Libraries
   Console Internet Tools
....

You can see the total number of groups using the summary subcommand:

- yum groups summary
List Total Yum Groups
Loaded plugins: changelog, fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.freethought-internet.co.uk
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
Available Environment Groups: 11
Available Groups: 38
Done

Before you proceed to install a group of packages, you can view the group ID, a short description of the group and the various packages it contains under different categories (mandatory, default and optional packages) using info subcommand.

- yum groups info "Development Tools"
List Group Info and Packages
Loaded plugins: changelog, fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.freethought-internet.co.uk
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com

Group: Development Tools
 Group-Id: development
 Description: A basic development environment.
 Mandatory Packages:
   +autoconf
   +automake
    binutils
   +bison
   +flex
    gcc
   +gcc-c++
    gettext
   +libtool
    make
   +patch
    pkgconfig
    redhat-rpm-config
   +rpm-build
   +rpm-sign
...

To install a group of packages, for instance development tools (basic development environment), use the install subcommand as follows.

- yum groups install "Development Tools"
Install Group of Packages
Loaded plugins: changelog, fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
base                                                                                                                                                 | 3.6 kB  00:00:00     
epel/x86_64/metalink                                                                                                                                 |  23 kB  00:00:00     
epel                                                                                                                                                 | 4.3 kB  00:00:00     
extras                                                                                                                                               | 3.4 kB  00:00:00     
mariadb                                                                                                                                              | 2.9 kB  00:00:00     
updates                                                                                                                                              | 3.4 kB  00:00:00     
(1/4): extras/7/x86_64/primary_db                                                                                                                    | 129 kB  00:00:15     
(2/4): updates/7/x86_64/primary_db                                                                                                                   | 3.6 MB  00:00:15     
(3/4): epel/x86_64/primary_db                                                                                                                        | 6.1 MB  00:00:15     
(4/4): epel/x86_64/updateinfo                                                                                                                        | 838 kB  00:00:15     
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.freethought-internet.co.uk
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch 0:2.69-11.el7 will be installed
--> Processing Dependency: m4 >= 1.4.14 for package: autoconf-2.69-11.el7.noarch
---> Package automake.noarch 0:1.13.4-3.el7 will be installed
...

To remove a group (which erases all packages in the group from the system), simply use remove subcommand.

- yum groups remove "Development Tools"

You can also mark a group as installed with the command below.

- yum groups mark install "Development Tools"

That’s all for now! You can find more subcommands and their explanations under the groups subsection in the yum man page.

You might also like to read these following articles on Yum package manager.

  1. How to Install and Use ‘yum-utils’ to Maintain Yum and Boost its Performance
  2. 4 Ways to Disable/Lock Certain Package Updates Using Yum Command
  3. How to Fix Yum Error: Database Disk Image is Malformed
  4. How to Use ‘Yum History’ to Find Out Installed or Removed Packages Info

In this guide, we have explained how to install a group of packages with YUM package manager in CentOS, RHEL and Fedora. Use the comment form below to send us your queries or views concerning this article.

How to Check and Install Updates On CentOS and RHEL

How to Check and Install Updates On CentOS and RHEL &-8211; this Article or News was published on this date:2019-05-28 16:39:59 kindly share it with friends if you find it helpful

Installing updates for software packages or the kernel itself, is a highly recommended and beneficial task for system administrators; more especially when it comes to security updates or patches. While security vulnerabilities are discovered, the affected software must be updated so as to lessen any potential security risks to the whole system.

If you have not configured your system to install security patches or updates automatically, then you need to do it manually. In this article, we will show you how to check and install software updates on CentOS and RHEL distributions.

To check for any updates available for your installed packages, use YUM package manager with the check-update subcommand; this helps you to see all package updates from all repositories if any are available.

- yum check-update
Check All Software Package Updates
Loaded plugins: changelog, fastestmirror
base                                                                                                                                                 | 3.6 kB  00:00:00     
epel/x86_64/metalink                                                                                                                                 |  22 kB  00:00:00     
epel                                                                                                                                                 | 4.3 kB  00:00:00     
extras                                                                                                                                               | 3.4 kB  00:00:00     
mariadb                                                                                                                                              | 2.9 kB  00:00:00     
updates                                                                                                                                              | 3.4 kB  00:00:00     
(1/2): epel/x86_64/updateinfo                                                                                                                        | 842 kB  00:00:15     
(2/2): epel/x86_64/primary_db                                                                                                                        | 6.1 MB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.vorboss.net
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com

MariaDB-client.x86_64                                                              10.1.28-1.el7.centos                                                             mariadb 
MariaDB-common.x86_64                                                              10.1.28-1.el7.centos                                                             mariadb 
MariaDB-server.x86_64                                                              10.1.28-1.el7.centos                                                             mariadb 
MariaDB-shared.x86_64                                                              10.1.28-1.el7.centos                                                             mariadb 
NetworkManager.x86_64                                                              1:1.8.0-11.el7_4                                                                 updates 
NetworkManager-adsl.x86_64                                                         1:1.8.0-11.el7_4                                                                 updates 
....

To update a single package to the latest available version, run the command below. In this example, yum will attempt to update the httpd package.

- yum update httpd
Update Apache Package
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.vorboss.net
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-45.el7.centos.4 will be updated
--> Processing Dependency: httpd = 2.4.6-45.el7.centos.4 for package: 1:mod_ssl-2.4.6-45.el7.centos.4.x86_64
---> Package httpd.x86_64 0:2.4.6-67.el7.centos.6 will be an update
--> Processing Dependency: httpd-tools = 2.4.6-67.el7.centos.6 for package: httpd-2.4.6-67.el7.centos.6.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos.4 will be updated
---> Package httpd-tools.x86_64 0:2.4.6-67.el7.centos.6 will be an update
---> Package mod_ssl.x86_64 1:2.4.6-45.el7.centos.4 will be updated
---> Package mod_ssl.x86_64 1:2.4.6-67.el7.centos.6 will be an update
....

To update a package group, the command that follows will update your development tools (C and C++ compiler plus related utilities).

- yum update "Development Tools"
Update Group Packages
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.vorboss.net
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
...

To upgrade all of your system software as well as their dependencies to the latest version, use this command:

- yum update
Update Software Packakges
Loaded plugins: changelog, fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.linode.com
 * epel: mirror.vorboss.net
 * extras: mirrors.linode.com
 * updates: mirrors.linode.com
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-client.x86_64 0:10.1.23-1.el7.centos will be updated
---> Package MariaDB-client.x86_64 0:10.1.28-1.el7.centos will be an update
---> Package MariaDB-common.x86_64 0:10.1.23-1.el7.centos will be updated
---> Package MariaDB-common.x86_64 0:10.1.28-1.el7.centos will be an update
---> Package MariaDB-server.x86_64 0:10.1.23-1.el7.centos will be updated
---> Package MariaDB-server.x86_64 0:10.1.28-1.el7.centos will be an update
---> Package MariaDB-shared.x86_64 0:10.1.23-1.el7.centos will be updated
---> Package MariaDB-shared.x86_64 0:10.1.28-1.el7.centos will be an update
---> Package NetworkManager.x86_64 1:1.4.0-19.el7_3 will be obsoleted
---> Package NetworkManager.x86_64 1:1.8.0-11.el7_4 will be obsoleting
....

That’s It! You might like to read these following related articles.

  1. How to Install or Upgrade to Latest Kernel Version in CentOS 7
  2. How to Delete Old Unused Kernels in CentOS, RHEL and Fedora
  3. How to Install Security Updates Automatically on Debian and Ubuntu

Always keep you Linux system up to date with latest security and general package updates. Do you have any questions to ask, use comment form below for that.