Моя схема разметки диска для Ubuntu

Прежде чем погружаться в детали разметки, новичкам рекомендую ознакомиться с основами файловой системы Linux – это поможет лучше понять логику моих мыслей.[1]

Существуют общие рекомендации по разметке диска для Ubuntu.[2]

  1. Базовый уровень: можно разместить всю систему в одном разделе.
  2. Продвинутый уровень: можно разделить дисковое пространство на несколько независимых томов.

Я перешел на Linux с Windows в 2014 году из-за нативной среды для веб-разработки. Для меня было важно обеспечить сохранность данных при переустановке системы. С тех пор моя схема разметки принципиально не менялась, за исключением уменьшения объемов системных томов.

Моя текущая схема разметки

Вот как выглядит разметка моего диска NVMe:

$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT | grep nvme
nvme0n1                477G 
├─nvme0n1p1 vfat        94M /boot/efi
├─nvme0n1p2 swap      14.9G [SWAP]
├─nvme0n1p3 ext4      28.6G /
└─nvme0n1p4 ext4     433.3G /home

Обоснование выбранной схемы

1. /boot/efi (94 Mb)

Этот раздел необходим для загрузки системы в режиме UEFI.[3] Обычно рекомендуют выделять 250–512 Mb, но так как я не использую dual-boot, мне хватает 100 Mb. На данный момент раздел занят примерно на 6 Mb (6%).

2. swap (14.9 Gb)

Я выделил под swap объем, равный оперативной памяти (16 Gb), поскольку использую гибернацию. Хотя реально у меня для гибернации используется около 6 Gb, я руководствовался официальными рекомендациями Ubuntu.[4]

3. / (28.6 Gb)

Я выделил под корневой раздел всего 30 Gb. Современный Ubuntu + GUI у меня занимает около 15 Gb. Запас в 15 Gb я оставил для обновлений системы, кеша, временных файлов и т.д. Важно отметить, что я не использую Snap, Flatpak и тяжелые SDK. Раздел действительно небольшой, но при грамотном подходе его использование легко контролировать. Если вы не уверены, лучше выделите от 40 Gb и больше.

4. /home (433.3 Gb)

Под /home отведено все оставшееся пространство. Здесь есть важный нюанс: я, как веб-разработчик, использую Docker и выношу его данные из /var/lib/docker в домашний раздел. Аналогично поступаю с образами VirtualBox, проектами и личными файлами. Однажды я рассматривал возможность использования LVM (Logical Volume Manager)[5] для более гибкого управления разделами (например, для Docker), но из-за простоты конфигурации моего ноутбука (один SSD) решил, что это избыточно.

Вот такая схема разметки уже много лет работает для меня стабильно. Она проста, эффективна и решает мои основные задачи: безопасность данных и удобство при переустановке системы.

Источники

  1. Filesystem Hierarchy Standard (FHS)
  2. Ubuntu Disk Space
  3. EFIBootLoaders
  4. SwapFaq
  5. LVM