this post was submitted on 13 Nov 2023
87 points (95.8% liked)

Linux

48052 readers
980 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Heya folks, some people online told me I was doing partitions wrong, but I’ve been doing it this way for years. Since I’ve been doing it for years, I could be doing it in an outdated way, so I thought I should ask.

I have separate partitions for EFI, /, swap, and /home. Am I doing it wrong? Here’s how my partition table looks like:

  • FAT32: EFI
  • BTRFS: /
  • Swap: Swap
  • Ext4: /home

I set it up this way so that if I need to reinstall Linux, I can just overwrite / while preserving /home and just keep working after a new install with very few hiccups. Someone told me there’s no reason to use multiple partitions, but several times I have needed to reinstall the OS (Linux Mint) while preserving /home so this advice makes zero sense for me. But maybe it was just explained to me wrong and I really am doing it in an outdated way. I’d like to read what you say about this though.

top 50 comments
sorted by: hot top controversial new old
[–] Coreidan 40 points 1 year ago (1 children)

Shrug. To me this is like arguing over how to fold your underwear.

[–] MimicJar 18 points 1 year ago (2 children)

Not at all? Just throw it into one big drawer?

[–] [email protected] 11 points 1 year ago

So just the one partition then

[–] [email protected] 4 points 1 year ago (1 children)

Drawer? I keep mine in a bucket straight from the drier!

load more comments (1 replies)
[–] Quazatron 22 points 1 year ago (1 children)

It's fine for most uses.

For server or enterprise cases you want to separate /usr, /var and /tmp to prevent a rogue process from filling the / volume and crashing the machine.

[–] [email protected] 9 points 1 year ago (2 children)

I routinely 100% my root volume accidentally (thanks docker), but my machine has never crashed, it does tend to cause other issues though. Does having a full /usr, /var or /tmp not cause other issues, if not full crashes?

[–] Quazatron 6 points 1 year ago (8 children)

It depends, if your docker installation uses /var, it will surelly help to keep it separated.

For my home systems, I have: UEFI, /boot, /, home, swap.

For my work systems, we additionally have separate /opt, /var, /tmp and /usr.

/usr will only grow when you add more software to your system. /var and /tmp are where applications and services store temporary files, log files and caches, so they can vary wildly depending on what is running. /opt is for third-party stuff, so it depends if you use it or not.

load more comments (8 replies)
[–] [email protected] 6 points 1 year ago (1 children)

Of course it does, it's actually filling those that crashes the machine, not /.

When space runs out it runs out, there's no magical solution. Separating partitions like that is done for other reasons, not to prevent runaway fill: filesystems with special properties, mounting network filesystems remotely etc.

load more comments (1 replies)
[–] [email protected] 16 points 1 year ago* (last edited 1 year ago)

I don't like wasting space or having to predict how much space I'll be using two years from now, so I prefer the minimum of partitions: efi, boot, and system(luks), with a btrfs subvol for /, home, and swapfile.

[–] [email protected] 12 points 1 year ago* (last edited 1 year ago)

What you're doing is perfectly fine.

It is however more of a mitigation for bad distro installers than general good practice. If the distro installers preserved /home, you could keep it all in one partition. Because such "bad" distro installers still exist, it is good practice if you know that you might install such a distro.

If you were installing "manually" and had full control over this, I'd advocate for a single partition because it simplifies storage. Especially with the likes of btrfs you can have multiple storage locations inside one partition with decent separation between them.

[–] [email protected] 11 points 1 year ago (1 children)

All fine though I would recommend you look into lvm, gives you easier control over sizing and resizing, even online.

[–] [email protected] 3 points 1 year ago (1 children)

Isn't it better to use btrfs nowadays?

I'm also old-school lvm person, but I put btrfs in my Gentoo desktop, though I don't actually utilize it at all.

load more comments (1 replies)
[–] [email protected] 9 points 1 year ago

