В руководстве по установке Ubuntu Desktop 26.04 LTS перечислены стандартные и расширенные параметры настройки диска, но Btrfs не указана в качестве варианта установщика. Последнее обновление руководства было 6 мая 2026 года. Это означает, что в Ubuntu Desktop с Btrfs может использоваться пользовательская разметка разделов или подтомов. Перед автоматизацией создания снимков необходимо определить, что фактически смонтировано /; команда Snapper, предполагающая корневой подтом Btrfs, может привести к сбою или защите неверных данных. В этом руководстве настраиваются почасовые снимки с помощью Snapper на проверенном подтоме Btrfs, а затем включается запланированная очистка, чтобы старые снимки не накапливались бесконечно.
Snapper доступен в репозиториях Ubuntu, а пакеты Ubuntu 26.04 LTS (Resolute) включают модули systemd для его задач временной шкалы и очистки. Приведенные ниже команды предназначены для машины, целевой областью для создания моментального снимка которой является подтом Btrfs. Если в вашей установке Ubuntu используется ext4, LVM или монтирование верхнего уровня Btrfs, а не подтом, который вы собираетесь защитить, остановитесь на проверке структуры и сначала устраните эту проблему.
Что защищает снимок Btrfs?
Снимок Btrfs — это подтом на определенный момент времени, который изначально разделяет файловые области со своим источником. Он полезен для восстановления файлов или сравнения состояний системы после ошибочного редактирования или обновления. Это не независимая резервная копия: снимок остается на той же файловой системе, поэтому сбой диска, повреждение файловой системы, кража или случайное удаление всей файловой системы могут привести к потере как текущих данных, так и снимков.
Снимки также не позволяют рекурсивно захватывать вложенные подтома. Если /homeподтом является отдельным, снимок корневого подтома не будет включать содержимое этого отдельного подтома /home. Запланируйте отдельную конфигурацию Snapper для каждого подтома, который необходимо защитить, или используйте отдельную резервную копию для пользовательских данных. Храните вторую копию на другом устройстве или удаленной системе для аварийного восстановления.
1. Убедитесь, что Ubuntu работает на файловой системе Btrfs.
Откройте терминал и проверьте состояние корневого каталога:
findmnt -no SOURCE,FSTYPE,OPTIONS /
sudo btrfs subvolume show /
sudo btrfs subvolume list /
Первая команда должна указать btrfsтип файловой системы. Проверьте параметры монтирования для subvol=записи и используйте список подтомов, чтобы понять структуру. Вторая команда должна определить подтом, смонтированный по адресу /. Если тип файловой системы не Btrfs, эта процедура Snapper неприменима. Если команда сообщает, что /не является подтомом, или показывает, что это подтом верхнего уровня, не пытайтесь создать корневую конфигурацию Snapper вслепую. Подтом верхнего уровня Btrfs имеет особые ограничения; используйте правильно разработанную структуру подтома или сделайте снимок проверенного отдельного подтома.
Отдельно проверьте, /homeявляется ли это точкой монтирования или подтомом, используя параметры findmnt /homeи sudo btrfs subvolume show /home. Если это отдельный том, и вам нужны снимки личных файлов, ему потребуется собственная конфигурация. Также учтите, находятся ли другие важные пути, например, отдельный том данных, в другой файловой системе. Снимок корневого каталога не будет включать их автоматически.
2. Установите Snapper и инструменты Btrfs.
После того, как вы убедитесь, что целевой объект является подтомом Btrfs, установите пакеты Ubuntu:
sudo apt update
sudo apt install snapper btrfs-progs
snapperУправляет конфигурациями моментальных снимков и сроками их хранения; btrfs-progsпредоставляет утилиты файловой системы, полезные для проверки Btrfs. Проверяет наличие уже существующих конфигураций перед созданием новой:
sudo snapper list-configs
Если уже заданная конфигурация rootуказывает на правильный корневой подтом, сохраните её и проверьте её настройки вместо создания дубликата. Если вывод пуст и /подтверждено, что это именно тот подтом, который вы хотите защитить, создайте конфигурацию:
sudo snapper -c root create-config /
Эта create-configкоманда создает конфигурацию Snapper и каталог для ее снимков для выбранного подтома. Если она сообщает, что конфигурация уже существует или что путь не является подтомом, остановите и проверьте текущую настройку; не удаляйте существующую конфигурацию, чтобы принудительно выполнить команду.
3. Выберите график создания моментальных снимков и политику хранения.
В режиме временной шкалы Snapper можно создавать почасовые снимки, а алгоритм очистки временной шкалы может сохранять выбранные почасовые, ежедневные, еженедельные, ежемесячные и годовые снимки. Для настольного компьютера с ограниченным свободным местом начните с умеренного объема памяти для мониторинга, а не с неограниченного хранения истории. В этом примере запрашивается шесть почасовых, семь ежедневных, четыре еженедельных и три ежемесячных снимка, без годовых снимков:
sudo snapper -c root set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'
Эти значения описывают категории хранения; они не являются жестким ограничением дискового пространства. Измененный или удаленный большой файл может сохранять выделенные старые фрагменты данных до тех пор, пока снимки ссылаются на них. Доступное пространство также зависит от других подтомов и файлов Btrfs. Периодически проверяйте df -h /и sudo btrfs filesystem usage /уменьшайте срок хранения или добавляйте хранилище, если файловая система заполняется. Избегайте редактирования нескольких конфигурационных файлов одновременно: запускайте sudo snapper -c root get-configи проверяйте значения после их изменения.
4. Включите таймеры systemd в Snapper.
В Ubuntu 26.04 LTS список файлов пакетов Snapper включает snapper-timeline.timerи snapper-cleanup.timer. Включите оба параметра, чтобы systemd периодически создавал снимки временной шкалы и запускал очистку:
sudo systemctl enable --now snapper-timeline.timer snapper-cleanup.timer
Убедитесь, что они загружены, и посмотрите, когда они будут запланированы в следующий раз:
systemctl list-timers snapper-timeline.timer snapper-cleanup.timer
systemctl status snapper-timeline.timer snapper-cleanup.timer
Если таймер отображается как активный, это означает, что systemd загрузил расписание; само по себе это не доказывает, что Snapper успешно создал снимок. После следующего запуска временной шкалы проверьте конфигурацию и список снимков:
sudo snapper list-configs
sudo snapper -c root list
Если после запланированного запуска не появляется снимок временной шкалы, убедитесь, что TIMELINE_CREATEпараметр установлен на yes, затем просмотрите журнал службы с помощью journalctl -u snapper-timeline.service -b. Не создавайте пользовательский таймер, пока не проверите упакованные модули и журналы; дублирующиеся расписания могут создать больше снимков, чем предполагалось.
5. Добавьте отдельную конфигурацию для подтома домашней директории Btrfs.
Выполняйте это только в том случае, если проверка структуры подтвердила, что /homeэто подтом Btrfs, и ваша цель включает файлы пользователей. Сначала запустите команду sudo snapper list-configsи убедитесь, что имя homeне используется. Затем создайте конфигурацию для этого подтома и примените отдельную политику хранения:
sudo snapper -c home create-config /home
sudo snapper -c home set-config 'TIMELINE_CREATE=yes TIMELINE_CLEANUP=yes TIMELINE_LIMIT_HOURLY=6 TIMELINE_LIMIT_DAILY=7 TIMELINE_LIMIT_WEEKLY=4 TIMELINE_LIMIT_MONTHLY=3 TIMELINE_LIMIT_YEARLY=0'
Те же самые таймеры systemd обрабатывают конфигурации Snapper, в которых включены создание и очистка временной шкалы, поэтому отдельный таймер обычно не требуется. Убедитесь, что это sudo snapper -c home listработает и sudo snapper -c home get-configотображает нужные значения. Каталог с именем /homeне является автоматически отдельным подтомом; проверьте это перед запуском create-config.
Как понять, что автоматизация работает?
- Настройки:
sudo snapper list-configs отображает предполагаемое имя и подраздел. - Политика:
sudo snapper -c root get-config включено создание и очистка временной шкалы отчетов. - Расписание:
systemctl list-timers отображает два таймера Snapper и время их следующего запуска. - Снимки:
sudo snapper -c root list отображают записи с указанием даты после истечения таймера. - Состояние сервиса:
journalctl -u snapper-timeline.service -b не содержит повторяющихся ошибок, препятствующих созданию моментальных снимков.
Если ваш компьютер выключается по расписанию, таймер может запуститься позже в зависимости от настроек устройства; это не заменяет проверку полученных снимков. Небольшая ручная проверка может убедиться, что Snapper может создавать снимки: запустите команду sudo snapper -c root create --description 'setup test', а затем снова выведите список снимков. Это проверяет конфигурацию, а не таймер; удаляйте тестовый снимок позже только в том случае, если вы уверены, что выбрали правильную запись.
Что может пойти не так, и чего следует избегать?
Во-первых, снимки со временем расходуют емкость общей файловой системы. Управление сохранением данных уменьшает объем старой истории, но объем сохраняемых данных меняется в зависимости от изменений файлов. Следите за свободным пространством и убедитесь, что выполняется очистка. Во-вторых, снимок корневого каталога может не включать вложенные подтома, такие как /home; успешное выполнение команды не означает, что каждый смонтированный путь защищен. В-третьих, одних только снимков Snapper недостаточно для отката загрузки. В документации Snapper указано, что для отката требуется правильно настроенная система Btrfs. Схема монтирования Ubuntu, конфигурация загрузки, шифрование и отдельные файловые системы определяют, какое восстановление возможно. Прежде чем полагаться на откат, протестируйте план восстановления с помощью отдельного носителя для резервного копирования и восстановления.
Не рассматривайте автоматические снимки как замену резервным копиям. Скопируйте важные файлы на другое физическое устройство или в удаленное место и периодически проверяйте возможность их восстановления. Для наиболее надежной работы Ubuntu на рабочем столе используйте Snapper для удобных локальных точек восстановления, отдельный инструмент резервного копирования для независимых копий и проверенную процедуру восстановления при системных сбоях.
Официальные ссылки