this post was submitted on 13 Nov 2023
92 points (96.0% liked)

Linux

48157 readers
665 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.

you are viewing a single comment's thread
view the rest of the comments
[–] taanegl@beehaw.org 32 points 1 year ago* (last edited 1 year ago) (3 children)

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@slrpnk.net 13 points 1 year ago

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

[–] KiranWells@pawb.social 4 points 1 year ago (1 children)

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@beehaw.org 4 points 1 year ago

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.

[–] seitanic@lemmy.sdf.org 2 points 1 year ago (1 children)

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

[–] Tiuku@sopuli.xyz 1 points 1 year ago* (last edited 1 year ago) (1 children)

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@lemmy.sdf.org 3 points 1 year ago* (last edited 1 year ago)

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.