One single partition for Linux versus using a partition table?

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.

Presi300,
@Presi300@lemmy.world avatar

I’d use sister partitions for everything but swap, just use zram for swap, it’s faster and doesn’t need it’s own separate partition

mambabasa,
@mambabasa@slrpnk.net avatar

How do I set that up?

elscallr,
@elscallr@lemmy.world avatar

Boot from a live distro so you can modify your boot disk. Use the disk utility to create partitions. Copy the data to the relevant partitions ensuring to maintain file ownership and permissions. Modify /etc/fstab to mount the partitions at the designated locations in the filesystem.

I don’t bother putting anything but /home on its own dedicated partition, but if you ask 10 people this question you’ll get 12 opinions, so just do what feels right.

mambabasa,
@mambabasa@slrpnk.net avatar

Thanks

elscallr,
@elscallr@lemmy.world avatar

Note: Create your partitions from your empty space. You may need to resize your existing partition to do this. But don’t practice on your main drive.

This is a simple job, in that the steps are few, but it’s something that causes catastrophic data loss if you get it wrong.

I’d recommend buying a cheap second drive, doesn’t have to be big or even good. Partition it, mount it, make sure you can make the partitions automatically mount, teach yourself to copy data around, umount it and remount, make sure you got it right.

Just… these are all very simple things. I wouldn’t hesitate to repartition my own drives. But if you fuck it up you fuck it up good. Make sure you know the operations you’re taking first. Measure twice, cut once, all that jazz.

nixcamic,

Why would you put home on ext4 instead of btrfs?

mambabasa,
@mambabasa@slrpnk.net avatar

I didn’t need home folder snapshots.

nixcamic,

Btrfs offers a lot more than just snapshots.

mambabasa,
@mambabasa@slrpnk.net avatar

Like what?

nixcamic,

Data integrity protection, higher resiliency, less chance of being corrupted, etc.

mambabasa,
@mambabasa@slrpnk.net avatar

But I heard ext4 was more stable. What are the trade offs?

selokichtli,

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.

avidamoeba,
@avidamoeba@lemmy.ca avatar

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.

Kindness,

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.

chunkyhairball,

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: 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.

phoenixz,

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

msage,

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.

phoenixz,

Yes and no

Btrfs is awesome and awful at the same time, and it’s a complicated story. It was rather ill-defined at the beginning and took a LONG time to get anywhere.

Don’t get me wrong though, it’s a pretty awesome filesystem right now and I use it for all my storage drives. Having said that, i still use ext4 with lvm on my system drives and evenrnmy btrfs drives have lvm under them

Atemu,
@Atemu@lemmy.ml avatar

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.

mvirts,

This is the way

lurch,

Except for EFI/swap, partitions nowadays only make sense if you want to force a hard cap on a directory, e.g. /tmp, /var/mail or /var/spool to make sure one function of a system doesn’t break the others when it goes out of hand, but there’s also quotas for that. It always sucks if you have to resize, so it’s probably best to have as few as possible.

pastermil,

I use btrfs subvols to keep my stuff separate without any sort of hard limit.

The reason? Makes managing system backups easier. The home and log directories are both on separate subvol; the tmp directories are on tmpfs. All I need to do is snapshpt the root subvol.

Infiltrated_ad8271, (edited )
Infiltrated_ad8271 avatar

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.

Coreidan,

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

MimicJar,

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

pastermil,

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

Patch,

You dry them?

bartolomeo,

So just the one partition then

ares35,
ares35 avatar

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

nous,

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.

mambabasa,
@mambabasa@slrpnk.net avatar

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

nous,

There was no option per say, at least on the ubuntu installed I tried many years ago. Just a popup that happened sometime before the install but after the manual partitioning if the root partition had folders like /etc /usr /var etc that were needed by the installer. Not sure if all installers do this - but I would suspect if they didnt you can just delete the folders manually before you enter the installer and pick manual partitioning option and opt to not format any partitions.

Floey,

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.

HamsterRage,

