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!

  • Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    18
    arrow-down
    1
    ·
    16 days ago

    I’ve always liked Zypper (and if I remember correctly, DNF was also fine), purely because it feels sane in everything it does.

    We love to make a religion out of them, but a package manager is ultimately just a secondary tool. It installs other tools, which are what you’re actually interested in using.
    So, I shouldn’t need to learn a scramble of letters to achieve that. I shouldn’t need to think about refreshing the repository listing. The less I need to worry about instructing the package manager, the better.

  • Over the summer Zypper got a huge speed upgrade after decades of being one of the slowest package managers, and while Hayden James did give Zypper “the best score” (not really, (except if you assume they all got 5 in ecosystem size) all of them got 17, except Pacman that got 16), it would’ve been nice of them to mention that as I’m sure lots of people probably still have this idea of Zypper being sluggish and taking forever.
    In fact, seeing as how APT is limited on simultaneous downloads, I’d wager that Zypper is actually faster than APT now. Probably faster than Nala as well.

    • Evil_Shrubbery@thelemmy.club
      link
      fedilink
      arrow-up
      4
      ·
      15 days ago

      Yes, I was fine with/accepted the “slowness” before (I love zypper) & one day just suddenly it just started “skipping” the download parts & it was a huge optimization :D.

  • Unattributed@feddit.online
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    2
    ·
    16 days ago

    Even niche distros like Slackware, Gentoo,

    Ooof - I’m feeling old when these are considered “niche” distros…

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

      Well, Slackware was a main distro two or three decades ago. I give you that. Il pretty sure that’s what I installed when I installed my first Linux mid/early 99’s.

      Gentoo has always been niche.

      • Unattributed@feddit.online
        link
        fedilink
        English
        arrow-up
        2
        ·
        16 days ago

        Yeah - Slackware back in the late 90s early 2K’s wasn’t as niche… Remember the Infomagic CD sets?

        Gentoo got traction for a while when they made it easier to install, instead of having to go from Stage 0. Of course, I installed it from Stage 0 since I wanted to know more about the tool chain and how these systems were built – but I wasn’t masochistic enough to try to install LFS.

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

          I had Gentoo as primary for 6 months. 6 months of an unusable computer always compiling.

          I did a bit of LFS and while I didn’t get to a full desktop, it helped a lot.

          • Unattributed@feddit.online
            link
            fedilink
            English
            arrow-up
            2
            ·
            16 days ago

            Hmm - my Gentoo install was usable, but I did get tired of all the compiling for updates. Still kind of get annoyed with it now when I have to install source packages from the AUR.

            I read a lot of the LFS manual, that’s what made me decide to give Gentoo a go. Seemed like an slightly easier route while still working through a lot of the build process.

            • rarsamx@lemmy.ca
              link
              fedilink
              arrow-up
              1
              ·
              15 days ago

              I mean…mine was theoretically usable. But practically, it was compiling all the time.

              I really don’t understand how can people use it. I really tried.

              • Unattributed@feddit.online
                link
                fedilink
                English
                arrow-up
                1
                ·
                15 days ago

                I think it’s something that you have to get used to… While it’s compiling stuff, you can actually be doing other things on your system. The trick was to make sure your configuration balanced your systems resources so you didn’t get bottlenecks. (For example: putting your home drive on a separate physical drive to reduce issues with writes.)

  • Infernal_pizza@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    15 days ago

    Interesting they gave apt a higher score for ecosystem than pacman. I feel like I have to add custom repos to Debian more often than I have to use the AUR on Arch

  • TheLazyNerd@europe.pub
    link
    fedilink
    arrow-up
    3
    ·
    15 days ago

    I have been using Nix for a year now, and I am not looking back.

    All regular package managers have a problem: Sometimes a system won’t work if a specific combination of packages is installed. To prevent this, package managers block those combinations. However, how does the package manager know which combination would break the system? It is tested beforehand, and a list of illegal combinations is maintained. However, this comes with a problem: How do you test every combination of packages? If a package manager tracks just 1000 packages, there are 2^1000 possible combinations to evaluate. This means that when a package manager becomes more popular, and more packages get added, relatively fewer combinations get tested, therefore increasing the chance someone breaks his system by installing a unique combination of packages, that wasn’t evaluated and apparently breaks the system. In other words: Package managers have a flaw that causes your system to break if the package manager becomes too popular. The common solution is to create a new package manager from scratch that does exactly the same thing as the old one, but isn’t popular yet, and therefore works. However, since it works, it becomes more popular, causing it to no longer work.

    Nix is different. It is designed from the bottom up that every combination of packages is possible. It is impossible that one package breaks another. This creates some other advantages as well: there is no evaluation to see whether packages break other packages, allowing maintainers to add more packages to the repository. The result: even though it is not even close to the most used package manager, it is the one with the most packages in its repository.

    Yes, there are problems. The biggest is that there is no easy mode yet. But that can be implemented later. For now I see Nix (or something similar like Guix) to be the future of package managers.

  • thingsiplay@beehaw.org
    link
    fedilink
    arrow-up
    5
    arrow-down
    2
    ·
    16 days ago

    Also most users don’t even have to use a package manager directly, as there are GUI frontends that manages all of this with mouse clicks. In that case, the underlying package manager doesn’t even matter, only the repositories you access to, do. I use easy to remember aliases and when I need some more features, i just look them up quickly. That does all the job I need for the most part.

    • caseyweederman@lemmy.ca
      link
      fedilink
      arrow-up
      7
      ·
      16 days ago

      KDE’s Discover is pretty magical. In Plasma 6, you don’t even need to install a bunch of separate plugins for it. Except I think they still make you sign off on Flathub (but give you instructions on how to do it)

      • entwine@programming.dev
        link
        fedilink
        arrow-up
        6
        arrow-down
        1
        ·
        16 days ago

        Discover is probably the worst app in the entire KDE suite. It’s the only aspect of the Linux desktop that frustrates me, and I’m nearing 10 years of full time Linux desktop usage.

        Oh, you accidentally opened Discover? Now you gotta sit and twiddle your thumbs while it updates/downloads a bunch of stuff very slowly with no way to interrupt it. It also locks the system package manager, so you literally cannot do anything else package management related until Discover slowly decides to finish doing something you never asked it to do.

        • caseyweederman@lemmy.ca
          link
          fedilink
          arrow-up
          3
          ·
          16 days ago

          Huh. I cannot personally relate to anything you’ve said there. Maybe we’re using different versions? The only issue I’ve had with package managers (aside from Flatpak file access, snap… just everything to do with snaps, and Pacman acting like it’s never heard of any of my mirrors if I haven’t updated in a couple of weeks, and official Nvidia drivers breaking my xorg.conf in half) is wiping out my entire desktop suite through Synaptic back in the day (entirely my own fault).
          I suppose there are worse ways to learn to read the “these packages will be removed section”.

        • Random Dent@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          15 days ago

          I also don’t like how seemingly some parts of KDE like themes and widgets don’t seem to update through the terminal during a normal system update, you have to remember to open Discover once every few weeks and update them all separately.

      • thingsiplay@beehaw.org
        link
        fedilink
        arrow-up
        2
        ·
        16 days ago

        But Discover on an Arch based system (EndeavourOS) isn’t that great. It only supports Flatpak, not the system packages.

          • thingsiplay@beehaw.org
            link
            fedilink
            arrow-up
            4
            ·
            16 days ago

            I don’t know what exactly you want to know actually. It’s a generic wording / term. I’m not talking about a specific user group or something like that. I’m just saying, “people” do not HAVE to use a commandline package manager, if the system is configured to use a GUI manager for the packages.

            In example SteamOS on the Steam Deck is configured in a way the user never need to use the terminal. There is the gaming mode, without a desktop and a click updates the system. And in desktop mode there is Discover pre-configured with Flathub for Flatpaks. Users don’t have to use the terminal to install new applications or update them. Just as an example. I think openSUSE also has some GUI for that and doesn’t Linux Mint have such a GUI too? Manjaro comes with their Pamac graphical tool.

            • dbtng@eviltoast.org
              link
              fedilink
              English
              arrow-up
              1
              ·
              16 days ago

              Ok, I can see that in SteamOS, users that don’t directly interact with a package manager. That seems likely.

              I would say that ‘most users’ of just about any linux distro know all about command line package managers.
              So, my ‘most users’ and your ‘most users’ don’t seem to be the same people.

              • thingsiplay@beehaw.org
                link
                fedilink
                arrow-up
                4
                ·
                edit-2
                16 days ago

                I said “most users” in the sense of “nobody has to” and refer to everyone, including you and me. We don’t have to use the commandline to update package managers, if we use a GUI for it. I didn’t mean a specific number of people do or don’t.

                • dbtng@eviltoast.org
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  ·
                  16 days ago

                  Well, that’s interesting. I guess linux really is going more mainstream, if that’s the more common user experience. The users I know are mostly professionals that enjoy tinkering under the hood. Thanks for your perspective, stranger.

  • dbtng@eviltoast.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    16 days ago

    They mentioned YUM just long enough to shit on it. I’ve never had a reason to switch to DNF. Fukit. YUM works.