Is there anything obviously wrong or bad about the idea to just use whatever distro you like on bare metal. Like rolling release to get the fastest updates or immutable to make it rock solid. And then just use distrobox or toolbx with Debian and maybe Arch to run software your base distro does not provide?

I run Fedora right now but want to switch to something else. I was thinking about Tumbleweed a lot but there is quite a big portion of software which does not ship on Tumbleweed. (Theoretically you could download the .rpm file which quite a few developers provide on and install it on Tumbleweed too? But I am not 100% sure about that so please correct me about that if I’m wrong.) So I thought about Nix but the drama around that distro made me loose interest. Obviously Arch is also an idea but I don’t like my base OS to be a project itself so I’d rather not use it for now.

And yes I thought about installing homebrew or nixpkg or pixi or whatever the name of the next new package manager is. But nearly all of them are only installable by executing a script and I don’t feel comfortable doing that. Would it be safer to run scripts like that in a distrobox/toolbx?

So yeah, my initial question was wether it is viable to just choose any distro and get along with distrobox to get your software from the AUR or through .deb packages. But the question developed if it would be wise to use distrobox to execute random internet scripts without altering your base OS/putting your data to risk.

  • LeFantome@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    7 hours ago

    Distrobox changed the way I use Linux. I cannot imagine going back.

    First, you are exactly right that it allows you to separate app repo from the rest of what you live about a distro.

    I use an Arch Distrobox with every machine. Using Chimera Linux that uses MUSL, Clang, libc++, and BSD userland? Install anything from the Arch repos or AUR in seconds.

    But it is not just package repo size. Using an app that targets RHEL? Install it from a RHEL Distrobox.

    Doing dev for a project whose users are Ubuntu people? Build it in an Ubuntu Distrobox.

    Want to try something and do not want it to mess up your system? Do it in a Distrobox.

    Need some software for a class that will just be cluttering up your system after? Make a Distrobox for that class.

    I have a .NET Distrobox. I have a Java Distrobox. Just not having to update the IDE and frameworks all the time is a huge win.

    Mature application that I use every day that I do not want to change or break on me? Install from a Debian Distrobox.

    Rapidly developing app where I want the latest for features and fixes? Install from an Arch Distrobox.

    Tools you like that only Mint offers? Install a Mint Distrobox.

    Distrobox is the greatest.

  • sga@piefed.social
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 hours ago

    distrobox is pretty cool. I do not use it right now, but i have used it and it worked fine.

    Is there anything obviously wrong or bad about the idea to just use whatever distro you like on bare metal.

    no. go with anything that gives you recent-ish updates plus security stuff (most good distros satisfy both).

    I run Fedora right now but want to switch to something else.

    any reason why do you want to do that. just trying out or any problems. fedora to me seems like a nice distro already. If there is any problem, maybe we can help.

    Theoretically you could download the .rpm file which quite a few developers provide on and install it on Tumbleweed too?

    It can work, but most likely it will not. to put it simply - most linux packages are effectively very fancy zip files. they use different containers and different compression algorithms. some (for example arch packages) are just zip files (or tarballs to be precise), and metadata is to be handled by separate files downloaded by pacman, hence you would not see people packaging anything for arch (you dont have to do anything). some others (for example debian deb packages) are zip file contaiing 3 other zip files. one of them is the package it self, other being metadata stuff (which have information of requirements, file lists, etc.). RPM packages are similar.

    While suse also uses the same rpm packaging format, there is no guarantee that package requirements are packaged same way in suse as fedora. If a package does not have many dependencies, it will likely work, but I would still not recommend it.

    But nearly all of them are only installable by executing a script and I don’t feel comfortable doing that.

    there is a reason for that. they want something that works across distros and setups. also this way, they know how and where they installed theemselves, and after installation, they can manage themselves.

    but for these programs, I would not worry much (the ones you listed are big projects, and trusted, and you just do this once). but more importantly - these install scripts are often very simple. effectively they just download some file from server (something like github release) and then extract to some desired location. other things they do include specific setup quirks management. What I mean is that these are simple enough, that I recommend just downloading the script and reading it. if it is not downloading anything unknown, it is fine. if it is not very readable, then that is a bad sign.

    But the question developed if it would be wise to use distrobox to execute random internet scripts without altering your base OS/putting your data to risk.

    no. things can escape containers. just try to not run scripts.

  • dotslashme@infosec.pub
    link
    fedilink
    English
    arrow-up
    2
    ·
    14 hours ago

    I run a pretty barebone Archlinux with several distroboxes. My main motivation for this setup is that I work on a lot of different projects that all have very different setups. Running them in distroboxes make sure I can just drop the box, once the project is finished, and all code and data is just wiped, without having any impact on my main setup.

  • TimLovesTech@badatbeing.social
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    Just go CachyOS if you can’t be bothered with Arch proper. Running an insecure container layer that brings another whole distro so you can run an app is weird when flatpaks exist for this purpose, and are much better suited for this. Seems like you’re creating a “problem” that doesn’t exist and then coming up with the most complicated way to solve this made up “problem”.

    • LeFantome@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      7 hours ago

      Distrobox solves a great many problems. I use it in Cachy all the time.

      Also, I am not sure what security Podman under Distrobox is making worse. Got an example?

      You are suggesting Flatpaks for security? Um. Ok.

      And how is calling the entire Freedesktop platform just to run an app better than the much more limited dependencies that Distrobox will pull in? And, if I already use Podman, Flatpak is a lot of extra complexity compared to Distrobox.

      • TimLovesTech@badatbeing.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 hours ago

        Also, I am not sure what security Podman under Distrobox is making worse. Got an example?

        From the site …

        Security implications

        Isolation and sandboxing are not the main aims of the project, on the contrary it aims to tightly integrate the container with the host. The container will have complete access to your home, pen drive, and so on, so do not expect it to be highly sandboxed like a plain docker/podman container or a Flatpak.

        You are suggesting Flatpaks for security? Um. Ok.

        OP said …

        But the question developed if it would be wise to use distrobox to execute random internet scripts without altering your base OS/putting your data to risk.

        I was suggesting a Flatpak from a supported project over a random package from wherever being run as root on their box, yes.

        And how is calling the entire Freedesktop platform just to run an app better than the much more limited dependencies that Distrobox will pull in? And, if I already use Podman, Flatpak is a lot of extra complexity compared to Distrobox.

        And I just don’t see why I would install another insecure layer that is just going to use Docker/Podman, why not just install Docker/Podman and be done. And for a desktop app installing a Flatpak seems like a better tool than a pod/docker container if you can’t get a native package.

    • theorangeninja@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      21 hours ago

      But take signal for example, they only provide a .deb package. The flatpak and the AUR package are only community packaged. And how are flatpaks better suited for this?

  • jimmux@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    1 day ago

    This sounds a lot like the Universal Blue distros. They even have homebrew installed by default. If you’re already using Fedora it would be a pretty easy transition.

  • frongt@lemmy.zip
    link
    fedilink
    arrow-up
    5
    ·
    2 days ago

    What software? I’ve never found the need for distrobox; any software usually has a package or tarball.

    • theorangeninja@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      22 hours ago

      For example signal only provides a .deb package for Linux. And I must admit I never understood how to handle a “generic” linux package/tarball. Maybe I should dig into that one day.

  • illusionist@lemmy.zip
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    I switched from fedora to silverblue to now aeon (opensuse) and I use a tumbleweed and fedora distrobox. It’s almost exactly like silverblue.

    Yes, you can choose any distro. But remember that a big part of a distro is the default software and settings. Choose one which fits your likings. I wouldn’t use debian or ubuntu. I like podman, selinux, etc. But anyone has different needs.

    Since distrobox, the base distro matters less and less.

    • theorangeninja@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      22 hours ago

      Because you mentioned it, what exactly is selinux? I saw it a few times on fedora but never really understood what it’s useful for.

      • illusionist@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        3 hours ago

        It’s for permission management. Usually the user does not see it really.

        Basically, if a hacker gains access to something, selinux secures your system by limiting the scope the attacker can gain.

        Ubuntu uses apparmor.

        I’m not deep in both topics to judge which one is actually better. I am just used to selinux and it’s good. I remember that peoplr claimed apparmor to be easy and selinux to be difficult to handle but I can’t confirm that. For my podman containers I simply add “:Z” to the paths which the container shall have access to and I know that it can’t gain access to any other location because of this Z and selinux. If I have to debug selinux, I run sudo setenforce 0 and if it then works, I can look deeper into it.

  • Oinks@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    17 hours ago

    Theoretically you could download the .rpm file which quite a few developers provide on and install it on Tumbleweed too? But I am not 100% sure about that so please correct me about that if I’m wrong.

    Yeah that’s not going to work in the general case. A trivial RPM package might be fine but every additional dependency increases the chance that it depends on some package that OpenSUSE doesn’t know. There’s a reason OpenSUSE is usually considered an independent distro and not a “Fedora-based” one despite some shared components.

    I don’t think security wise there’s much of a difference between running random software directly or via distrobox. Note that distrobox mounts your entire home directory into its containers, which removes any security benefit that containers could theoretically bring. In both cases you either need to audit the software yourself or you need to trust whoever you’re downloading the software from.

    Out of the third party repositories you mentioned, I would personally consider Nixpkgs the most trustworthy because package specs are actually code reviewed, unlike the AUR into which anyone can publish packages with zero oversight. That doesn’t mean it’s impossible for Nixpkgs to end up with malware in it, but the AUR sets a low bar. Using Nix (not NixOS) is also not actually that hard, you can just run nix-env -iA nixpkgs.yazi and it does exactly what you would expect, even if NixOS users would scoff at the “imperativity”.

    That being said, the OpenSUSE repositories really aren’t that bad. Especially if you combine them with Flatpak, and especially if you install Firefox and VLC (or equivalents of your choice) from Flatpak so you don’t need proprietary codecs in your base system. I used OpenSUSE Tumbleweed for years and got by just fine without Nix, homebrew or distrobox.

    • prole@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      2
      ·
      20 hours ago

      Note that distrobox mounts your entire home directory into its containers, which removes any security benefit that containers could theoretically bring

      I think you can change this if you really want to

    • theorangeninja@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      22 hours ago

      Thank you very much for correcting me about the RPM issue!

      I don’t think security wise there’s much of a difference between running random software directly or via distrobox. Note that distrobox mounts your entire home directory into its containers, which removes any security benefit that containers could theoretically bring.

      True, I forgot that distrobox mounts the entire home directory.

      Using Nix (not NixOS) is also not actually that hard, you can just run nix-env -iA nixpkgs.yazi and it does exactly what you would expect, even if NixOS users would scoff at the “imperativity”.

      But that still leaves the question: How to install Nix in the first place? Without just running the script. Another question: This command just runs the software once without actually installing it right?

      That being said, the OpenSUSE repositories really aren’t that bad. Especially if you combine them with Flatpak, and especially if you install Firefox and VLC (or equivalents of your choice) from Flatpak so you don’t need proprietary codecs in your base system. I used OpenSUSE Tumbleweed for years and got by just fine without Nix, homebrew or distrobox.

      Awesome, thank you very much! I really should just try it out for a while!

      • Oinks@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        17 hours ago

        But that still leaves the question: How to install Nix in the first place? Without just running the script.

        You can download tarballs with the precompiled Nix, though you’ll still need to run an install script (but you can at least read it to convince yourself it’s not malicious), see the relevant documentation for that.

        Something that slipped my mind is that since OpenSUSE uses SELinux now, that means the recommended multi-user mode won’t work. Single-user mode should be fine afaik, but it’s a bit less convenient.

        This command just runs the software once without actually installing it right?

        The nix-env -iA does actually install the software locally, not completely unlike how a zypper in would. For running a program without installing you would use something like nix-shell -p yazi --command yazi. Of course that still downloads and “installs” the program, it just won’t add it to your PATH or create a GC root, which means the next time Nix does “garbage collection” it will be removed again.

        And yeah I would recommend just trying OpenSUSE out and then if you realize you actually really do need stuff from third party package managers, then you can worry about whether getting into Nix is a good idea or not. Or fall back to the Arch/AUR in distrobox idea which is probably simpler to do overall, especially since from what I understand that’s what you’re supposed to do on the immutable spins like Aeon.

        Late edit: I’ll also note that there are several OpenSUSE specific third party repos too. Packman has some proprietary codecs that OpenSUSE doesn’t want to ship (in case you really don’t want your browser to be a Flatpak), and the Open Build Service (OBS) which is basically the AUR for OpenSUSE. They’re not as useful because they’re nowhere near the size of the AUR, but if you just need one specific package (perhaps one with questionable legality like yt-dlp or something) they might just have it. And of course you can also build stuff from source and put it in your ~/.local/bin, which has been common practice since before Linux was able to run on real hardware.