Введение
Стандартный Debian Installer при установке системы на выбранный раздел BTRFS создаёт один подраздел @rootfs, при такой разметке программы типа Timeshift или Snapper не будут работать. Эта статья описывает, как выполнить установку, чтобы исправить данную проблему.
Если коротко: вручную создаём канонические subvolume @ для корня и @home для домашних каталогов, а затем прописываем их в /target/etc/fstab. В результате получается разметка, пригодная для снапшотов из коробки.
Подготовка
Понадобится подготовленный накопитель с загрузочным образом Debian или Astra Linux. Подойдёт Netinstall. Установка может производиться только в ручном Экспертном режиме, так как Debian Installer не имеет функционала для редактирования подтомов BTRFS.
ВАЖНО! При установке Astra Linux при загрузке в GRUB требуется указать параметр ядра priority=low, в противном случае инсталлятор автоматически начнёт установку базовой системы сразу после разметки диска.
Установка
Установка системы выполняется в Экспертном режиме со стандартным выбором параметров до момента разметки диска.
В пункте установки «Разметка дисков» создайте 2 раздела:
- EFI (FAT32 или EXT2) с точкой монтирования
/boot/efi~ 500 МБ (рекомендуемый размер) - BTRFS с точкой монтирования
/— всё остальное место.
Когда разделы будут созданы и разметка записана на диск, нужно открыть консоль: либо выбрав пункт меню «Запуск оболочки», либо переключившись по Ctrl+Alt+F2.
Узнать имена разделов диска можно командой lsblk или blkid — на этом этапе система довольно ограничена, и других удобных инструментов не так уж и много.
Далее последовательно вводим команды.
Сначала необходимо отмонтировать каталог установки системы:
umount /target/boot/efi
umount /target
Затем примонтируем раздел с BTRFS и внесём необходимые изменения (имя раздела у вас может быть другим):
mount /dev/sda2 /mnt
cd /mnt
mv @rootfs/ @/
btrfs subvolume create @home
cd ..
umount /mnt
Команда mv @rootfs/ @/ переименовывает корневой subvolume, созданный инсталлятором, в канонический @, который ожидают инструменты создания снимков. Отдельный subvolume @home нужен, чтобы снимки корня и домашних каталогов создавались независимо.
Далее перейдём к завершающему этапу (параметры монтирования у вас могут быть другими, читайте документацию):
mount -o noatime,compress=zstd,subvol=@ /dev/sda2 /target
mkdir /target/home
mount -o noatime,compress=zstd,subvol=@home /dev/sda2 /target/home
mount /dev/sda1 /target/boot/efi
Далее нужно обязательно исправить файл с точками монтирования /target/etc/fstab следующим образом:
UUID=<ВАШ UUID> / btrfs noatime,compress=zstd,subvol=@ 0 0
UUID=<ВАШ UUID> /home btrfs noatime,compress=zstd,subvol=@home 0 0
UUID=<ВАШ UUID> /boot/efi vfat umask=0077 0 1
Значение UUID для нужного раздела можно узнать командой blkid /dev/sda2. Если раздел ESP был создан как EXT2, а не FAT32, в строке /boot/efi укажите тип ext2 вместо vfat.
После этого возвращаемся на экран установки по Ctrl+Alt+F1, выбираем пункт «Установка базовой системы» и продолжаем установку в стандартном режиме.
Проверка результата
После завершения установки и первой загрузки убедитесь, что разметка корректна:
btrfs subvolume list /
findmnt -no SOURCE,FSTYPE,OPTIONS /
findmnt -no SOURCE,FSTYPE,OPTIONS /home
В выводе btrfs subvolume list / должны присутствовать @ и @home, а findmnt — показать соответствующие subvolume в параметрах монтирования.
Снапшоты
После окончания установки системы дополнительно установите приложение для создания снимков: Snapper — если требуется консольная утилита, или Timeshift — если работаете в графическом режиме.