/.snapshots missing!

i recently installed another box with tumbleweed, using the same iso i’d used earlier, and i’m surprised there’s no /.snapshot directory, nor the corresponding entry in /etc/fstab. Why might that be?

Perhaps i answered some install question differently? is there someplace the answers to the install questions are saved? Or some summary of the installed configuration perhaps similar to rhel /root/anaconda-ks.cfg?

Might i have somehow caused a snapshot related package to be omitted that i can perhaps install now?

What is the root filesystem size?

There are logs in /var/log/YaST copied from installer.

 Filesystem                  Type 1M-blocks  Used Available Use% Mounted on
 /dev/sdb3                  btrfs    468649  5182    461539   2% /

indeed. Voluminous. is there any guide or hint to distilling the answers to the install questions? So far my best idea is compare the installed set of packages between an install that has /.snapshots and one that doesn’t. But it could as easily not be a package difference but a config difference instead.

With this size installer should default to snapshot support.

Not really. You could search for snapshot or upload to https://susepaste.org/ (may be problem with size though).

It is not (only) about packages, subvolume layout is different. Show output of btrfs subvolume list /.

ID 256 gen 31973 top level 5 path @
ID 257 gen 31975 top level 256 path var
ID 258 gen 29757 top level 256 path usr/local
ID 259 gen 2972 top level 256 path srv
ID 260 gen 30280 top level 256 path root
ID 261 gen 29373 top level 256 path opt
ID 262 gen 31973 top level 256 path home
ID 263 gen 30029 top level 256 path boot/grub2/x86_64-efi
ID 264 gen 2972 top level 256 path boot/grub2/i386-pc

what/which? Eg here’s what’s in /var/log/YaST2:

-rw-r--r-- 1 root greg     402 2022-11-28 Mon 22:44:22.668670428 /var/log/YaST2/config_diff_2022_11_28.log
-rw-r--r-- 1 root greg    2347 2022-12-13 Tue 12:39:21.234265871 /var/log/YaST2/config_diff_2022_12_13.log
-rw-r--r-- 1 root root    3444 2022-11-27 Sun 18:16:57.099999796 /var/log/YaST2/curl_log
-rw-r--r-- 1 root root   52628 2022-11-27 Sun 18:16:56.935999796 /var/log/YaST2/macro_inst_initial.ycp
-rw-r--r-- 1 root root 1038793 2022-11-27 Sun 18:16:57.151999796 /var/log/YaST2/memsample.zcat
-rw-r--r-- 1 root root   39320 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/01-probed.xml
-rw-r--r-- 1 root root    6164 2022-11-27 Sun 18:16:56.911999796 /var/log/YaST2/storage-inst/01-probed.yml
-rw-r--r-- 1 root root   47823 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/02-proposed.xml
-rw-r--r-- 1 root root    7074 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/02-proposed.yml
-rw-r--r-- 1 root root     762 2022-11-27 Sun 18:16:56.911999796 /var/log/YaST2/storage-inst/03-actions.txt
-rw-r--r-- 1 root root   30908 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/04-partitioner.xml
-rw-r--r-- 1 root root    5460 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/04-partitioner.yml
-rw-r--r-- 1 root root    1994 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/05-actions.txt
-rw-r--r-- 1 root root   47823 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/06-proposed.xml
-rw-r--r-- 1 root root    7074 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/06-proposed.yml
-rw-r--r-- 1 root root     762 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/07-actions.txt
-rw-r--r-- 1 root root   30905 2022-11-27 Sun 18:16:56.907999796 /var/log/YaST2/storage-inst/08-partitioner.xml
-rw-r--r-- 1 root root    5460 2022-11-27 Sun 18:16:56.911999796 /var/log/YaST2/storage-inst/08-partitioner.yml
-rw-r--r-- 1 root root    1956 2022-11-27 Sun 18:16:56.911999796 /var/log/YaST2/storage-inst/09-actions.txt
-rw-r--r-- 1 root root   30905 2022-11-27 Sun 18:16:56.911999796 /var/log/YaST2/storage-inst/10-committed.xml
-rw-r--r-- 1 root root    5460 2022-11-27 Sun 18:16:56.911999796 /var/log/YaST2/storage-inst/10-committed.yml
-rw-r--r-- 1 root root    1480 2022-11-27 Sun 18:16:57.175999796 /var/log/YaST2/vncserver.log
-rw-r--r-- 1 root root     360 2022-11-27 Sun 18:16:56.859999797 /var/log/YaST2/websockify.log
-rw-r--r-- 1 root root  627404 2022-11-27 Sun 18:16:56.963999796 /var/log/YaST2/y2log-1.gz
-rw-r--r-- 1 root root    4066 2022-11-27 Sun 18:16:57.227999795 /var/log/YaST2/y2start.log
-rw-r--r-- 1 root root 1085648 2022-11-27 Sun 18:16:59.103999789 /var/log/YaST2/yast-installation-logs.tar.xz

