Ir al contenido

Instantáneas automáticas del sistema

Ditana toma automáticamente una instantánea del estado del sistema antes de una actualización del sistema, mediante un hook de pacman. Esto se configura con independencia del sistema de archivos elegido, en Advanced Settings → System Maintenance Tools → Configure Automatic System Snapshots del instalador (activado de forma predeterminada).

La frecuencia varía. En ZFS, cada actualización va precedida de una instantánea. En BTRFS, XFS y EXT4, timeshift-autosnap toma como máximo una instantánea cada 18 horas (minHoursBetweenSnapshots en /etc/timeshift-autosnap.conf), así que una segunda actualización el mismo día no genera una nueva. En ambos casos se conservan tres (maxSnapshots).

En ZFS y BTRFS, las instantáneas son atómicas: se capturan en un único instante, con un costo de almacenamiento y de tiempo insignificante. En XFS y EXT4, Timeshift se usa en modo rsync; la primera instantánea es la más lenta, y las siguientes suelen completarse en menos de cinco segundos.

El propio instalador toma la primera instantánea, justo antes del primer reinicio, de modo que existe una instantánea de referencia limpia desde el primer día: puede volver al estado «recién instalado» sin haber hecho antes ninguna actualización. En ZFS esa instantánea de referencia no perdura: lleva un nombre como el de cualquier otra instantánea automática y es la más antigua, así que el límite de retención la elimina después de tres actualizaciones. Cámbiele el nombre o aumente maxSnapshots si quiere conservarla. Con Timeshift sobrevive, porque el filtro de eliminación no la selecciona.

Las instantáneas abarcan solo el sistema. El directorio personal y otros volúmenes de datos no se incluyen. Restaurar una instantánea del sistema no toca sus archivos personales: revierta el sistema y conserve su trabajo.

Caso límite: volver a la instantánea del instalador

Sección titulada «Caso límite: volver a la instantánea del instalador»

Si vuelve a la primera instantánea, la que se tomó al final de la instalación, hay una consecuencia menor: el servicio de implementación de Flatpak del primer arranque (ditana-flatpak-finalize.service) se ejecutará de nuevo durante el siguiente arranque y reinstalará los Flatpaks que eligió inicialmente. Está programado antes de la pantalla de inicio de sesión y la retrasa a propósito mientras descarga, así que un arranque que se queda un rato en una consola de texto es el comportamiento esperado y no un bloqueo. Esto es intencionado: esos Flatpaks forman parte del sistema configurado, así que se restablecen junto con todo lo demás. Las reversiones posteriores (a instantáneas tomadas después de completarse el primer arranque) no presentan este comportamiento.

Ditana incluye su propia bifurcación de zfs-autosnap, que aparta el archivo de bloqueo de pacman (/var/lib/pacman/db.lck) en el momento de tomar la instantánea y lo vuelve a colocar después, de modo que la instantánea no contiene ningún archivo de bloqueo. Esto significa que, tras una reversión en ZFS, pacman se puede usar de inmediato, sin el paso manual rm /var/lib/pacman/db.lck. La variante original de Timeshift para sistemas de archivos distintos de ZFS no se ocupa de esto; por eso el procedimiento de recuperación con Timeshift que se describe más abajo incluye ese paso manual.

En ZFS hay un camino más corto que no necesita ningún medio. ZFSBootMenu puede arrancar directamente una instantánea: interrúmpalo durante el arranque, elija el entorno de arranque y seleccione la instantánea que desee de la lista que muestra. La instantánea de referencia del propio instalador se llama autosnap_after_ditana_installation. Todo lo que sigue es para el caso en que eso no baste, o para un sistema de archivos distinto de ZFS.

Si el sistema no arranca, arranque desde la ISO de Ditana. Esta pregunta si debe entrar en el sistema de rescate para la instalación que encontró; responda que sí, y montará el sistema instalado y mostrará las instantáneas que contiene. Los comandos siguientes son los que se ejecutan dentro de ese sistema de rescate, no en el simple entorno en vivo, que no tiene ni Timeshift ni la agrupación (pool) importada.

Enumere las instantáneas disponibles:

Ventana de terminal
zfs list -t snapshot

Salida de ejemplo:

NAME USED AVAIL REFER MOUNTPOINT
ditana-root/ROOT/default@autosnap_2026-05-19_23-14-41 453K - 3.96G -
ditana-root/ROOT/default@autosnap_2026-05-19_23-25-28 394K - 3.96G -
ditana-root/ROOT/default@autosnap_2026-05-19_23-26-06 1.05M - 3.96G -

Restaure una instantánea específica:

Ventana de terminal
sudo zfs rollback ditana-root/ROOT/default@autosnap_2026-05-19_23-26-06

zfs rollback se niega a actuar mientras existan instantáneas más recientes, que es lo normal cuando ya se han acumulado varias. Destrúyalas primero o pase -r para que las destruya por usted; en cualquier caso, todo lo que sea más reciente que la instantánea que restaura se pierde.

Las instantáneas automáticas las gestiona timeshift-autosnap, que crea una instantánea antes de cada actualización completa.

Enumere las instantáneas disponibles:

Ventana de terminal
sudo timeshift --list

Salida de ejemplo:

Mounted '/dev/dm-0 (sda4)' at '/run/timeshift/195216/backup'
Device : /dev/dm-0 (sda4)
Mode : RSYNC
Num Name Tags Description
------------------------------------------
0 > 2026-05-19_18-04-37 0 after installation of Ditana GNU/Linux

Restaure una instantánea:

Ventana de terminal
sudo timeshift --restore --snapshot 2026-05-19_18-04-37

Cuando se le pregunte, no reinstale GRUB2 como recomienda Timeshift: presupone la existencia de una herramienta update-grub que Ditana no usa. Si necesita actualizar GRUB después de la restauración, ejecute:

Ventana de terminal
grub-mkconfig -o /boot/grub/grub.cfg

Después de una restauración con Timeshift, elimine también el bloqueo de la base de datos de pacman:

Ventana de terminal
sudo rm /var/lib/pacman/db.lck

Es necesario porque timeshift-autosnap (el proyecto original para sistemas de archivos distintos de ZFS) captura el archivo de bloqueo de pacman como parte de la instantánea. La bifurcación de zfs-autosnap de Ditana quita el archivo de bloqueo antes de tomar la instantánea, y por eso el paso equivalente no es necesario en ZFS (basta con zfs rollback).

Esta traducción la hizo una máquina. Los lectores la mejoran en Weblate.