this post was submitted on 17 Dec 2024
22 points (82.4% liked)

Linux

8306 readers
124 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 2 years ago
MODERATORS
 

Part of what's making learning Linux so difficult for me, is the idea of how fragmented it is. You can install programs with sudo apt get (program). You can get programs with snaps. You can get programs with flatpaks. You can install with tar.gz files. You can install with .deb files. You can get programs with .sh files. There's probably more I don't know about.

I don't even know where all these programs are being installed. I haven't learned how to uninstall them yet. And I'm sure that each way has a different way to uninstall too.

So that brings me to my main question. Why not consolidate all this? Sure, files CAN be installed anywhere if you want, but why not make a folder like /home/programs/ where it's assumed that programs would be installed?

On windows the programs can be installed anywhere, but the default is C:/windows/Program Files x86/ or something like that. Now, you can change it all you want when you install the programs. I could install it to C:/Fuckfuckfuck/ if I wanted to. I don't want to, so I leave it alone because C:/Windows/Program Files x86/ is where it's assumed all the files are.

Furthermore, I see no benefit to installing 15 different programs in 7 different folders. I begrudgingly understand why there's so many different installation methods, but I do NOT understand why as a collective community we can't have something like a standardized setting in each distro that you can set 1 place for all your installation files.

Because of the fragmentation of distros, I can understand why we can't have a standardized location across all distros like Windows has. However I DON'T see why we can't have a setting that gets set upon each first boot after installation that tells each future installation which folder to install to.

I would personally pick /Home/Programs/, but maybe you want /root/Jamies Files/ because you're Jamie, and those are your files.

In either case, as we boot up during the install, it would ask us where we want our program files installed. And from then on, no matter what method of install you chose, it would default to whatever your chosen folder was.

Now, you could still install other places too, but you would need to direct that on a per install basis.

So what's the benefit of having programs each installed in seperate locations that are wildly different?

you are viewing a single comment's thread
view the rest of the comments
[–] dsilverz 3 points 4 days ago

.sh files for installation: idk why these are used, they're just annoying. a lot of proprietary software from corpos use them (probably so they can verify dependencies themselves and not trust the system)

GOG (Good Old Games) distributes the games using a .sh file containing all the binaries and assets needed for the game. It's strange to think of, but the binary data coexists with textual shellscript instructions, thanks to the exit instruction (which ensures that the shell won't try to interpret the binary data) alongside some awk/grep/tail wizardry to extract the binary data from the current shellscript.

It's probably because .sh can run in any distro, because every distro has a shell interpreter. Also, they don't need to be compiled (differently from .appimage, for example), it's just a merge of a .sh and a binary archive (possibly .tar.gz).