Snapshots en TW

Me ha surgido una duda.

¿Cuántas snapshots soleis tener en TW?

Suelo tener 2 (no cuento ni la 0 ni la 1):

 ~/Descargas  sudo snapper list                                                          ✔  22:12:45 
[sudo] contraseña para root: 
   # | Tipo   | Pre número | Fecha                    | Usuario | Espacio usado | Limpieza | Descripción                                                 | Información del usuario
-----+--------+------------+--------------------------+---------+---------------+----------+-------------------------------------------------------------+------------------------
  0  | single |            |                          | root    |               |          | current                                                     |                        
  1* | single |            | dom 30 oct 2022 17:52:34 | root    |    912,24 MiB |          | first root filesystem                                       |                        
322  | pre    |            | vie 15 mar 2024 23:15:58 | root    |      1,37 GiB | number   | 20240311 P 6.0.1 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.7 | important=yes          
323  | post   |        322 | vie 15 mar 2024 23:22:52 | root    |    404,73 MiB | number   | 20240314 P 6.0.2 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.9 | important=yes          
324  | pre    |            | dom 31 mar 2024 11:20:57 | root    |    740,38 MiB | number   | 20240314 P 6.0.2 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.9 | important=yes          
325  | post   |        324 | dom 31 mar 2024 12:13:39 | root    |    349,65 MiB | number   | 20240329 P 6.0.3 + G 24.02.1 + F 6.0.0 + Qt 6.6.3 + K 6.8.1 | important=yes

Me ha venido esa pregunta a la cabeza porque si quisiera volver a la 322 (pre) el kernel 6.7.7 ya ni está. Y plasma sólo está el instalado actualmente (6.0.3, los anteriores nada).

¿O estoy pensando tonterías y, aunque no aparezcan con zypper se -v <paquete>, los tiene snapper por ahí escondidos?

Saludos

Hola:

Sobre 4 (sin contar las sencillas) .
A mi no me dejaba borrar las del kernel, que estuviesen asociadas al arranque o no los hubiese borrado, ahora no se si eso ha cambiado.
Pero se puede ver cuantos tienes con zypper se -si kernel.
Otra cosa que suelo limitar son los logs (son 2 de las cosas que uso para limitar es espacio y mantener una limpieza) .
Esto es en Leap .
Saludos .

Hola.

¿Quién se apunta a documentar cómo funciona esta cosa? :grinning: Es de las que empecé y ahí se quedó…

La documentación en inglés:

Ok, @Krovikan ¿es posible que hayas configurado Snapper para hacer eso en algún momento? Puedes postear aquí el contenido de /etc/snapper/configs/root (o como le llames tú al snapshot).

# subvolume to snapshot
SUBVOLUME="/"

# filesystem type
FSTYPE="btrfs"


# btrfs qgroup for space aware cleanup algorithms
QGROUP="1/0"


# fraction of the filesystems space the snapshots may use
SPACE_LIMIT="0.5"

# fraction of the filesystems space that should be free
FREE_LIMIT="0.2"


# users and groups allowed to work with config
ALLOW_USERS=""
ALLOW_GROUPS=""

# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots
# directory
SYNC_ACL="no"


# start comparing pre- and post-snapshot in background after creating
# post-snapshot
BACKGROUND_COMPARISON="yes"


# run daily number cleanup
NUMBER_CLEANUP="yes"

# limit for number cleanup
NUMBER_MIN_AGE="1800"
NUMBER_LIMIT="2-10"
NUMBER_LIMIT_IMPORTANT="4-10"


# create hourly snapshots
TIMELINE_CREATE="no"

# cleanup hourly snapshots after some time
TIMELINE_CLEANUP="yes"

# limits for timeline cleanup
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="10"
TIMELINE_LIMIT_DAILY="10"
TIMELINE_LIMIT_WEEKLY="0"
TIMELINE_LIMIT_MONTHLY="10"
TIMELINE_LIMIT_YEARLY="10"


# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP="yes"

# limits for empty pre-post-pair cleanup
EMPTY_PRE_POST_MIN_AGE="1800"

Salud!!

Mencionar que la descripción la pongo yo a mano (desde Yast es copiar, pegar y cambiar números).