what you're doing is perfectly fine. if it's what your comfortable with, there's no 'need' to change.

[–] Infernal_pizza 8 points 1 year ago (2 children)

Why do you have a btrfs volume and an ext4 volume? I went btrfs and used sub volumes to split up my root and home but I’m not sure if that’s the best way to do it or not

[–] [email protected] 6 points 1 year ago (2 children)

Not OP, but I have the same setup.

I have BTRFS on /, which lives on an SSD and ext4 on an HDD, which is /home. BTRFS can do snapshots, which is very useful in case an update (or my own stupidity) bricks the systems. Meanwhile, /home is filled with junk like cache files, games, etc. which doesn't really make sense to snapshot, but that's, actually, secondary. Spinning rust is slow and BTRFS makes it even worse (at least on my hardware) which, in itself, is enough to avoid using it.

load more comments (2 replies)
[–] [email protected] 3 points 1 year ago (2 children)

I use btrfs for my / because I can use Linux Mint’s Timeshift tool to make snapshots, but I don’t want snapshots of /home to be included. Am I doing this wrong?

[–] [email protected] 8 points 1 year ago (2 children)

You can put your /home on a different BTRFS subvolume and exclude it from being snapshotted.

load more comments (2 replies)
[–] Infernal_pizza 3 points 1 year ago (1 children)

Not sure if that’s wrong or not tbh, I use snapper instead of timeshift and I wanted /home included in the snapshots anyway (I think it let me set them up as 2 separate jobs). The reason I went with subvolumes instead of separate partitions is that I didn’t have to worry about sizing. I also know I can reinstall to my root subvolume without affecting the others, depending on the installer for your distro I don’t know how easy that is vs just having separate partitions. I played around with it in a VM for a while to see what the backup and restore process is like before I actually committed to anything!

[–] [email protected] 3 points 1 year ago

Alright, thanks, I’ll try some experiments the next time I have the opportunity to do so.

[–] [email protected] 8 points 1 year ago (1 children)

That's the standard way. It's how (most) distros partition by default.

[–] [email protected] 4 points 1 year ago (1 children)

Really? Default for Linux Mint has / and /home in one partition. So reinstalling erases /home as well.

[–] [email protected] 6 points 1 year ago

Yes, but afaik, in the installer there is at least the option to select a separate home partition.

[–] [email protected] 7 points 1 year ago (1 children)

You're using it well. Nothing wrong at all.

Butterface excels at keeping data safe-ish or at least lets you know when to throw in the towel, and which bits you've lost. It's also write intensive if you open a file with write permissions, which is harder on your drives.

Btrfs is great for the data you want to keep long term.

Also UEFI has some nice advantages if your computer isn't a dino that can't handle it.

Do what works for you, and keep on keeping on.

[–] [email protected] 7 points 1 year ago

You’re using it well. Nothing wrong at all.

This. Too many partitions for a home system can get pretty stupid pretty quick. But OP has just the right amount of separation between system and data. I've known people that were uncomfortable without breaking /var (or /var/log) off into its own partition, but that's really overkill for a stable, personal system, IMO.

computer isn’t a dino that can’t handle it.

I feel personally called out by this statement!

Seriously, the big one for me, is that I like having drive encryption. It protects my computer and data should it fall into the hands of, say, burglers. I also like turning it up to the elevens simply because I'm a bit TOO paranoid. You really need more than 1GB of ram to do argon2id key derivation, which is what fde is all moving to for unlocking purposes, and BIOS just can't do that. My main workstation is using a powerful, but older mobo with gigabyte's old, horrid faux EFI support.

Another good one for the security-conscientious person is Secure Boot, meaning that you control what kernels and bootloading code is allowed to boot on your computer, preventing Evil Maid-type attacks: https://wiki.ubuntu.com/UEFI/SecureBoot

That's pretty far fetched, but maybe not too out of the question if you, say, work for a bank or accountant.

Of course none of that matters if you don't practice good operational security.

