Page MenuHomePhorge

Manjaro
Updated 343 Days AgoPublic

Griping Preamble

Manjaro is an ancient European word meaning "Arch Linux won't support ARM". Nobody in their right mind should use Arch Linux, but for ARM devices it's sometimes the least-worst choice.

Installing packages and updating the system

The package manager, inherited from Arch Linux, is insane. Here are some common commands:

updates
# Update the system
pacman -Syu
pacman --sync --refresh --sysupgrade
# Like, //really// update the system
pacman -Syyuu

# Manjaro-specific command for updating repo lists, which seem to 404 almost all the time
pacman-mirrors --fasttrack && sudo pacman -Syu

# Or just try and ignore the insanity of pacman and use pkcon...
pacman --sync community/packagekit
pkcon refresh
installing individual packages
# Okay but surely there's an obvious install command... lol nope that's the -S / --sync option actually 
pacman -S packagename
pacman --sync packagename
Search for a package . . . its bad folks
# search package names in the repos
pacman -Ss someregex
pacman --sync --search someregex

# search for files because if the package name doesn't match the binary name you're hooped above
pacman -F filename
pacman --files filename

# search local packages I guess>
pacman -D whatever
pacman --database whatever

# Show files in a local package
pacman -Ql packagename

Ideally you should only have to worry about all the above before you do the part above where you install pkcon or follow my conclusion below and install pamac.

AUR

AUR, or Arch User Repository is kinda like Ubuntu's PPAs or SailfishOS's OBS, except it's for individual packages and everything continues to get messier from there.

For some reason the Arch world thinks it's fine that the official way to install something from AUR is [[ https://wiki.archlinux.org/title/Arch_User_Repository#Installing_and_upgrading_packages | to git clone after finding the package through the website I guess]] (which sounds insane for Linux, a place traditionally where CLI lovers frolick, but considering that Arch users are also expected to routinely read the news on the website this is perhaps of a piece---and more on that later).

Perhaps one reason people are okay with that is that there are multiple frontends that take care of this stuff, though the official documentation insists none are supported and you must understand the manual process to troubleshoot. Here's my evaluation of them.

  • pamac is Manjaro's frontend, comes in GUI and CLI flavors, the CLI package is just pamac-cli in "extra" on Manjaro, and the syntax is fairly sane, pamac search packagename and pamac install packagename and so forth.
  • paru is written in Rust and just basically wraps pacman but knows about AUR as well. Notably,
    • paru run without arguments is an alias for paru -Syu
    • paru run with a single target will search or outright install, ex.
    • --news reads the latest Arch news according to paru --help but paru --news complains "error: no operation specified (use -h for help)" so I guess it has to be used with some other argument for some reason, or "Print arch news" refers maybe instead to just some sort of per-package news that's the equivalent of a changelog or something? Fuck if I know. Some random Reddit comment quotes "Print new news from the Arch Linux homepage. News is considered new if it is newer than the build date of all native packages. Pass this twice to show all available news." Testing an update using paru -Syuww didn't print shit all though, and the current help just says "Print arch news" so I am once again asking the Arch world to get its shit together.
  • yay is like Paru, and is written in Go. Seeing as it still just wraps and largely uses the same insane syntax and options as pacman it still sucks too and other than having a nicer name there's nothing to recommend it over Paru.
  • trizen is apparently something that exists. It doesn't seem to have any webpage and is also just a dumb wrapper for Arch's needlessly frustrating package manager.
  • pakku is . . . another wrapper using the same options and syntax. Jesus, people.
  • aurutils is some scripts for using local repos built from AUR packages I think? Sounds potentially interesting if you get deep into such things but personally I think Arch packaging is a Lovecraftian horror so no thanks.
  • pacaur was the old AUR pacman wrapper people used to use that's since been abandoned
  • yaourt is the one I tended to hear about a lot a few years ago but it is also apparently dead.

So I guess my advice is just to use pamac if you can, and if "real" Arch doesn't have it or you just want the real Arch experience then I guess paru.

External Documentation

Last Author
keithzg
Last Edited
Jul 13 2023, 6:52 PM