Ubuntu Server 18.04 – Understanding Linux package management

install phpMyAdmin On CentOS 8

Nowadays, app stores¬†are all the rage on most platforms; typically, you’ll have one central location from which to retrieve applications, allowing you to install them on your device. Even phones and tablets utilize a central software repository in which software is curated and made available. The Android platform has the Google Play store, Apple offers its App Store, and so on. For us Linux folk, this concept isn’t new. The concept of software repositories is similar to that of app stores and has been around within the Linux community since long before cellular phones even had color screens.

Linux has had package management since the 90s, popularized by Debian and then Red Hat. Software repositories are generally made available in the form of mirrors, to which your server subscribes. Mirrors are available across a multitude of geographic areas, so, typically, your installation of Ubuntu Server would subscribe to the mirror closest to you. These mirrors are populated with software packages that you’ll be able to install. Many packages depend on other packages, so various tools on the Linux platform exist to automatically handle these dependencies for you. Not all distributions of Linux feature package management and dependency resolution, but Ubuntu certainly does, benefiting from the groundwork already built by Debian.

Packages contained within these mirrors are constantly changing. Traditionally, an individual known as a package maintainer is responsible for one or more packages, and ships new versions to the repositories for approval and, eventually, distribution to mirrors. Sometimes, the new version of a package is simply a security update. With the majority of Ubuntu’s packages being open source, anyone is able to look at the source code, find problems, and report issues. When vulnerabilities are found, the maintainer will review the claim and then release an updated version to correct it. This process happens very quickly, as I’ve seen severe vulnerabilities patched even on the same day they were reported in some cases. The Ubuntu developers are definitely on top of their game in taking care of security issues.

Also, new versions of packages are sometimes a feature update, which is an update released to introduce new features and isn’t necessarily tied to a security vulnerability. This could be a new version of a desktop application such as Firefox or a server package such as MySQL. Most of the time, though, new versions of packages that are vastly different are held for the next Ubuntu release. The reason for this is that too much change can introduce instability. Instead, known working and stable packages are preferred, but given the fact that Ubuntu releases every six months, you don’t have to wait very long.

As a server administrator, you’ll often need to make a choice between security and feature updates. Security updates are the most important of all and allow you to patch your servers in response to security vulnerabilities. Sometimes, feature updates become required in your organization because it’s decided that new features may benefit you or may become required for current objectives. In this chapter, we won’t focus on installing security updates (we’ll take care of that in Chapter 15, Securing Your Server) but it’s important to understand the reasons new packages are made available to you.

Package management is typically very convenient in Ubuntu, with security updates and feature updates coming regularly. With just one command (which we’ll get to shortly), you can install a package along with all of its dependencies. Having done manual dependency resolution myself, I can tell you first-hand that having dependencies handled automatically is a very wonderful thing. The main benefit of how packages are maintained on a Linux server is that you generally don’t have to search the internet for packages to download, as Ubuntu’s repositories contain most of the ones you’ll ever need. As we continue through this chapter, you’ll come to know everything you need in order to manage this software.

Comments are closed.