What are the best practices to partition a linux system with?

wtry@lemm.ee to Linux@lemmy.ml – 123 points –
59

You are viewing a single comment

One small /boot which is also my EFI system partition.

And a partition for / which covers all the rest of the drive.

Partitioning only limits flexibility. At some time you will regret your choice of partition sizes.

Tbf, you can mitigate this problem by using lvm or btrfs with subvolumes.

I did that years ago and then kept fiddling with the lfs subvolume sizes. I see absolutely no advantages to make things more complicated than needed.

I dan't know if this is still valid but I used to be told to have different partitions for your system, logs and data (home directories) .. and have the swap-partition located in between them. This was to limit the distance the head has to move when reading from your system starts swapping.

But if you use a SSD drive, that is not valid anymore of course :-)

Kr.

Nowadays you don't even need a /boot unless you're doing full disk encryption and I actually recommend keeping /boot on / if you're doing BTRFS root snapshots. Being able to include your kernel images in your snapshots makes rollbacks painlessly easy.

UEFI forum made it a requirement for motherboard constructors (hp, dell, msi...) to make their UEFI implementation to be able to at least read fat(12/16/32) filesystems. That is why you need a fat(12/16/32) partition flagged ESP (efi system partition) for holding your boot files.

So, I dont think you can do that unless you fall back to the old outdated BIOS or you have some *nix filesystem in your uefi implementation which I dont trust.

You're only partially correct. /boot doesn't have to also be your EFI partition. In fact, most distros by default will separate the two, with the EFI partition mounted at /boot/efi and /boot being a separate ext4 based partition. My suggestion is that, if you're running BTRFS, you should merge /boot and / as one partition. You're still free to have a FAT32-based EFI mounted at /boot/efi or better yet /efi.

I use systemd-boot and my mount point is /efi. /efi/EFI/ is where my bootloaders live.

If I rollback to an old enough snapshot, I have to reinstall my kernels from a chroot. It'd be cool if I could get around that.

That is why one small (512Mib) ESP and one BTRFS partition occupying the rest of my drive is my go, I can isolate the root (/), var and home partitions using subvolumes.

Users who distro hope may need a separate /home partition.

Aaaand your server just crashed because of a spammy log. You lost the company $222 million overnight, the database is corrupt, and every 9 minutes the company looses another $1 million.

Good job.

systemd resets the logs when they get big, this isn't the 2000s anymore. But if you want to limit the size of /var/log, any modern filesystem has disk quotas per-directory

3 more...
3 more...