[–] [email protected] 7 points 1 year ago

If you reinstall often a separate /home makes some sense. Otherwise it's probably pointless. I'd try to get to a point where I don't have to reinstall my base OS and invest in an automatic backup solution.

[–] nixcamic 7 points 1 year ago (1 children)

Why would you put home on ext4 instead of btrfs?

[–] [email protected] 4 points 11 months ago (1 children)

I didn't need home folder snapshots.

[–] nixcamic 4 points 11 months ago (3 children)

Btrfs offers a lot more than just snapshots.

load more comments (3 replies)
[–] kalkulat 7 points 1 year ago* (last edited 1 year ago) (5 children)

When I started with Linux, I was happy to learn that I didn't need a bunch of separate partitions, and have installed all-in-one (except for boot of course!) since. Whatever works fine for you (-and- is easiest) is the right way! (What you're doing was once common practice, and serves just as well. No disadvantage in staying with the familiar.)

After I got up to 8GB memory, stopped using swap ... easier on the hard drive -and- the SSD. (I move most data to the HD ... including TimeShift ... except what I use regularly.)

I use Mint as well; for me this keeps things as simple as possible. When I install a new OS version (always with the same XFCE DE) I do put THAT on a new partition (rather than try the upgrade route and risk damaging my daily driver) using the same UserName. A new Home is created within the install partition (does nothing but hold the User folder.)

To keep from having to reconfig -almost everthing- in the new OS all over again I evolved a system. First I verify that the new install boots properly, I then use a Live USB to copy the old User .config file (and the apps and their support folders I keep in user) to the new User folder. Saves hours of reconfiguring most things. The new up-to-date OS mostly resembles and works like the old one ... without the upgrade risks.

load more comments (5 replies)
[–] [email protected] 7 points 1 year ago (1 children)

I set it up this way so that if I need to reinstall Linux, I can just overwrite / while preserving /home and just keep working after a new install with very few hiccups.

Even with a single partition for / and /home you can keep the contents of /home during a reinstall by simple not formatting the partitions again. I know when I tried years ago with Ubuntu years ago the installed asked if I wanted to remove the system folders for you. But even if the installer does not you can delete them manually before hand. Installers wont touch /home contents if you don't format the drive (or any files outside the system folders they care about).

Though I would still backup everything inside /home before any attempt at a reinstall as mistakes do happen no matter what process you decide to go with.

[–] [email protected] 3 points 1 year ago (1 children)

Am I doing something wrong? Not seeing a particular option? I have never seen or experienced what you’re describing.

load more comments (1 replies)
[–] [email protected] 6 points 1 year ago (5 children)

I just use /

I don't think having a swap partition or file would be all that useful because I have plenty of memory. I've never had to reinstall Linux so I'm not sure why I would need a separate home. If I did bork my OS somehow I'm fairly confident I could repair it from a live distro. And even if I did end up having to save my home I could just copy the files I want to another drive if it really came to that.

[–] [email protected] 3 points 1 year ago

I have 64GB RAM and my 64GB swap still gets filled to 60% over time.

It just happens so that apps end up touching some memory once that they never then use again. Better use some SSD for that instead of RAM.

load more comments (4 replies)
[–] mvirts 6 points 1 year ago

This is the way

[–] [email protected] 5 points 1 year ago

They are probably using timeshift or some advanced feature in btrfs to auto-generate snapshots so they can go back to a working state using one of them.

The way you do it is probably getting old. I say this because I do the same, but to use several distros with a shared home partition, provided I have the same GID and UID for the users. This is not recommended but only once I've had a problem and it was easy to solve, so I kept doing it. Installed Fedora recently with defaults in one partition and they use one fat partition (EFI), and one btrfs partition with a logical volume and some unfamiliar partitioning. I think we are maybe missing some new technologies.

[–] [email protected] 4 points 1 year ago

I think that's a pretty common partition layout

load more comments
view more: next ›