I’m a fairly new manjaro user and i recently released that these are multiple packager managers (such as pacman,pamac,flatpak etc) and im confused as how im supposed to use each of them
Manjaro uses the Arch Linux Package Manager (ALPM) format, which centers around Arch’s
pacman, itself only a command-line utility.
In addition to that, Manjaro has developed its own
pamac package manager, which can be used as a command-line utility or by way of a graphical user interface — actually, two of them, being
gtk4-based environments (like GNOME) and
pamac-gtk3 for other environments.
pamac is fully compatible with
libalpm (ALPM) and uses the same package database at the back-end. However, in addition to accessing the official Manjaro repositories,
pamac also offers access to the AUR — i.e. the Arch User Repository, where Arch users upload build scripts to additional software — as well as to FlatPaks, Snaps and AppImages.
pacman itself cannot do this.
Personally, I recommend using
pacman at the command line for updating the system instead of
pamac, and to only use
pamac (or an AUR helper utility such as
yay) for non-repository packages.
In addition to the above, there is also
octopi, which is a GUI front-end to
pacman and (if properly configured)
octopi is not installed by default — it’s in the repository, though — and cannot install or remove FlatPaks or Snaps.
In addition to what @Aragorn said, Flatpak isn’t a package manager. It’s a package format. The same for Canonical’s, or Ubuntu’s Snaps.
Indeed, those are containerized applications that come with their own sets of shared libraries et al, so that they would be independent of the underlying operating system and thus more portable.
The downside of both Snaps and FlatPaks however is that they are much larger than other packages due to the extra libraries et al, and that they don’t integrate well with the rest of the system, least of all the different desktop environments. So you might get issues with mouse pointers and fonts looking different from how they are on the rest of the system when running a Snap or FlatPak. And as they are running containerized, they also don’t have access to all of the underlying filesystem.
pacman is the native package manager inherited from Arch Linux and as such the defacto standard for handling packages.
All other applications are either wrappers or use libalpm for package operations and they often provides some sort of interaction with AUR and other package distribution channels such as flatpak or snap.
This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.