LINUX.ORG.RU
Ответ на: комментарий от pfg

Я не утверждаю, что у меня что-то не получается. Есть разрекламированный функционал btrfs - снимки и откат системы. Но не могу найти стандартного алгоритма по откату системы; в таких делах ошибка дорого стоит. Вы его знаете?

vrnd
() автор топика

Делаешь новую копию снимка и делаешь её основной рабочей( дефолтной или через явное указание подтома). Если где-либо не прибит гвоздями subvolume ID, этого достаточно.

Elyas ★★★★★
()

Каноничный

Тот, который в opensuse? Средствами snapper. И ещё в статье snapper в archwiki есть способ отката.

Или timeshift в каком-нибудь Mint более каноничный?

NyXzOr ★★★★
()
Ответ на: комментарий от Elyas

btrfs subvolume set-default ID /

пробовал, не работает (Fedora)

vrnd
() автор топика
Последнее исправление: vrnd (всего исправлений: 1)
Ответ на: комментарий от NyXzOr

подмечал это средство, но рассчитывал, что можно обойтись только средствами btrfs. Спасибо, буду пробовать

vrnd
() автор топика
Ответ на: комментарий от vrnd

Я пытаюсь построить параллели и пересечения между Btrfs и ZFS. Походу, у Btrfs не хватает линии для таких построений.

iZEN ★★★★★
()
Ответ на: комментарий от vrnd

Ну а почему нет?

Я дела систему бекапов через эту тулзу - https://github.com/digint/btrbk. Топовая штука

Вот тебе выдержка из рабочей документации, что я когда-то писал:

Делается через монтирование и перемещение директорий сабволюмов.

Посмотрим какие сабволюмы у нас имеются:

root@sim-btrfs / # btrfs subv list /
ID 257 gen 2709 top level 5 path @boot
ID 258 gen 2667 top level 5 path @home
ID 259 gen 2731 top level 5 path @tmp
ID 260 gen 2761 top level 5 path @logs
ID 261 gen 2658 top level 5 path @cache
ID 291 gen 2758 top level 288 path btrbk_snapshots/ROOT.20220113T1628 

Откатимся на ROOT.20220113T1628

Для этого монтируем весь диск в /mnt(это будет своеобразное зеркало нашего корня):

mount /dev/md0 /mnt

Снепшот корня btrbk_snapshots/ROOT.20220113T1628 в read-only - для восстановления его нужно перевести в rw. Документация btrbk рекомендует делать это через снятие rw-снепшота от исходного снепшота, а не через btrfs property set -ts </path/to/subvolume> ro false(якобы из каких-то возможных проблем с UUID’ами). Т.о.:

btrfs subvolume snapshot /btrbk_snapshots/ROOT.20220113T1628 /rollback

Далее просто перемещаем сабволюмы:

mv /mnt/@ /mnt/@_oldroot
mv /mnt/@_oldroot/rollback /mnt/@	

Делаем ребут, чистим ненужное при необходимости.

permafrost ★★
()
Последнее исправление: permafrost (всего исправлений: 3)
Ответ на: комментарий от vrnd

Я и базу чинил простым перекидыванием /var/lib из снепшота в текущий корень.

Ничо, полет нормальный

permafrost ★★
()
Ответ на: комментарий от permafrost

Далее просто перемещаем сабволюмы

Переименовываем?

Делаем ребут, чистим ненужное при необходимости.

Если в fstab указан subvolid? Если система с UEFI загрузчик поймет с какого сабволюма грузиться?

NyXzOr ★★★★
()
Ответ на: комментарий от NyXzOr

Вот такой у меня был приблизительно fstab был:

proc /proc proc defaults 0 0
# /dev/md/0 belongs to btrfs volume 'btrfs.1'
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 / btrfs defaults,compress-force=zstd:10,subvol=@ 0 0
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 /home btrfs defaults,subvol=@home 0 0
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 /tmp btrfs defaults,subvol=@tmp 0 0
# /dev/md/0
UUID=663c232c-9e81-4cb8-953b-a583eeeac1d3 /var/lib btrfs defaults,compress-force=zstd:10,subvol=@libs 0 0
permafrost ★★
()
Ответ на: комментарий от Im_not_a_robot

Если система загружается, то нет, зачем. Если все сломал так, что нет, то rescue или livecd.

Еще есть возможность в grub загружаться с разных снепшотов, но я этого никогда не делал - https://github.com/Antynea/grub-btrfs

permafrost ★★
()
Ответ на: комментарий от vrnd

Самая мякотка, что можно снять снепшот с одной машины. И развернуть из него клон на другой

permafrost ★★
()
Ответ на: комментарий от permafrost

Т.е. / на горячую можно подменить в работающей системе?

Im_not_a_robot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.