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.

kalkulat,
@kalkulat@lemmy.world avatar

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.

mambabasa,
@mambabasa@slrpnk.net avatar

In my next reinstall, can I combine the / and swap partitions (they’re next to each other so I can do this) and will swap files just be automatically created instead?

lemmyvore,

They won’t be automatically created but you can create your own swap file on /, no need for a dedicated partition:

  • Use dd to create a file filled with zeros of appropriate size.
  • Format the file with mkswap.
  • Activate the swap file instantly with swapon.
  • Add it to /etc/fstab so it will be automatically used on reboot.

Appropriate size will vary but I suggest starting with something like 100 MB and check once in a while to see how much is actually used. If it fills up you can replace it with a larger swap file or you can simply create another one and use it alongside the first.

mambabasa,
@mambabasa@slrpnk.net avatar

Thanks!

rotopenguin,
@rotopenguin@infosec.pub avatar

Btrfs has some extra demands for its swap file, so the tool has its own “btrfs filesystem makeswapfile” command.

520,

You can use a swap file in your main partition, but most installers won't set this up for you. You'll want to follow this guide after installation: https://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/

Infernal_pizza,
@Infernal_pizza@lemmy.world avatar

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

mambabasa,
@mambabasa@slrpnk.net avatar

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?

S410,
@S410@kbin.social avatar

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

mambabasa,
@mambabasa@slrpnk.net avatar

How about when I reinstall the OS? Will it only affect the / and not touch the /home?

S410,
@S410@kbin.social avatar

As long as you don't re-format the partition. Not all installers are created equal, so it might be more complicated to re-install the OS without wiping the partition entirely. Or it might be just fine. I don't really install linux often enough to know that. ¯_(ツ)_/¯

Infernal_pizza,
@Infernal_pizza@lemmy.world avatar

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!

mambabasa,
@mambabasa@slrpnk.net avatar

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

S410,
@S410@kbin.social avatar

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.

d_k_bo,

HDD, which is /home

Spinning rust is slow

Have you tried to either

  1. put /home on the SSD and only larger subdirectories on the HDD
  2. set eg. XDG_CONFIG_HOME, XDG_CACHE_HOME etc. to a location on the SSD (to improve program startup time)

I have no direct comparison, but I can imagine that this could reduce the performance impact of your HDD.

S410,
@S410@kbin.social avatar

I have a 120 gig SSD. The system takes up around 60 gigs + BTRFS snapshots and its overhead. A have around 15 gigs of wiggle room, on average. Trying to squeeze some /home stuff in there doesn't really seem that reasonable, to be honest.

Quazatron,
@Quazatron@lemmy.world avatar

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.

CameronDev,

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?

lemmyvore,

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.

CameronDev,

Thats what i thought as well tbh. But it sounded like they knew something else.

Quazatron,
@Quazatron@lemmy.world avatar

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.

CameronDev,

Managing all that seems like a lot of effort, and given my disk issues havent yet been fatal, ill probably not worry about going that far. Thanks for the info though.

Quazatron,
@Quazatron@lemmy.world avatar

No effort at al. You define them once at install time and that’s it.

For added flexibility you can use LVM volumes instead of partitions, they make resizing operations a thing of joy.

BTRFS also has something like subvols baked in, but I haven’t looked into it.

CameronDev,

Getting the size wrong and needing to resize is the effort part for me. Resizing/moving my partitions is always a pain.

Quazatron,
@Quazatron@lemmy.world avatar

Once you learn about LVM, you’ll never use a naked partition again. Or your money back.

CameronDev,

Last time i used LVM was way back in fedora 8 days, when it was the default partition. It was super annoying to use, as gparted didnt support it, and live cds often had trouble with it. Having to read doco to resize it was pretty not good for a newbie to linux. Has it improved since?

Quazatron,
@Quazatron@lemmy.world avatar

LVM does have a bit of a learning curve, but once you’re over it, you realise how dumb it is to keep partitioning disks like it’s 1995.

Most if not all graphical disk managers now work with LVM.

CameronDev,

Thats good to know, thank you for that info, I might look into it next time i have to reinstall.

idiocy,

Thanks for your consultation about lvm.

I’ll take a look.

Illecors,

It’s not wrong, as such, but simply not right. Since you’re using btrfs, having a separate partition for home makes little sense. I, personally, also prefer using a swapfile to a swap partition, but that’s potato/potato.

mambabasa,
@mambabasa@slrpnk.net avatar