Otra cosa, las gestiono yo. Es decir, si tras una snapshot general (una de las 2 que ves en mi post inicial) gestiono algo desde Yast o actualizo un elemento X que me cree nuevas snapshots, tras ello hago sudo snapper delete <XXX-YYY> para volver a tener como última snapshot una general que yo llamo.


 ~/Descargas  cat /etc/snapper/configs/root                                              ✔  13:36:04 

# subvolume to snapshot
SUBVOLUME="/"

# filesystem type
FSTYPE="btrfs"


# btrfs qgroup for space aware cleanup algorithms
QGROUP="1/0"


# fraction of the filesystems space the snapshots may use
SPACE_LIMIT="0.5"

# fraction of the filesystems space that should be free
FREE_LIMIT="0.2"


# users and groups allowed to work with config
ALLOW_USERS=""
ALLOW_GROUPS=""

# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots
# directory
SYNC_ACL="no"


# start comparing pre- and post-snapshot in background after creating
# post-snapshot
BACKGROUND_COMPARISON="yes"


# run daily number cleanup
NUMBER_CLEANUP="yes"

# limit for number cleanup
NUMBER_MIN_AGE="1800"
NUMBER_LIMIT="2-10"
NUMBER_LIMIT_IMPORTANT="4-10"


# create hourly snapshots
TIMELINE_CREATE="no"

# cleanup hourly snapshots after some time
TIMELINE_CLEANUP="yes"

# limits for timeline cleanup
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="10"
TIMELINE_LIMIT_DAILY="10"
TIMELINE_LIMIT_WEEKLY="0"
TIMELINE_LIMIT_MONTHLY="10"
TIMELINE_LIMIT_YEARLY="10"


# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP="yes"

# limits for empty pre-post-pair cleanup
EMPTY_PRE_POST_MIN_AGE="1800"

Saludos

Hola:

# limit for number cleanup
NUMBER_MIN_AGE="1800"
NUMBER_LIMIT="2-5"
NUMBER_LIMIT_IMPORTANT="3-4"


# create hourly snapshots
TIMELINE_CREATE="no"

# cleanup hourly snapshots after some time
TIMELINE_CLEANUP="yes"

# limits for timeline cleanup
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="3"
TIMELINE_LIMIT_DAILY="2"
TIMELINE_LIMIT_WEEKLY="2"
TIMELINE_LIMIT_MONTHLY="1"
TIMELINE_LIMIT_YEARLY="0"


# cleanup empty pre-post-pairs
EMPTY_PRE_POST_CLEANUP="yes"

# limits for empty pre-post-pair cleanup
EMPTY_PRE_POST_MIN_AGE="1800"

Logs ---------------

HPOMEN:~ # journalctl --disk-usage
Archived and active journals take up 392.0M in the file system.


journalctl --vacuum-size=1M            (size=xMegas , liberar espacio) .

Para configurar ; etc/systemd/journald.conf (hay ejemplos por la web) .

Saludos

Edito :
El espacio suele crearlo en otro sitio por defecto , creo que hay que modificar la configuración y crear un directorio log en /var

Hola.

La ventaja de hacerlo manualmente, es que puedes guardar las instantáneas que prefieras con la seguridad de que al volver a ellas va a funcionar todo. La desventaja es que, bien, hay que hacerlo. Puedes instruir al sistema de todas formas para que te guarde pocas para empezar.

Vale, compara tu salida de

tux@mipc:/> sudo snapper list

con el contenido de la carpeta de instantáneas.

