Как удалить подкаталоги btrfs с помощью <FS_TREE> в их имени

У меня есть куча снимков btrfs, например:

20:17:37 [root@galaxy /]$ btrfs subvolume list -a / |grep apt ID 271 gen 348 top level 5 path <FS_TREE>/@apt-snapshot-2013-04-17_21:44:30 ID 272 gen 352 top level 5 path <FS_TREE>/@apt-snapshot-2013-04-17_21:46:25 ID 273 gen 361 top level 5 path <FS_TREE>/@apt-snapshot-2013-04-17_21:51:13 ... # lots more 

Я хотел бы избавиться от них. Поэтому я попробовал

 20:21:31 [root@galaxy ~]$ btrfs subvolume delete '/<FS_TREE>/@apt-snapshot-2013-04-17_21:44:30' ERROR: error accessing '/<FS_TREE>/@apt-snapshot-2013-04-17_21:44:30' 20:21:36 [root@galaxy ~]$ btrfs subvolume delete '<FS_TREE>/@apt-snapshot-2013-04-17_21:44:30' ERROR: error accessing '<FS_TREE>/@apt-snapshot-2013-04-17_21:44:30' 20:21:43 [root@galaxy ~]$ btrfs subvolume delete '/@apt-snapshot-2013-04-17_21:44:30' ERROR: error accessing '/@apt-snapshot-2013-04-17_21:44:30' 20:21:47 [root@galaxy ~]$ btrfs subvolume delete '@apt-snapshot-2013-04-17_21:44:30' ERROR: error accessing '@apt-snapshot-2013-04-17_21:44:30' 

Какой правильный синтаксис для удаления этих снимков?

2 Solutions collect form web for “Как удалить подкаталоги btrfs с помощью <FS_TREE> в их имени”

Я смог удалить эти снимки, сначала установив весь том btrfs (а не @ subvolume), а затем работая оттуда:

 # mount /dev/mapper/whatever /mnt -o subvol=/ # ls /mnt @ @apt-snapshot-2013-04-17_21:44:30 ... 

Таким образом, на данный момент все подвыборы (включая фанки- apt-snapshot ) видны в /mnt , поэтому мы можем их удалить:

 # btrfs subvol delete /mnt/@apt-snapshot-2013-04-17_21:44:30 # umount /mnt 

Самый простой способ сделать это – использовать встроенные команды apt-btrfs-snapshot :

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

Сначала перечислите доступные apt-btrfs-snapshot снимков, используя следующую команду:

 sudo apt-btrfs-snapshot list 

Ниже приведен пример вывода этой команды:

 @apt-snapshot-old-root-2015-10-19_20:20:10 @apt-snapshot-2015-10-28_19:00:46 @apt-snapshot-2015-10-28_19:09:14 @apt-snapshot-2015-10-29_04:40:07 @apt-snapshot-2015-10-29_06:35:57 @apt-snapshot-2015-10-29_07:03:39 @apt-snapshot-2015-10-30_03:49:05 @apt-snapshot-2015-10-30_17:53:59 

Чтобы удалить снимок @apt-snapshot-2015-10-30_17:53:59 , запустите:

 sudo apt-btrfs-snapshot delete @apt-snapshot-2015-10-30_17:53:59 

Вы также можете удалить несколько снимков по дате. Ниже приведен пример команды, которая удалит все моментальные снимки, которые старше 0 дней.

 sudo apt-btrfs-snapshot delete-older-than 0d 

Ниже приведен пример вывода этой команды:

 Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-odfe0o4g/@apt-snapshot-old-root-2015-10-19_20:20:10' ERROR: cannot delete '/tmp/apt-btrfs-snapshot-mp-odfe0o4g/@apt-snapshot-old-root-2015-10-19_20:20:10' - Directory not empty Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-b2zv18qr/@apt-snapshot-2015-10-28_19:00:46' Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-zjglvefe/@apt-snapshot-2015-10-28_19:09:14' Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-lj3v74qa/@apt-snapshot-2015-10-29_04:40:07' Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-vztc82zr/@apt-snapshot-2015-10-29_06:35:57' Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-q0ou8e24/@apt-snapshot-2015-10-29_07:03:39' Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-dw8eq0vv/@apt-snapshot-2015-10-30_03:49:05' Delete subvolume (no-commit): '/tmp/apt-btrfs-snapshot-mp-vgo2yuf2/@apt-snapshot-2015-10-30_17:53:59' 

Как вы можете видеть, доступные снимки были удалены. Тем не менее, старейший снимок «old-root» не был удален и все еще может быть использован для отката, даже если он намного старше 0 дней.

Выполните следующую команду для полного списка функций:

 apt-btrfs-snapshot --help 
  • Могут ли снимки LVM привести к фрагментации?
  • `cp -al` snapshot, чьи жесткие ссылки будут перенаправлены на новый файл при редактировании
  • создание моментального снимка устройства-mapper многомерного линейного устройства объемом lvm с данными коров за пределами группы томов
  • Как выровнять мой новый subbolf по умолчанию btrfs с реальным корнем моей файловой системы?
  • Как проверить, идентичны ли два снимка btrfs?
  • компактные снимки на компакт-дисках в Linux
  • Откат субблока btrfs с дочерними субволиями
  • Можете ли вы сделать снимок btrfs живой системы?
  • Как изолировать объемы снимков с помощью btrfs?
  • Ошибка ввода-вывода при попытке создания моментального снимка Btrfs
  • Объединить изменения в верхнюю файловую систему, чтобы снизить файловую систему в Linux Overlay (OverlayFS) mount
  • Linux и Unix - лучшая ОС в мире.