What are packages and package managers?

A package is basically an app, much like what you have on your phone. They’re most common in Linux distributions, which manage these packages through package managers.

What’s the Point?

This whole process probably seems unnecessary if you’re using Mac or Windows. On those systems, you can install the apps you want either by running an installer for it, or just putting it in the right place (like the Applications folder on Macs).

The kicker is that these apps are almost always pre-compiled (see this article to learn what “compiling” is). The computer can run them straightaway in almost all situations without any fuss.

Pre-compiling is feasible on these systems because Mac and Windows only run on specific hardware. For example, newer macOS versions only run on Intel processors, meaning the developer can pre-compile the software for Intel and restrict the software to only run on versions of macOS with Intel CPUs.

On the other hand, Linux can be run on just about any computer you want it too, from top-tier powerhouses to the snails of older times. This means that developers may choose to distribute their source code with instructions for compiling it instead of pre-compiling their software, especially if the resulting compiled software is very large in size, which would make storing all those different pre-compiled versions a pain.

This doesn’t apply to developers who do mind open-sourcing their software. After all, if you’re trying to sell software, making its code avaliable to the masses is somewhat counterintuitive! These people will pre-compile Linux software for common hardware, sometimes neglecting the people stuck with older sloths (note that source code cannot be derived from compiled software).

Where can I find Package Managers?

One of the most popular Linux package managers is APT, included with distros such as Debian and Ubuntu. There’s also dnfpacman, and tons more that vary with each Linux distro.

If you own a Mac, you’re already using a package manager without knowing it, whenever you install a .pkg file or install an app from the App Store. However, this package manager is very limited in its ability compared to what Linux distros have to offer.

To that end, Homebrew and Homebrew Cask bring Linux’s powerful package management features to macOS. There’s also Chocolatey for Windows computers. These pieces of software should be used by people with some experience with the command line (here‘s a good place to start).

Questions? Leave a comment. I’ll try to answer to the best of my know-how.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s