With the new computer and the newer Microsoft Windows updates they have really jam packed their OS with bloat and spyware. That being said I have no idea what I’m doing with Linux, need help with where to start.? What are some general tips? I understand there’s a lot of prebuilt Linux distributions or something what are some first timer friendly ones? Really any help is appreciated because the biggest barrier to entry is the perceived difficulty of actually doing it.
I swear to God this is my biggest gripe with Linux, not being able to choose where stuff gets installed. Like yeah cool I want to have the OS on a SSD but that doesn’t mean I also want my packages to go to it too, the HDD is for that
You could set it up so that your root is on one drive and your home directory is on another
But doesn’t APT or Pacman install to root folders? Like when I say I want just the OS on the SSD I really mean it.
Usually each distro decides which packages go in / and which in /usr based on how critical, more or less, a package is to the system. It’s often not very easy to configure these choices because it affects other distro decisions, including filesystem structure and paths, and boot sequence. Beware that “just the OS” on a typical distribution is usually a lot less functionality than you get with “just” Windows NT.
There’s also /usr/local for packages you install on your own, apart from the distro package manager, and /opt, for closed source binary only packages or for anything else that doesn’t want to conform to the bin, lib, include, share schema.
What are you trying to separate from the OS files? If it’s just personal documents and stuff like that, I don’t see why you can’t just keep those in your home directory. Or are you saying you want your installed programs separate from the Linux kernel? Then you can just put the boot partition on one drive and have the root partition on the other (including home). I guess I’m just a little confused as to what it is you’re trying to separate here. What do you mean when you say “separate from the OS”?
Yeah, they’re installing software.
Everything below / is the OS. There isn’t an analog to C:\Windows in *nix-like operating systems.
The closest thing to a pure separation would be an immutable distro like Silverblue or MicroOS.
@Ozzy @rtxn I just thought of this, could one, create symbolic links that point to /lib (for ex.) to “repoint” the directory a package gets installed to?
Not sure if this would work, but was curious if someone’s attempted it before.
Yeah I was thinking the same thing too, technically if we would recreate the file structure on the second drive, move everything there and set up soft links to those folders instead it might work? I need to try it out in a vm
Take a look at this, might be interesting: https://wiki.archlinux.org/title/Overlay_filesystem
I had no idea this exists and it looks like it might just work, thank you
@Ozzy Exactly what I was thinking. Kind of a PiTA if everyone needed to do that, but maybe an excuse to throw up an open-source script on github for it.
Is that really an issue, though? My entire install is only 38GB (not including swap), and I’ve never even gotten close to filling the root partition.
If you really want to, you could mount the HDD to
/usr
or make symlinks pointing to a directory on the HDD.I am more concerned about the life of the SSD than it filling up. I’d like to minimize the amounts of write operations and since I have a perfectly capable HDD that doesn’t suffer from such a thing I want to offload all of that work.
Also thanks for mentioning mounting, completely forgot about that and it might actually be easier to do
I wouldn’t worry too much about SSD wear. It’s not nearly as big an issue for PCs, and wear balancing can stretch that ~10000-write lifetime to many years, especially if most of the SSD is empty. I bought my oldest SSD around 2015 and it still works perfectly. SMART barely reports any errors.
If you want frequently written files to be on the HDD, start with
/var
,/run
, and~/.cache
. Those files are likely far bigger contributors to wear than anything inside/usr
.