Maximum PC

Package Managers Are an Awesome Mess

ONE OF THE FIRST THINGS you usually do after you boot into a fresh Windows installati­on is go looking for third-party software, such as Firefox, Chrome, Steam, VLC, and maybe an office suite. That means opening up Microsoft Edge (or Internet Explorer), na

- Alex Campbell Alex Campbell is a Linux geek who enjoys learning about computer security.

The first-boot Linux experience is different, and is one of the best things about the modern Linux desktop. First of all, many Linux desktops come preinstall­ed with the likes of Firefox and LibreOffic­e, but you still need to get the other things, such as Chrome (well, Chromium) and VLC. Doing this usually takes just one or two entries on the command line. In Ubuntu, this looks something like “sudo apt update” and “sudo apt install chromium vlc.” The package manager Apt looks for the software, looks up its dependenci­es, fetches them, and then asks whether you want to install all of those packages.

You then relax as the system does its magic. It’s awesome, but there’s a problem with the Linux package manager ecosystem, and it’s the fact that there’s an ecosystem of package managers at all.

There’s a slew of package systems to choose from: Debian, Ubuntu, and derivative­s (such as Linux Mint) use Apt; Fedora and Red Hat use YUM; OpenSUSE uses ZYpp, which is compatible with YUM; Slackware has Pkgtools; Arch uses Pacman; and Gentoo uses Portage. And that’s just the big names. Every distro can always fall back to .tar.gz tarballs and install software from source, as well.

This is a big problem, because when a developer wants to release software for Linux, it has to choose how to package it. As it stands, developers tend to distribute .rpm files for Fedora, and .deb files for Ubuntu most of the time. Everyone else gets a tarball. And that blows.

And it’s not the developers’ fault. Developers spend most of their time writing software. That takes time and energy—they don’t want to exhaust that effort making pretty packages for every distro. That task falls to package maintainer­s.

While we’re here, let’s give a big hand to package maintainer­s. Seriously. These folks do a lot of grunt work for distributi­ons. These poor souls donate their precious time to package the latest versions of their chosen software project of choice for the distributi­on they use. And that’s not the end of their responsibi­lity. They have to answer to the community when installs fail, or when a script calls for the wrong dependency. It’s a thankless job that only exists because of package system fragmentat­ion.

Like it or not, it’s likely we’ll be stuck with this system for a long time. Package managers are one of the core elements that differenti­ate distributi­ons from one another.

People may install Fedora and use something besides Gnome, while others may ditch Unity when they install Ubuntu. But when you think about it, there aren’t that many people who ditch their distributi­on’s default package manager.

They really are some of the best and worst parts about Linux.

When you think about it, there aren’t that many people who ditch their distributi­on’s default package manager.

 ??  ?? Ubuntu’s Apt in action on the command line.
Ubuntu’s Apt in action on the command line.
 ??  ??

Newspapers in English

Newspapers from United States