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?
If you delete a program from the Programs folder, does it get uninstalled from the system? Nope. You have to go drag the registry and delete any mentions. You have to go looking for shortcuts and delete all those in multiple locations. If you go to the control panel -> add/remove programs, that works decently, but it’s not guaranteed. It’s been a couple decades since I’ve used windows regularly, but there were all kinds of folders, appdata roaming and that’s just what I remember having to go dig through because there is no real standard for anything. That doesn’t even get into system files and dlls.
There are package managers for Windows too. Choclatey is something I have seen in README.md files for various install instructions.
The Unix-like install locations are for organization. Goes back to Unix-like server oses. Linux is Unix-like as well. Linux doesn’t have a registry to keep track of all the locations for all the files and configurations for each program, so organized locations where the system can expect to find specific things is how it’s done. I much prefer the organized file structure, digging through the registry where there is only the minimal organization was something I always hated.