Preface

People see Diversity in Linux, as Distribution. Beginner can see how a system can use many Desktop Environment. And coder can see that they can rewrite from one scripting language to another. This is true, but inaccurate. There are other frontier, that is actually fundamental, from the perspective of Operating System.

I do think that we need more focus on other main diversity as well such as

  • Package Manager

  • Init

  • File system

This will encourage beginner to go deeper, than just mainstream blogger topic, such as apt, systemd-based, and ext4-only. Enable broader range of discussion. Gain more diverse knowledge. Thus empower our beloved community.

But I could be wrong about that.

As a result, beginner should narrow how to choose their OS, from choosing distro to choosing package manager.

An enthusiast user should experience package management diversity in linux. And try each. Otherwise, most beginner would stuck, in the mainstream APT-based distribution, as you can see the fact in distrowatch top list.

Do not forget to read the manual first.

Testing Tools

The issue with package management learning is, you have to live with it.

The downside of learning package manager is, the need of good internet connection.

There are a few methods.

  • Multiboot. But install so distribution many would be exhausted.

  • Virtualization such as Virtual Box. I only have dual core.

  • Docker or LXC. I actually use docker to learn other Portage and Slackpkg. This is suitable for my resource limitation. I do not use LXC anymore.

  • Live OS (not recommended). You cannot just use flash disk, trying some command line, and pretend you understand package manager.

Screenshot: Emerge in LXC

OS: Artix Linux (formerly Manjaro-OpenRC)

  • Window Manager: HerbstluftWM

  • Panel: Lemonbar

  • Wallpaper: Original Wallpaper

Container: LXC

  • Client: Gentoo

  • Running: emerge

Artix LXC: Gentoo Emerge

I wish you luck

Genre

This is some mainstream Package Management in Linux.

APT: Advanced Package Tool

ALPM: Arch Linux Package Management

RPM: RPM Package Manager

Portage:

XBPS: X Binary Package System

As for enthusiast user I give each source code. I am sure you all love manual. Why don’t we go further to read the source code ?


APT Frontend

APT: Python

DPKG: C: Eight Years Ago

apt-src

  • No github yet

apt-get

  • No github yet

aptitude

  • No github yet

ALPM Frontend, ASP and AUR Helper”

ALPM = “Arch Linux Package Management”

Note that ABS tools is deprecated.

Pacman: C

ASP: BASH

Cower: C

Package Query: C

AURA: Haskell

Pacaur: BASH/C

Packer: BASH

Yaourt: BASH/C

Arch: NCDU


RPM Frontend

Format

RPM: C

RPM is special in a way that RPM has many front end implementation.

Frontend

URPMI: Mageia: Perl

DNF (Dandified YUM): Fedora: Python

YUM: Python

ZYpp Frontend

Zypper: openSUSE


Portage Frontend

Emerge

Gentoo: NCDU


SlackPkg

: Slackware: C


XBPS

XBPS: C


Other Frontend

Sol (eopkg replacement in Solus): C


Screenshot: Package Manager in LXC

OS: Manjaro-OpenRC

  • Window Manager: Awesome (floating mode)

  • Running: pacman, emerge, yum, apt

Manjaro LXC


Query AUR

A special case for AUR, there are so many way to Query AUR in one system.

I Didn’t Know What To Do Last Summer I still don’t know what to do today. So I play with AUR instead.

#ihavenolife
$ package-query - As gst
$ cower - s gst
$ yaourt - s gst
$ aura - As gst
$ packer - Ss gst -- auronly
$ pacaur - Ssa gst

Screenshot: Query AUR

OS: Arch Linux

  • Window Manager: HerbstluftWM

Arch: Query AUR


Thank you for Reading