Archlinux BTRFS, снапшоты в GRUB

nafanja
со встроенной ext4
Андроид девайсы же.
А coreboot никто не щупал, какие файловые поддерживает?
vs220
Андроид девайсы же.
а, ну да, ну да.
в тоже время Андроид поддерживает и fat.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
а есть ли устройства со встроенной ext4 или хотя бы ext2?
Непонятно что значит встроенной, но устройств без fat на arm хватает, да и "олдовые" с mbr можно к ним плюсануть. Но так как мы же не из "криокамеры" то исключительно x64 и gpt!) а без fat это вряд-ли заведётся.

p.s. ну по крайней мере пока мне в руки не попадали uefi способный подхватить что-то не из fat, но я не исключаю появление таких девайсов)
Ошибки в тексте-неповторимый стиль автора©
Nebulosa
После того как загружаешься в какой-то из снимков, таймшифт загружается при входе и предлагает восстановить снимок.
Ради интереса попробовал. У меня только уведомление выводится, что загрузился со снапшота и с рекомендацией его восстановить.

Nebulosa
Также нужно будет понять, как изменить логику загрузки, чтобы при выборе пункта сначала восстанавливалась система из снапшота, а затем грузилась сама. Без этих лишних действий.
А оно надо, чтобы за вас решало куда грузиться?
indeviral
Непонятно что значит встроенной
я имел ввиду простейшие устройства, мобильники, телики (не смарт TV) и др.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
indeviral
Я ничего не осуждаю, просто сомневаюсь в рациональности усилий на копирование команд из видеоряда, с фотографий это делать гораздо удобнее.
Кто говорит о бездумном копировании? Это просто удобная форма подачи информации, причём тут ценность в том, что он соединяет несколько статей wiki в одно готовое решение, (он об этом прямо говорит, что использует вики и можно это проверить прямо во время просмотра) + объясняет своими словами плюсы и минусы решений. Всё равно, что лекцию прослушать, вместо чтения учебников - сразу выводы и наработанный опыт. Опять же ты видишь какой результат должен получаться. Сплошные плюсы от погружения в тему. Повторюсь, я нескольких "лекторов" смотрел, русскоязычные - скучные или устаревшие, зато на английском информации гораздо больше и она свежая. Ну да, минус в том, что нужно на слух понимать о чём они говорят, для кого-то это может быть проблемой.

indeviral
Когда сумеете полностью отказаться от fat32, будем вместе вякать, а пока …
Сижу на BIOS до сих пор и каждый раз с удивлением смотрю на необходимость выделения отдельного раздела для EFI, во всех инструкциях. Скорблю вместе с вами, так скзсть.
[email protected]
Ради интереса попробовал. У меня только уведомление выводится, что загрузился со снапшота и с рекомендацией его восстановить.
Ну не совсем рекомендация..

До снимка:
[nebulosa@virtarch ~]$ mount |grep /dev/sda
/dev/sda1 on / type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@)
/dev/sda1 on /home type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home)
/dev/sda1 on /run/timeshift/backup type btrfs (rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)
Делаем снимок, выбираем его в пункте grub, грузимся, получаем:

[nebulosa@virtarch ~]$ mount |grep /dev/sda
/dev/sda1 on / type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=260,subvol=/timeshift-btrfs/snapshots/2021-11-25_19-07-55/@)
/dev/sda1 on /home type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home)
/dev/sda1 on /run/timeshift/backup type btrfs (rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)
т.е. рут примонтирован внутри снапшота, у нужно его вернуть обратно. Делаем восстановление с этим же снапшотом

[nebulosa@virtarch ~]$ mount |grep /dev/sda
/dev/sda1 on / type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=263,subvol=/@)
/dev/sda1 on /home type btrfs (rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home)

Что будет, если продолжать работать без восстановления / в @ и хуже того, также сделать снэпшот и перегружаться потом в него, не проверял, но чувствую, что ничего хорошего..

Косвенно, это подтверждает, что после нормального восстановления из снимка и возврата / получаем следующее:
[nebulosa@virtarch ~]$ sudo btrfs subvolume list /
[sudo] password for nebulosa:
ID 256 gen 149 top level 5 path timeshift-btrfs/snapshots/2021-11-25_19-53-34/@
ID 257 gen 183 top level 5 path @home
ID 258 gen 23 top level 256 path timeshift-btrfs/snapshots/2021-11-25_19-53-34/@/var/lib/portables
ID 259 gen 24 top level 256 path timeshift-btrfs/snapshots/2021-11-25_19-53-34/@/var/lib/machines
ID 260 gen 152 top level 5 path timeshift-btrfs/snapshots/2021-11-25_19-07-55/@
ID 263 gen 184 top level 5 path @
ID 264 gen 161 top level 5 path timeshift-btrfs/snapshots/2021-11-25_19-57-40/@
И соответственно /snapshots/2021-11-25_19-53-34/ - не удаляется. А /var/lib/portables и /var/lib/machines - это systemd монтирует для работы контейнеров и как это отключить - надо разбираться...

[email protected]
А оно надо, чтобы за вас решало куда грузиться?
Неправильно выразился, ожидается, что выбирая пункт в груб, сперва система откатывалась на этот снапшот, переставляла / и затем грузилась.
Nebulosa
и как это отключить - надо разбираться…
удаляешь эти субволумы и создаешь на том же месте обычные папки с теми же правами.

а вообще, я не понимаю на каком основании systemd использует субволумы btrfs вместо обычных папок.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
удаляешь эти субволумы и создаешь на том же месте обычные папки с теми же правами.

а вообще, я не понимаю на каком основании systemd использует субволумы btrfs вместо обычных папок.

Разобрался. Достаточно сделать нужные папки и никакие субволумы больше не создаются. Причём если этого не сделать, то их создают во время исполнения команды pacstrap /mnt base - достаточно просто base установить. Зачем это делать изначально, знает только Поттеринг.

Обновил свой скрипт-лист.

В принципе, основной сетап стабилизировался.
Дальше, насколько я понимаю, нужно сделать:

    1. Прописать hook timeshift-autosnap, чтобы он срабатывал не только во время апгрейда, но и во время установки/удаления пакетов. Т.к. снапшоты будут делаться гораздо чаще, либо отключить совсем удаление снапшотов, либо сделать до 10
    2. Парсить log pacman и прописывать адекватный комментарий к снапшоту вместо стандартной записи ни о чём.
    3. Облагородить пункты в grub-btrfs, чтобы показывалось время и комментарий а не точка монтирования
    4. Самое сложное - настоящий реальный откат системы при выборе пункта в grub

Буду дальше ковырять..
RusWolf
01-btrfs-autosnap.hook:

[Trigger]
Type = Package
Operation = Install
Operation = Upgrade
Operation = Remove
Target = *

[Action]
Description = Making BTRFS snapshot…
Depends = btrfs-progs
When = PreTransaction
Exec = /usr/bin/snapbtrfs
AbortOnFail
NeedsTargets

У меня при создании снапшота таким способом в него попадает: /var/lib/pacman/db.lck. После востановления, чтобы использовать пакман нужно вручную удалить этот файл. Это нормально или есть другие способы решения?
«Load universe into cannon. Aim at brain. Fire.» ©
 
Зарегистрироваться или войдите чтобы оставить сообщение.