If you’ve hopped between Linux distributions as much as I have, you know that each major family of distros introduces you to a different package manager. At first, it can feel a bit daunting (apt on Debian/Ubuntu, dnf on RHEL/Fedora, pacman on Arch, and zypper on openSUSE), but these tools all serve the same purpose of installing and updating software.

After using Linux for years (across everything from Debian to Arch-based systems), I’ve grown comfortable with all of them. Even niche distros like Slackware, Gentoo, and Void. In this post, I’ll break down the major package managers, how they differ, and what it’s like to use each one. We’ll also touch on the universal package formats (Snap and Flatpak) that aim to work across distributions, and lastly mention a few niche package management systems. Let’s dive in!

  • LordKitsuna@lemmy.world
    link
    fedilink
    arrow-up
    9
    arrow-down
    3
    ·
    3 days ago

    Pacman is the best for the simple fact that it’s simple. APT, DNF etc get into the weeds with complex scripts trying to update databases and other nonsense that has caused apt/dpkg to obliterate systems for me too often (over like 10 years)

    but pacman is about as close as possible to “unzip in place and go home” I’ve never had the actual pacman itself break a system. And the only broken update I’ve had is the stupid grub one which I solved by switching to systemdboot. On top of that even IF you somehow obliterated an arch system it’s trivial to chroot in, use a statically built pacman, then reinstall all system packages with a single command.

    I unironically use arch in critical production systems as i genuinely find it to be more reliable. Slap on some filesystem snapshots as a just in case for any bugs from updates (never had to use) and I have a system that is so much easier to use and i feel more confident doing updates

    • MadPsyentist@lemmy.nz
      link
      fedilink
      English
      arrow-up
      9
      ·
      2 days ago

      Pacman works. And over all im an Arch fan. But whats with the esoteric flags? -S? What the fuck does -S mean? why not “pacman install myshityide”, “pacman update”, “pacman upgrade”, “pacman remove myshityide”?

      • LordKitsuna@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        2 days ago

        You know it’s funny I actually find that I like the esoteric Flags more . They just stick in my head as unique and I’m never wondering whether I do update or upgrade or anything else that might sound right. It’s Syu, always has been :)

      • rozodru@piefed.social
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 days ago

        CachyOS has that turned on by default

        For other Arch distros you can turning it on by adding “ILoveCandy” to your pacman config

    • gianni@lemmy.ca
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      3
      ·
      2 days ago

      Pacman has fucked me so many times, I will likely never use Arch again. rpm-ostree has always had my back.

      • LordKitsuna@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        2 days ago

        Sounds more likely that AUR fucked you. Which isn’t pacman. I’ve often found people who hate “pacman” usually just hosed their system with the AUR

      • rarsamx@lemmy.ca
        link
        fedilink
        arrow-up
        3
        ·
        2 days ago

        I’m very choosy with AUR. I know people hail it as the holy grail but the lack of vetting makes it “delicate”.

        This is, in the best of cases, what’s being packaged hasn’t been properly tested. In the worst, you really need to read the package file and understand it enough to confirm you can trust the sources or risk being surprised.

      • trolololol@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        Oh I didn’t know ostree was used by rpm, I thought it was made from scratch from the flatpak project just like bwrap is.