this post was submitted on 05 Mar 2024
92 points (87.7% liked)

Linux

48364 readers
1372 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
you are viewing a single comment's thread
view the rest of the comments
[–] atzanteol@sh.itjust.works 45 points 8 months ago* (last edited 8 months ago)

A lot of the reasons for disk partition are pretty legacy.

/boot was/is often a separate partition because the boot loaders may not support all filesystems. So if you wanted to use LVM, reiserfs, zfs, etc. for your root directory or have a RAID root then you may have a separate partition for /boot. Especially on older systems where grub/lilo only supported ext file systems. On modern systems there is likely to be a /boot/efi partition for UEFI (it only supports vfat I think?).

/home is often handy to keep separate since you can more easily re-format everything except your home drive. Make distro-hopping a bit easier.

The other reasons are more focused on server-usage rather than home-usage. Things like mounting /tmp on a separate FS so that users couldn't fill up disk space that would block other users from working in their home directory. Or /usr/local being an NFS mount to provide centralized applications.

These days the actual on-disk partitions don't matter as much due to LVM, ZFS and BTRFS. You can now slice and dice your disks however you like and even change things on the fly. I only ever create 1 disk partition anymore (2 if I need a separate /boot or /boot/efi) and then handle the rest in the filesystems or LVM.

With these higher-level partitioning the benefits are more around snapshotting and backups. You can snapshot your /home partition easily with btrfs before making major changes. Or you can copy a zfs partition to a remote server for backup. Things like the immutable distros and proxmox use this functionality a lot since a) partitions in these tools are cheap and b) it's easier to do these things at the partition-level.

Edit: Fun fact: Linux ext* filesystems have the capability to reserve a certain percentage of disk space only for the root user. Useful on a multi-user system where you don't want users filling up all the disk space and blocking the root user from logging in to clean it all up. It used to save something like 5-10% by default but I don't know if that's the case anymore. You can see if it's being done with tune2fs -l <device>.