Alright, but actually I don’t think I’m maximizing my use of btrfs. I only use btrfs because of its compatibility with Linux Mint’s Timeshift tool. Would you be implying if I used btrfs for the whole partition, I can reinstall / without overwriting /home?

Illecors,

BTRFS has a concept called a subvolume. You are allowed to mount it just like any other device. This is an example /etc/fstab I’ve copied from somewhere some time ago.


<span style="color:#323232;">UUID=49DD-6B6F                                  /efi            vfat    defaults        0 2
</span><span style="color:#323232;">UUID=701c73d7-58b5-4f90-b205-0bb56a8f1d96       /               btrfs   subvol=@root    0 0
</span><span style="color:#323232;">UUID=701c73d7-58b5-4f90-b205-0bb56a8f1d96       /home           btrfs   subvol=@home    0 0
</span><span style="color:#323232;">UUID=701c73d7-58b5-4f90-b205-0bb56a8f1d96       /opt            btrfs   subvol=@opt     0 0
</span><span style="color:#323232;">UUID=701c73d7-58b5-4f90-b205-0bb56a8f1d96       /srv            btrfs   subvol=@srv     0 0
</span><span style="color:#323232;">UUID=701c73d7-58b5-4f90-b205-0bb56a8f1d96       /var            btrfs   subvol=@var     0 0
</span>

/efi (or /boot, or /boot/efi, whatever floats your boat) still has to be a separate vfat partition, but all the other mounts are, technically speaking, the same partition mounted many times with a different subvolume set as the target.

Obviously, you don’t need to have all of them separated like this, but it allows you to fine tune the parts of system that do get snapshot.

mambabasa,
@mambabasa@slrpnk.net avatar

How about when I need to reinstall the OS? Will overwriting / not touch /home like with my current set up?

Illecors,

I don’t know how mint installer works, but ideally you’re never really writing to / of the filesystem to begin with. You always do a subvolume and manipulate that.

mambabasa,
@mambabasa@slrpnk.net avatar

Also, if I don’t indicate a swap partition during install, would the OS use swap files automatically?

Illecors,

I don’t know, haven’t used Mint in a decade. It’s not difficult to set it up, though.

kalkulat,
@kalkulat@lemmy.world avatar

I think the last time I installed Mint (21.2) it DID create a swapfile. Don’t use it, so commented that out in /ETC/FSTAB.

mambabasa,
@mambabasa@slrpnk.net avatar

Thanks!

backhdlp,
@backhdlp@lemmy.blahaj.zone avatar

I think that’s a pretty common partition layout

KISSmyOS,

It’s a good way to do it for your use case.

It’s not outdated, just less necessary now. With SSD’s, you can just copy your /home back from your daily backup after reinstallation, which takes all of 5 minutes.

mambabasa,
@mambabasa@slrpnk.net avatar

is this daily backup in-built in SSDs or is that a manual thing?

KISSmyOS,

OpenSUSE (and probably some other distros) have it built-in, you just have to activate it. If yours doesn’t, you have to install a program that does it or configure one manually.

mambabasa,
@mambabasa@slrpnk.net avatar

I have daily backups for brtfs but for my / only via Linux Mint’s Timeshift. I do manual backups for some of my home folders every week. I take it the backups you mention would be lost over a reinstall?

KISSmyOS,

A backup is only a backup if it’s not connected to the computer (ideally in a different building), so it wouldn’t be lost with a reinstall.

mambabasa,
@mambabasa@slrpnk.net avatar

Makes sense, thanks.

Successful_Try543,

No, but we all always do daily backups 😇.

KISSmyOS,

Ah yes, somewhere in this drawer I probably have a couple of daily backups from 2017.

taladar,

How long that takes depends entirely on the size of your home, the number of files in there and how you store your backups.Not everyone has tiny home directories.

KISSmyOS,

If your home is smaller than 2TB, it’s not an issue.
And if it’s larger than 2TB, then why the hell is all that data on your /home SSD and not a separate HDD, NAS or file server?

moody,

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

mambabasa,
@mambabasa@slrpnk.net avatar

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

Successful_Try543,

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

SNFi,

I think they did that because of old disks, avoid fragmentation and if one partitions is corrupted you can always recover the important files on /home and things like that, not sure neither. 🫤

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • [email protected]
  • aaaaaaacccccccce
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • oklahoma
  • Socialism
  • KbinCafe
  • TheResearchGuardian
  • SuperSentai
  • feritale
  • KamenRider
  • All magazines