In this case you could view a swap partition as a safety net. Put 20-30GB in a swap partition in case something goes wrong. You won’t miss the disk space.

Jumuta,

why not zram as a safety net?

flux,

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.

Patch,

I’ve never understood why people run without swap. There’s basically no downside to having it. If you’re running a high spec, high RAM machine you probably also have a big SSD/HDD and are very unlikely to be squeezing it to the last GB (and if you are you should probably look into upgrading that). And if you’re on a machine with very limited SSD/HDD capacity, you’re probably not in an “ample RAM” situation anyway.

Even on high RAM systems, a few GB of swap can enable better caching and more graceful memory management. But heck, even if the thing sits there like an 8GB lump of nothing, were you really going to miss that last 8GB?

Floey,

I have 64GB of RAM and 8GB of VRAM, I only have a TB of storage. The only time I’ve ever filled up my RAM is due to memory leak.

taanegl, (edited )

Well technically, if you’re using BTRFS, you might want to check out subvolumes. Here’s my subvolume setup:

  • Subvolume 1, named @ (root subvol)
  • Subvolume 2, named @home (/home subvol)
  • Subvolume 3, named @srv (/srv subvol)
  • Subvolume 4, named @opt (/opt subvol)
  • Subvolume 5, named @swap (which is - you guessed it - the swap subvol)

You then set up fstab to reflect each of the subvolumes, using the subvol= option. Here’s the kicker: they are all in one partition. Yes, even the swap. Though caveat, swap still has to be a swapfile, but in its own separate subvolume. Don’t ask me why, it’s just the way to do it.

The great thing about subvolumes is that it doesn’t do any size provisioning, unless specified by the user. All subvolumes share the space available within the partition. This means you won’t have to do any soul searching when setting up the partitions regarding use of space.

This also means that if I want to nuke and pave, I only need run a BTRFS command on my @ subvolume (which contains /usr, /share, /bin), because it won’t be touching the contents of @home, @srv, or @opt. What’s extra cool here is that I’ll lose 0% FS metadata or permission setup, since you’re technically just disassociating some blocks from a subvolume. You’re not really “formatting”… which is neat as hell.

The only extra partitions I have is the EFI partition and an EXT4 partition for the /boot folder since I use LUKS2.

mambabasa,
@mambabasa@slrpnk.net avatar

Thanks I think this is the answer I was looking for!

seitanic,

How does that work with you’re installing a new system? Do the subvolumes just show up like partitions?

Tiuku,

In tools like lsblk? Nope. They appear as directories, usually in the top-level subvolume, which typically isn’t mounted anywhere in the system.

Then you just create mount entries in /etc/fstab just like you would with partitions, this time just using the subvol= option as mentioned above. I don’t know if there are any installers that do this for you. Archwiki – as usual – has good documentation on this.

seitanic,

So, it doesn’t sound like it would be useful for me, since the reason why I have separate partitions in the first place is so that I can re-install a distro or install a new distro without having to back up /home first.

KiranWells,
@KiranWells@pawb.social avatar

Have you had any luck with hibernation with a BTRFS swapfile? My computer still does not start from hibernation, and I am not sure why, even though I followed the Arch wiki to set it up.

taanegl,

Can’t say I have. Haven’t used hibernation mode for years even. Sleep mode is just too good nowadays for me to use it, so I guess we could chalk that up to a fault of the setup.

According to ReadTheDocs (BTRFS, swapfile) it’s possible under certain circumstances, but requires the 6.1 kernel to do it in a relatively easy way.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • tacticalgear
  • DreamBathrooms
  • cisconetworking
  • magazineikmin
  • InstantRegret
  • Durango
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • mdbf
  • khanakhh
  • kavyap
  • everett
  • megavids
  • modclub
  • Leos
  • cubers
  • ngwrru68w68
  • ethstaker
  • osvaldo12
  • GTA5RPClips
  • anitta
  • provamag3
  • normalnudes
  • tester
  • JUstTest
  • lostlight
  • All magazines