На ext4 нет мгновенных снапшотов, как на btrfs или ZFS: файловая система не работает по принципу copy-on-write, поэтому «слепок за секунду» тут невозможен. Но откат после неудачного pacman -Syu всё равно доступен — через LVM-снапшоты, Timeshift на rsync или ручную rsync-схему с жёсткими ссылками. Ниже — как работает каждый способ, чем они отличаются и какой выбрать под твою систему.
Снапшот в btrfs — это не копия файлов, а ссылка на неизменённые блоки: файловая система работает по copy-on-write, и пока файлы не меняются, снапшот и оригинал делят одни и те же блоки. Изменился файл — btrfs записывает новую версию, а старая остаётся в снапшоте. Поэтому снапшот создаётся мгновенно и почти не занимает места.
ext4 устроена иначе. Это классическая файловая система с журналированием: файлы пишутся на место, а не в новые блоки. Сделать «слепок» состояния на лету ext4 не умеет — для этого пришлось бы останавливать запись и копировать всё содержимое. Именно поэтому нативные снапшоты есть у btrfs и ZFS, а у ext4 их нет и не будет: это фундаментальное ограничение архитектуры, а не недоработка.
Что ext4 умеет вместо снапшотов:
fsck — проверка и починка структуры после сбоя, но не откат к прошлому состоянию;Если нужны настоящие мгновенные снапшоты — путь один: btrfs. Как поставить Arch на btrfs со снапшотами с первого дня, разобрано в статье про установку с btrfs-снапшотами. Если переходить не хочется, а откат после обновления нужен — читай дальше: все три способа ниже работают на ext4.
LVM — менеджер логических томов, который лежит между диском и файловой системой. Если система установлена на LVM, у тебя есть логические тома (/dev/arch/root, /dev/arch/home), и для них LVM умеет делать снапшоты — почти как btrfs, но на уровне тома, а не файловой системы.
Создание снапшота:
sudo lvcreate -s -n snap-root -L 10G arch/root
Разбор: -s — снапшот, -n snap-root — имя, -L 10G — размер области изменений, arch/root — исходный том. Снапшот создаётся мгновенно: LVM не копирует файлы, а запоминает, какие блоки менялись после создания.
Посмотреть снапшоты:
sudo lvs
Монтирование снапшота для чтения:
sudo mkdir -p /mnt/snap
sudo mount -o ro /dev/arch/snap-root /mnt/snap
Так можно заглянуть в состояние системы до обновления: сравнить конфиги, вытащить нужный файл, убедиться, что было до -Syu.
Откат — вернуть том к состоянию снапшота:
sudo umount /dev/arch/root
sudo lvconvert --merge /dev/arch/snap-root
После перезагрузки корень — как на момент создания снапшота. Откат работает только если снапшот создан до обновления, а система после отката — ровно то состояние.
Плюсы LVM-снапшотов:
Минусы:
-L 10G), в thin pool — место на пуле. Если область переполнится, снапшот станет невалидным и откат не сработает;Timeshift — программа, которая умеет работать и на btrfs, и на ext4. На btrfs она делает настоящие снапшоты, на ext4 — rsync-копии с жёсткими ссылками. Первый снапшот — полная копия системы. Второй — снова полная копия, но неизменённые файлы не копируются, а связываются жёсткими ссылками с первым. Изменился файл — создалась новая копия, не изменился — ссылка на старую. Поэтому десяток снапшотов занимает место только реальных изменений.
Установка:
sudo pacman -S timeshift
Настройка — в GUI: выбираешь тип «rsync», указываешь раздел для снапшотов (лучше отдельный диск или раздел, а не тот, где система), включаешь расписание. Timeshift сам ставит задачу в cron и делает снимки по расписанию: раз в день, раз в неделю, при загрузке.
Перед обновлением — открыл Timeshift, нажал «Create», через минуту точка отката готова. Если обновление сломалось, а снимок не создан — свежая точка по расписанию всё равно есть.
Откат на ext4 делается из live-USB: загрузился с флешки, запустил Timeshift, выбрал снапшот, нажал «Restore». Программа сама восстановит систему. Это дольше, чем загрузка в снапшот на btrfs, но быстрее переустановки.
Про снапшоты на btrfs и snapper, если захочешь сравнить оба мира, — в статье про снапшот перед обновлением. Там же — как Timeshift работает на btrfs.
Timeshift — удобно, но это GUI и свои правила. Если хочется полный контроль, та же схема собирается руками: rsync + жёсткие ссылки. Идея та же, что у Timeshift: полная копия системы, а неизменённые файлы связываются с предыдущей копией через --link-dest.
Схема: каталог /mnt/snapshots/ с подкаталогами по датам. Первый запуск — полная копия:
sudo rsync -aAX --delete --exclude='/proc' --exclude='/sys' --exclude='/dev' \
--exclude='/run' --exclude='/tmp' --exclude='/mnt' --exclude='/media' \
--exclude='/var/cache/pacman/pkg' / /mnt/snapshots/2026-09-25/
Следующий запуск — с --link-dest, чтобы неизменённые файлы не копировались, а связывались с предыдущим снимком:
sudo rsync -aAX --delete --link-dest=/mnt/snapshots/2026-09-24/ \
--exclude='/proc' --exclude='/sys' --exclude='/dev' \
--exclude='/run' --exclude='/tmp' --exclude='/mnt' --exclude='/media' \
--exclude='/var/cache/pacman/pkg' / /mnt/snapshots/2026-09-25/
Флаги: -a — архивный режим, -A — ACL, -X — расширенные атрибуты, --delete — удалять файлы, которых больше нет в источнике, --link-dest — каталог предыдущего снимка для жёстких ссылок. Исключения обязательны: /proc, /sys, /dev, /run, /tmp — виртуальные и временные каталоги, их копировать нельзя; /mnt и /media — чтобы не копировать сам каталог снапшотов в себя.
Автоматизация — скрипт и cron:
#!/bin/bash
SNAP_DIR=/mnt/snapshots
LAST=$(ls -1 "$SNAP_DIR" | tail -1)
TODAY=$(date +%F)
rsync -aAX --delete --link-dest="$SNAP_DIR/$LAST" \
--exclude='/proc' --exclude='/sys' --exclude='/dev' \
--exclude='/run' --exclude='/tmp' --exclude='/mnt' --exclude='/media' \
--exclude='/var/cache/pacman/pkg' / "$SNAP_DIR/$TODAY/"
0 3 * * * root /usr/local/bin/snap-root.sh
Откат: загрузился с live-USB, смонтировал корень и каталог снапшотов, вернул нужный снимок:
rsync -aAX --delete /mnt/snapshots/2026-09-25/ /mnt/root/
Плюсы ручной схемы: полный контроль, никакого GUI, работает на любом диске. Минусы: откат только из live-среды, снапшоты не появляются в меню GRUB, за чисткой старых снимков следишь сам.
Сравнение по ключевым параметрам:
| Способ | Мгновенность | Место | Откат | Годится для отката после -Syu |
|---|---|---|---|---|
| LVM-снапшот | мгновенно | почти ноль, пока нет изменений | одна команда, но нужен LVM | да, лучший вариант на ext4 |
| Timeshift (rsync) | минуты | только изменения (жёсткие ссылки) | из live-USB, через GUI | да, самый простой |
| rsync вручную | минуты | только изменения (–link-dest) | из live-USB, командой | да, полный контроль |
Когда что выбирать:
Важно: все три способа — про откат после обновления, а не про бэкап. Снапшот живёт на том же диске и не спасёт при поломке диска. Для страховки от сбоя диска нужна отдельная копия на другом носителе — это уже бэкап, а не снапшот.
На btrfs откат устроен иначе: снапшоты загружаются прямо из GRUB, а закрепление отката — одна команда snapper rollback. Полный цикл — в статье про стратегию отката. На ext4 такого нет: любой из трёх способов требует live-среды или команды в работающей системе.
Можно, но это будет не мгновенный слепок, а копия: rsync с --link-dest или tar. Мгновенность на ext4 даёт только LVM, потому что снапшот делает менеджер томов, а не файловая система.
Снапшот станет невалидным, и откат не сработает. Поэтому размер области изменений закладывай с запасом (10–20 ГБ на корень) и следи за lvs: если заполнение растёт — удали старый снапшот и создай новый.
Снапшот — состояние системы на том же диске: откат за минуты, но не защищает от поломки диска. Бэкап — копия на другом носителе: защищает от всего, но восстановление дольше. Для отката после -Syu хватает снапшота, для страховки от сбоя диска нужен бэкап.
Нет. На btrfs Timeshift делает настоящие снапшоты — мгновенные, через copy-on-write. На ext4 — rsync-копии с жёсткими ссылками: создание занимает минуты, а откат возможен только из live-среды.
На ext4 нет мгновенных снапшотов, как на btrfs, но откат после неудачного обновления доступен тремя способами. LVM-снапшоты — ближайший аналог btrfs: мгновенные, почти бесплатные по месту, откат одной командой, но нужна система на LVM. Timeshift — самый простой вариант: rsync-копии с жёсткими ссылками, расписание в cron, откат из live-USB. Ручная rsync-схема с --link-dest — то же самое, но под полным контролем. Выбирай по ситуации: LVM, если он уже есть или ставишь с нуля, Timeshift — если хочется минимум действий, rsync — если нужен контроль. А если хочется настоящих мгновенных снапшотов — btrfs ждёт.
Задай вопрос в чате — отвечаем быстро, по делу и без воды.
Комментарии