A sample journey when trying to install software:

  • Try your distros repos, it’s either not there or an older version
  • Oh wait, you need to add their repo to your list and try again
  • Actually, they don’t have a repo, but you can install this deb/rpm from their site
  • Nevermind, it actually needs to be installed with pip to get the latest version
  • Or wait, it was actually a rust package and needs cargo
  • Well, this package is available as a snap
  • Screw it, I’ll just build it from source…. Except the dependencies I need take me through the entire journey again

It’s crazy with a large package like mesa. It uses meson, which requires it be installed via pip, and also needs rust which is best installed via a snap, but then there are dependencies it needs that require multiple paths…

On Windows: find the msi or exe and be done with it.

  • Rimu@piefed.social
    link
    fedilink
    English
    arrow-up
    50
    arrow-down
    1
    ·
    3 days ago

    That’s an interesting choice of sample.

    95% of the time it’s

    • try your distros repos - it’s there, it’s a bit old but good enough

    Back when I was on Windows and still in denial about the inevitability of my switch to Linux I went on a long rant about how much harder it is to install a font on Linux than on Windows. You sound like me in 2005.

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

      Lots of people new to Linux get recommended Debian-derived distros, and so end up with distro packages that are a long way from bleeding edge. If they’ve just come from Windows, they’d have been using the latest release of everything they use, as most software projects don’t even announce a release until their Windows binaries are ready, and many auto-update. That means that a lot of people have being presented with versions of things they stopped using two to four years ago as their first Linux experience, and obviously they don’t see that as good enough. Most people don’t want to run versions of things that old, especially now there’s so much stuff to package that downstream packagers can’t feasibly backport every bug fix to older versions of every piece of software, so running an old version gets you old bugs rather than a balance of avoiding new bugs at the expense of new features.

  • Ignotum@lemmy.world
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    1
    ·
    3 days ago

    I prefer getting aoftware the windows way;
    Go to free-software.com.ru, figure out which of the fifteen download buttons is the real one, then run the linkin-park_numb.mp3.exe file as administrator

    Now that’s what i call proper software distribution

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

    I recommend learning about Arch… Hear me out…

    Arch is rolling release, I get it, it’s a little more unstable than what sounds very much like Debian. I solve this using btrfs and snapper. Makes it take a snapshots every hour automatically, and also takes a snapshot before and after package updates. I had to use it once, but that was an issue with QT updates which required me to rebuild some software(end-4 hyprland/quickshell). Which leads me into the next part.

    The Arch user repository. Ultimately this is just a git instant for users sharing code. But there is also a command line till for it to make it even easier. That tool is yay. Yay will automatically handle all build dependencies and removing them if needed once the build is complete. I primarily use the AUR for building things in to last to do myself, like linux-cachyos. Such a tool would be quite beneficial to you on any distribution and while I’ve heard of it being used on something like Fedora, I haven’t heard of it on Debian.

  • daggermoon@piefed.world
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    1
    ·
    3 days ago

    This sounds more like Ubuntu/Debian problems than Linux problems. Arch based distros have much better package management.

    • Lka1988@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      3 days ago

      Yeah, that was my first thought. I’m a Debian user by choice (25+ years experience with it) and largely prefer the “older but extremely stable” package management method they have employed for so long. Same reason I drive Toyotas; they tend to use older-but-proven tech.

      This reason is why Debian has the “rock solid” reputation in the first place. It’s baffling that there are people who refuse to accept that fact.

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

    Huh, I was wondering about that. I was recently building a python base image for my developers when suddenly Rust appeared

  • moonpiedumplings@programming.dev
    link
    fedilink
    English
    arrow-up
    29
    ·
    3 days ago

    If you’re not on archlinux, you should probably switch. It has the latest packages of everything, and the Arch User Repos are essentially compiling whatever xyz program you want from source, in one command.

    You should also be careful with doing stuff like installing deb/rpm’s directly from sites, because that’s how you can break your system. Also, I suspect you installed pip packages to the system itself, which can also can break your system.

    Anyway, mesa, a “system” package is definitely more challenging as well, since it needs to be deeply integrated into the system. If you actually need a newer version of it, then the easiest is to just switch to a distro that has a newer version, or if you only need the userspace version, you can use it within a docker container like the one’s offered by distrobox or junest.

    If you were wanting a newer version of an “application”, flatpak would probably be good enough to get it onto your system. “Applications” don’t need to be as integrated with the rest of your system.

    As a rebuttal to your post though, there is a very good reason why Linux does packaging the way it does. Installing a program on Windows is nowhere as simple as it may seem to you.

    You probably have an adblocker, and use a non google search engine, and know your way around sites. But consider the average users actual process of installing a program on Windows. It looks something more like:

    • Search on google for program
    • Click first link. Oh wait, that’s a sponsored link that leads to malware.
    • Click second link. Oh wait, that site is not an ad but also probably malware
    • Navigate through “You’ve got a virus on your PC”
    • Go back to google
    • Find the real link. Click through the ads on that site because of course it has ads.
    • Download the real software

    Of course, to you the process probably takes 15 seconds. But to a real average, non advanced user, this experience is fraught with risks. If they select wrongly, then they get malware on their computer. Compare this to installing software on Linux from a distro’s repos:

    • Open app store / package manager GUI
    • Find program. Click install. Enter password.
    • Don’t think about things like program versions, and just be happy you now have Krita or whatever program you want.

    No risk. No pain. Simple.

    There is a very good reason for older packages in distro repos as well. There are two main reasons:

    The first is stability. Stability vs unstability doesn’t mean anything about system reliability, but is instead about lack of change. I like to say that a stable release distros doesn’t just mean you older packages, it means you get the same system behavior over a period of time. Instead of a constantly changing set of bugs, you deal with the same set.

    I like Arch. I like new packages. I can find workarounds for the current annoying bug this update cycle. But the average user probably doesn’t want to have to deal with that. They probably don’t want to have to deal with the bug of the week, and they would rather just have some predictable bug that stays there for a few years that they already know their way around.

    I remember watching a twitch streamer hit this, actually. They were complaining about new packages, and I pointed out that the reason why older packages are there is to have the same predictable set of bugs, instead of a changing set. They dismissed me, claiming they needed new packages, which is understandable. But then they (an ArchLinux user) immediately encountered an issue with Dolphin (Linux file browser) where the top bar / UI wouldn’t load at all and got really frustrated. I didn’t say anything, but I did laugh to myself and feel vindicated when it happened. Of course, eventually that bug will be fixed. But new ones will come along.

    The second reason, is supply chain security. Debian, and Red Hat Enterprise Linux, where not affected by the XZ utils backdoor, due to having a policy of only doing carefully cherry picked security updates. I won’t go into detail here, but I have another comment about it.

  • Ŝan • 𐑖ƨɤ@piefed.zip
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    2 days ago

    Sounds as if you’re using a Debian based distribution. Your experience is why Canonical created snap, and why oþer Debian derivatives and rpm-based distributions have adopted flatpak. You don’t see eiþer adopted nearly as much outside of deb and rpm.

    Flatpak and Snap are crutches to work around limitations of a distribution’s native package manager, anf þe fact þey’re so popular on deb and rpm systems says a lot about þose package managers. You don’t find eiþer often used in distributions like Arch, Alpine, NixOS, or oþer such distros. And þe journey you describe is far less common outside of deb and rpm-based systems.

    I’m trying really hard to not use adjectives like “bad” and “better”. I believe þe experiences stand stand for þemselves. You want to get out of þat dependency hell loop, try EndeavourOS. You’ll have a different set of problems, but þey may not boþer you as much.

  • Matt The Horwood@lemmy.horwood.cloud
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    3 days ago

    That’s not a Linux problem, that’s a software problem.

    When a version of a distro is cut, they will select the most stable versions of software they bundle. That could well be a year old.

    But if the software vendor only wants to package a snap your out of luck getting an rpm/deb, that’s not something a distro will change.

    I to find it amazing that when some bit of software wants to make a release they could pick any number of options. The distro package manager is there to make sure all the depends are installed, why pick and option that changes thet

  • ∟⊔⊤∦∣≶@lemmy.nz
    link
    fedilink
    English
    arrow-up
    17
    ·
    3 days ago

    I’m never switching from Arch. Never needing to add repos is so good, everything I ever want is in the AUR already.

  • bridgeenjoyer@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    I agree…too many choices isnt always good.

    Very hard to explain to a new user too.

    “Wait , so what’s a snap? This site only has flatpak. Why can’t I change permissions? Oh I need flatseal which is separate ? What is this .deb file? This one says I need to compile from source for my distro…I installed a program but I can’t find it in my program list, where did it go?”

    Etc. Just to install something. Its a little silly.

    • hobata@lemmy.ml
      link
      fedilink
      English
      arrow-up
      8
      ·
      3 days ago

      You mean this one canonical african flavor of it from a hobby cosmonaut?

    • Encephalotrocity@feddit.online
      link
      fedilink
      English
      arrow-up
      4
      ·
      3 days ago

      No joke. My distro hop history was:

      • Mint , but it’s older so… (TBF I could have avoided a lot of grief and just stayed here),
      • Installed Bazzite , nice but my vidcard is so old it’ll be unsupported next release,
      • Tried to install Ubuntu but the installer crashed every time,
      • Debian installed but holy wtf is wrong with the package management. JFC. (it is really bad, skip if you aren’t intimately familiar with Linux),
      • Noped out of that to Fedora where it’s been amazing except for the complete assholes in the support Discord.
      • anamethatisnt@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        Curious what it is about Debian package management you found wrong, except for not having the newest stuff?
        I run Fedora on my gaming station because I needed a newer kernel than Debian Stable has by default but on my other machines Debian has been working well.

        • Encephalotrocity@feddit.online
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 days ago

          I don’t remember the exact details. I’ve been happy on Fedora for long enough all I remember from Debian is not being able to find anything and seeing references to repo’s that don’t apply because I wasn’t on the beta stream.

          ;tldr I went through the trouble of wiping and installing another distro because of the bad vibes it gave me.

  • smiletolerantly@awful.systems
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    3 days ago

    pip and cargo are not intended as (system) package managers. Your target package may of course have dependencies on them, but from the way you described it it sounds like that’s what you attempted?

      • smiletolerantly@awful.systems
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        3 days ago

        This, I assume? https://github.com/frida/frida That is indeed a bit eyebrow-raising. Though they do offer pre-built binaries.

        Also for stuff like this, I can highly recommend the Nix package manager, even if you are not on NixOS. There it would, for example, just be nix run nixpkgs#frida-tools, from any distro.

        But I know you’re not OP. Would actually be interesting what exactly they tried to install.

  • erebion@news.erebion.eu
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 days ago

    This seems more like “more maintainers are needed” rather than “do a better job with package management”.

    Also, on Debian I don’t miss anything, for my use-case, everything is there. Except two tools for Linux phones, one of which I recently packaged as my first Debian package (which just entered testing) and another, which I might package.