I’m doing a bunch of AI stuff that needs compiling to try various unrelated apps. I’m making a mess of config files and extras. I’ve been using distrobox and conda. How could I do this better? Chroot? Different user logins for extra home directories? Groups? Most of the packages need access to CUDA and localhost. I would like to keep them out of my main home directory.

  • DryTomatoes@lemmy.world
    link
    fedilink
    arrow-up
    17
    ·
    edit-2
    11 months ago

    I did Linux From Scratch recently and they have a brilliant solution. Here’s the full text but it’s a long read so I’ll briefly explain it. https://www.linuxfromscratch.org/hints/downloads/files/more_control_and_pkg_man.txt

    Basically you make a new user with the name of the package you want to install. Login to that user then compile and install the package.

    Now when you search for files owned by the user with the same name as the package you will find every file that package installed.

    You can document that somewhere or just use the find command when you are ready to remove all files related to the package.

    I didn’t actually do this for my own LFS build so I have no further experience on the matter. I think it will eventually lead to dependency hell when two packages want to install the same file.

    I guess flatpaks are better about keeping libraries separate but I’m not sure if they install random files all over your hard drive the way apt does. (Getting really annoyed about all the crud left in my home dir)

    • FOSS Is Fun@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      11 months ago

      Flatpak apps can be uninstalled without leaving a trace: flatpak uninstall --delete-data com.google.Chrome

      But you might need some global overrides to make all apps write their configuration into ~/.var. Personally I globally revoke apps the permission to access filesystem= host, home, xdg-config, xdg-data.

      That was actually the main reason that made me switch to Flatpak. Previously I used VMs to try out software, but with Flatpak I know that I can get rid of the application completely.

      • DryTomatoes@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        Thanks for the info! I’m definitely gonna look into flatpak.

        I built nodejs from source yesterday and it took forever. I’d definitely prefer something huge like that in a flatpak.