Я разделил свой диск на два раздела Btrfs: один смонтирован как / (dev/sda1)
, второй как /home (/dev/sda2)
.
Я сделал свой первоначальный снимок /home
:
mkdir -p /home/snapshots/mnt
mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/init
После этого я сделал свой init
снимок по умолчанию и перезагрузил систему. Поскольку я хотел, init
чтобы снимок оставался чистым, я решил сделать снимок и назвать его current
:
mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/current
Это сработало, но после создания current
подтома по умолчанию и перезагрузки системы я заметил, что ls
он /home/snapshots
дает мне неожиданные результаты:
# ls /home/snapshots
init mnt
# ls /home/snapshots/init
#
Вопрос: почему init
папка видна? Моя интуиция подсказывает, что init
снимок создан на подтоме с идентификатором 0 и должен быть виден только оттуда.
решение1
Когда делается снимок заданного подтома, все содержащиеся в нем подтома (в смысле прикрепления к файловому дереву) рассматриваются как пустые каталоги. Отсюда и такое поведение. Вы можете просто удалить их из снимка, никакой потери данных здесь нет :)