Yes, snapshot support was disabled during installation. There is no tool to re-enable it post-install as it really changes layout and where root is located. If this is new installation, reinstalling is really the simplest way. Just keep attention to how you answer the questions.

E-h-h … everything? The y2log-1.gz is the log of installer so the most interesting. The storage-inst directory I am not familiar with, but it may be interesting as well. If you can, upload full content somewhere (I do not think susepaste allows archives/binary files, only plain text).

Wouldn’t fit into just one paste…
(http://ix.io/) 4iNS and 4iO6 are listings, the rest are compressed tars, created thus:

  #  (tar cSJ /var/log/YaST2|tar tJ)|curl -F 'f:1=<-' ix.io
tar: Removing leading `/' from member names
http://ix.io/4iNS
  #   tar cSJ /var/log/YaST2/storage-inst|curl -F 'f:1=<-' ix.io
tar: Removing leading `/' from member names
http://ix.io/4iNV
  #   tar cSJ      --exclude=storage-inst --exclude=memsample.zcat --exclude=yast-installation-logs.tar.xz /var/log/YaST2|curl -F 'f:1=<-' ix.io
tar: Removing leading `/' from member names
http://ix.io/4iNY
  #  tar cSJ /var/log/YaST2/memsample.zcat|curl -F 'f:1=<-' ix.io
tar: Removing leading `/' from member names
http://ix.io/4iNZ
  #  (l /var/log/y*/**;tar xJ</var/log/YaST2/yast-installation-logs.tar.xz --to-command='echo $TAR_FILENAME $TAR_SIZE')|curl -F 'f:1=<-' ix.io
http://ix.io/4iO6
  #  mkdir                    /var/log/YaST2/yast-installation-logs
  #  cd                       /var/log/YaST2/yast-installation-logs
  #  tar xJ --one-top-level=.</var/log/YaST2/yast-installation-logs.tar.xz --exclude=storage-inst --exclude=memsample.zcat --exclude=websockify.log --exclude=y2log --exclude=curl_log --exclude=y2start.log --exclude=vncserver.log --exclude=macro_inst_initial.ycp
  #  tar cSJ                  /var/log/YaST2/yast-installation-logs|curl -F 'f:1=<-' ix.io
tar: Removing leading `/' from member names
http://ix.io/4iO7

Whenever I do a new install of Tumbleweed I sit back and chill down.
chilling
When it comes to partitioning I select “Expert Partitioner” and start from an empty list. I carefully create new partitions or modify existing ones until Expert Partitioner displays exactly what I want to have. This warrants reproducible results.

If you get more fluent you may take shortcuts, but this is risky. You may recover from the above mishap by fixing the existing installation or reinstalling the system.

I am not sure what I am supposed to do with all this code. I miss link to simple tar archive that can be downloaded.

ix.io apparently has a size limit. i uploaded 4 compressed tars:

http://ix.io/4iNV
http://ix.io/4iNY
http://ix.io/4iNZ
http://ix.io/4iO7

so yes download them, eg:
wget http://ix.io/4iNV
tar tJ<4iNV

Well, it can be seen that you used expert partitioner and disabled snapshots as the final result:

        name: "/dev/sdb3"
        type: primary
        id: linux
        file_system: btrfs
        mount_point: "/"
        btrfs:
          default_subvolume: "@"

Compare with original filesystem on this disk which did have snapshots enabled:

        name: "/dev/sdb3"
        type: primary
        id: linux
        file_system: btrfs
        btrfs:
          default_subvolume: "@/.snapshots/9/snapshot"

I hoped to find logs where it would show exact values entered during configuration, but either it requires developer who knows the code or this information is not logged.

But as I managed to corrupt one of my VMs and had to reinstall anyway, I played with expert partitioner during installation. And it is easy to accidentally disable snapshots. Like

  1. Add new partition for operating system. Snapshots are enabled by default.
    Снимок экрана от 2022-12-17 19-22-00

  2. Change filesystem type. Enable Snapshots control is hidden, which is correct.
    Снимок экрана от 2022-12-17 19-22-17

  3. Go back to btrfs and notice that snapshots are now off.
    Снимок экрана от 2022-12-17 19-22-26

1 Like

how…?

Start here: System recovery and snapshot management with Snapper | Reference | openSUSE Leap 15.4

1 Like

Thank you. Well written, tho inaccurate, likely slipped a tad out of date.

it says "Install the package snapper-zypp-plugin", well it was already there.

it says “/etc/snapper/zypp-plugin.conf…By default…looks like…”, well it doesn’t exist on either of my systems, the one that’s doing snapshots or the one that isn’t.

But anyway it did help me work out what was needed:


snapper -c root create-config /

plus i copied over the /etc/fstab line


<uuid> /.snapshots btrfs subvol=/@/.snapshots 0 0

from the system that had snapshots working to the one that didn’t.

And rebooted. it did the rest by itself, snapshots are working now. Thanks!