tux@mipc:/> sudo ls -la .snapshots/
[sudo] password for root: 
total 4
drwxr-x--- 1 root root  202 Abr 20 12:57 .
drwxr-xr-x 1 root root  158 Xuñ 16  2023 ..
drwxr-xr-x 1 root root   66 Abr 14 11:57 1144
drwxr-xr-x 1 root root  106 Abr 14 11:57 1145
drwxr-xr-x 1 root root   66 Abr 14 12:35 1146
drwxr-xr-x 1 root root  106 Abr 14 12:35 1147
drwxr-xr-x 1 root root   66 Abr 17 11:18 1170
drwxr-xr-x 1 root root  106 Abr 17 11:18 1171
drwxr-xr-x 1 root root   66 Abr 17 12:19 1172
drwxr-xr-x 1 root root  106 Abr 17 12:22 1173
drwxr-xr-x 1 root root   66 Abr 18 13:03 1174
drwxr-xr-x 1 root root  106 Abr 18 13:03 1175
drwxr-xr-x 1 root root   66 Abr 18 14:42 1176
drwxr-xr-x 1 root root  106 Abr 18 14:42 1177
drwxr-xr-x 1 root root   66 Abr 19 18:54 1178
drwxr-xr-x 1 root root  106 Abr 19 18:54 1179
drwxr-xr-x 1 root root   66 Abr 20 12:31 1180
drwxr-xr-x 1 root root  106 Abr 20 12:32 1181
drwxr-xr-x 1 root root   66 Abr 20 12:57 1182
drwxr-xr-x 1 root root  106 Abr 20 12:57 1183
drwxr-xr-x 1 root root   32 Xuñ 13  2023 418
drwxr-xr-x 1 root root   32 Ago 27  2023 525
drwxr-xr-x 1 root root   32 Set 18  2023 561
drwxr-xr-x 1 root root   32 Dec 11 11:42 690
-rw-r----- 1 root root 2236 Abr 20 12:57 grub-snapshot.cfg
` ``
Salud!!

Coinciden las entradas. Lo que no sé es si guarda fuera del sudo zypper se <paquete> paquetes de instantáneas anteriores o no.

 ~/Descargas  sudo snapper list                                                          ✔  12:04:31 
[sudo] contraseña para root: 
   # | Tipo   | Pre número | Fecha                    | Usuario | Espacio usado | Limpieza | Descripción                                                 | Información del usuario
-----+--------+------------+--------------------------+---------+---------------+----------+-------------------------------------------------------------+------------------------
  0  | single |            |                          | root    |               |          | current                                                     |                        
  1* | single |            | dom 30 oct 2022 17:52:34 | root    |    912,35 MiB |          | first root filesystem                                       |                        
322  | pre    |            | vie 15 mar 2024 23:15:58 | root    |      1,37 GiB | number   | 20240311 P 6.0.1 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.7 | important=yes          
323  | post   |        322 | vie 15 mar 2024 23:22:52 | root    |    404,73 MiB | number   | 20240314 P 6.0.2 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.9 | important=yes          
324  | pre    |            | dom 31 mar 2024 11:20:57 | root    |    740,38 MiB | number   | 20240314 P 6.0.2 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.9 | important=yes          
325  | post   |        324 | dom 31 mar 2024 12:13:39 | root    |    349,76 MiB | number   | 20240329 P 6.0.3 + G 24.02.1 + F 6.0.0 + Qt 6.6.3 + K 6.8.1 | important=yes
 ~/Descargas  sudo ls -la /.snapshots/                                                 ✘ 2  12:04:46 
total 4
drwxr-x--- 1 root root  60 abr  7 11:22 .
drwxr-xr-x 1 root root 184 sep 17  2023 ..
drwxr-xr-x 1 root root  32 oct 30  2022 1
drwxr-xr-x 1 root root  66 mar 16 00:49 322
drwxr-xr-x 1 root root 104 mar 16 00:49 323
drwxr-xr-x 1 root root  66 mar 31 12:22 324
drwxr-xr-x 1 root root 104 mar 31 12:22 325
-rw-r----- 1 root root 632 abr  7 11:22 grub-snapshot.cfg

Saludos

No entiendo esa pregunta.

Pues que en mi sudo snapper list tengo comentadas por mi las entradas con lo que tiene el pre y el post de cada par de instantántes.

Si volviera a la 324 o peor, a la 322, ¿tendría Plasma 6.0.2 (o anteriores) y kernel 6.7.7 si ninguno de ellos está instalado? ¿O la propia instantánea se hace con los elementos antiguos y luego es capaz de recuperarlos (para cargar la instantánea o haciendo un rollback) aunque no estén instalados?

Saludos

Snapper maneja diferencias entre “versiones” del propio sistema de ficheros. Si tienes instalado un paquete determinado significa que tendrás esos ficheros instalados; si no lo has instalado aún en ese momento, pues no los tendrá. La integración con zypper solo significa que las instancias se hacen automáticamene.

Supongamos mi instancia imaginaria 600, en la que he arrancado normalmente. Instalo Blender y reinicio: pasaré a la instancia 602 y eso hará que tenga los ficheros que componen el programa Blender en sus respectivas carpetas /usr.

Ahora estoy pensando que igual me lía un poco el funcionamiento de transational-update (que puedes usarlo en Tumbleweed si quieres!). Supongamos que no me estoy liando!

Si reinicias en la 600, no deberías tener los ficheros de Blender en /usr y zypper no debería tener constancia de tener Blender instalado. Si haces un rollback a esta instancia, habrás desinstalado Blender, literalmente.

Supongamos que guardas una instancia nueva 603 con el nombre Blender Molón yque a continuación modificas el fichero de configuración de Blender. Si reinicias en 602 no tienes ese cambio de configuración, si reinicias en Blender Molón sí lo tendrás.

En la práctica, podrías borrar manualmente los ficheros de Blender sin desinstalarlo, y si reinicias en el snapshot anterior seguirías teniendo tu Blender correctamente.

No sé si esto te ayuda en algo o si entiendo bien tu duda.

NOTA: si me estoy liando, podría ser que me esté refiriendo a la posterior en luga de la actual. Con transational-update el sistema al instalar genera la nueva instancia pero no cambia a ella, de forma que tienes que arrancar para que el sistema cargue esos cambios.

Salud!!

1 Like

Coincidiría con la respuesta que buscaba pero ahora vuelvo al inicio de la consulta:

¿Cuántas snapshots soleis tener en TW? (no en Leap)

Suelo tener 2 (no cuento ni la 0 ni la 1):

~/Descargas  sudo snapper list                                                          ✔  12:04:31 
[sudo] contraseña para root: 
   # | Tipo   | Pre número | Fecha                    | Usuario | Espacio usado | Limpieza | Descripción                                                 | Información del usuario
-----+--------+------------+--------------------------+---------+---------------+----------+-------------------------------------------------------------+------------------------
  0  | single |            |                          | root    |               |          | current                                                     |                        
  1* | single |            | dom 30 oct 2022 17:52:34 | root    |    912,35 MiB |          | first root filesystem                                       |                        
322  | pre    |            | vie 15 mar 2024 23:15:58 | root    |      1,37 GiB | number   | 20240311 P 6.0.1 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.7 | important=yes          
323  | post   |        322 | vie 15 mar 2024 23:22:52 | root    |    404,73 MiB | number   | 20240314 P 6.0.2 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.9 | important=yes          
324  | pre    |            | dom 31 mar 2024 11:20:57 | root    |    740,38 MiB | number   | 20240314 P 6.0.2 + G 24.02.0 + F 6.0.0 + Qt 6.6.2 + K 6.7.9 | important=yes          
325  | post   |        324 | dom 31 mar 2024 12:13:39 | root    |    349,76 MiB | number   | 20240329 P 6.0.3 + G 24.02.1 + F 6.0.0 + Qt 6.6.3 + K 6.8.1 | important=yes

¿Sería prudente tener sólo 1 (que sería la 324-325) o sería muy imprudente en el caso de que fallara una snapshot? (espacio tengo)


 ~/Descargas  df -H /dev/sda2                                                       ✔  3s  12:12:44 
S.ficheros     Tamaño Usados  Disp Uso% Montado en
/dev/sda2         54G    33G   20G  63% /

Saludos

Bueno, como ves, yo tengo la configuración por defecto y son un puñado de ellas. Algún día tengo que configurarlo para que haga menos :grinning: así que no soy el mejor a quien preguntar. Yo supongo que esto depende de tu experiencia con el uso de tu propio sistema.

Tener muchas hace que sea muy probable recuperarse de un error a un estado muy similar al actual pero sin el error. Si tienes menos, más probable que haya más diferencias entre tu estado actual y el del snapshot al que volver. Aquí el matiz es que las opciones de configuración de tu usuario no van en el snapshot.

Los snapshots en sí mismos no ocupan demasiado. En la documentación hay una referencia de cómo funciona realmente:

Pero es posible tener problemas si vas muy justo de espacio porque no todo programa calcula esto adecuadamente, así que df y du pueden ofrecer diferencias apreciables, así que en algún punto el sistema puede pensar que tiene menos espacio libre del que tiene: es algo que me pasa de cuando en cuando con las máquinas virtuales que creo, que empiezan con discos de 20 o 40 GB y en cuanto actualizo un par de veces ya me protesta que está lleno :rofl:

Yo te diría que siguieras con tu política o incluso añadieras alguna más. Menos no creo, pero tú mismo, claro.

Como referencia, esto es lo que ocupan las de mi sistema:

# snapper --iso list
    # | Type   | Pre # | Date                | User | Used Space | Cleanup | Description             | Userdata     
------+--------+-------+---------------------+------+------------+---------+-------------------------+--------------
   0  | single |       |                     | root |            |         | current                 |              
 418  | single |       | 2023-06-13 11:48:22 | root |   4.59 GiB |         | writable copy of #399   |              
 525  | single |       | 2023-08-27 20:06:30 | root |   4.10 GiB |         | Snapshot Update of #418 |              
 561  | single |       | 2023-09-18 10:52:42 | root |  10.04 GiB |         | writable copy of #555   |              
 690* | single |       | 2023-12-11 11:42:17 | root |   7.76 MiB |         | writable copy of #656   |              
1144  | pre    |       | 2024-04-14 11:54:25 | root | 935.89 MiB | number  | zypp(packagekitd)       | important=yes
1145  | post   |  1144 | 2024-04-14 11:57:07 | root |   2.78 MiB | number  |                         | important=yes
1146  | pre    |       | 2024-04-14 12:35:44 | root | 448.00 KiB | number  | zypp(zypper)            | important=yes
1147  | post   |  1146 | 2024-04-14 12:35:53 | root | 111.15 MiB | number  |                         | important=yes
1174  | pre    |       | 2024-04-18 13:01:18 | root | 697.89 MiB | number  | zypp(packagekitd)       | important=yes
1175  | post   |  1174 | 2024-04-18 13:03:51 | root |   4.19 MiB | number  |                         | important=yes
1176  | pre    |       | 2024-04-18 14:42:13 | root | 224.00 KiB | number  | zypp(zypper)            | important=yes
1177  | post   |  1176 | 2024-04-18 14:42:18 | root | 416.00 KiB | number  |                         | important=yes
1178  | pre    |       | 2024-04-19 18:50:31 | root |  24.00 MiB | number  | zypp(packagekitd)       | important=yes
1179  | post   |  1178 | 2024-04-19 18:54:33 | root |  10.86 MiB | number  |                         | important=yes
1182  | pre    |       | 2024-04-20 12:57:29 | root | 352.00 KiB | number  | zypp(packagekitd)       | important=no 
1183  | post   |  1182 | 2024-04-20 12:57:34 | root | 400.00 KiB | number  |                         | important=no 
1184  | pre    |       | 2024-04-21 12:03:15 | root |  15.53 MiB | number  | zypp(packagekitd)       | important=yes
1185  | post   |  1184 | 2024-04-21 12:05:25 | root |   3.00 MiB | number  |                         | important=yes

Salud!!

1 Like

Hola:
@karlggest , se nota que no has tocado la configuración ;
se establece NUMBER_LIMIT = 5-20, Snapper realizará una primera ejecución de limpieza y reducirá el número de instantáneas numeradas regulares a 20. En caso de que estas 20 instantáneas excedan la cuota, Snapper eliminará las más antiguas en un segunda ejecución hasta que se cumpla la cuota. Siempre se conservará un mínimo de cinco instantáneas, independientemente de la cantidad de espacio que ocupen.

Bajar el limite a 3 y la couta máxima a 5 o 7 o 10.

Las de limite de tiempo, sirven para reponer archivos, pero no creo que se use mucho, otra, en TW que pinta las del mes o las del año ;

Otra es limitar el espacio limite : Las instantáneas con límite de espacio se pueden usar en fracciones de 1 (100%). Los valores válidos van de 0 a 1 (0,1 = 10%, 0,2 = 20%, …).

Cuando vi los tamaños, me parecieron virtuales, el tamaño dado por dolphin, era tanto como la raíz, me iba a /.snapshots y viendo la a parte no coincidía con el tamaño ( solo las mas antiguas, eran las de mayor espacio, las otras eran menores, pensé que eran incrementales, que solo reflejaban los cambios de unas a otras, ejemplo una pre-post sin cambios se borran automáticamente (pero algo ocupan ) .

@karlggest , En tu lista tienes copias de snaphots, que no figuran en el listado, ¿ lo has comprobado con /.snaphots , si en realidad figuran en el directorio , las, 399, 555 y la 656 ?
¿Son fantasmas ? y otra que es una actualización (por curiosidad le haría una revisión) .

Saludos

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.