Вышел KIO-Snapshot 1.0 – стабильная интеграция снимков Btrfs в KDE

2026-08-20 80 комментарии
В KDE выпустили KIO-Snapshot 1.0 – стабильную интеграцию снимков Btrfs в программы на KDE Frameworks. Набор состоит из KIO worker с протоколом snapshot:// и расширения контекстного меню, которое показывает прошлые версии файла прямо в файловом менеджере Dolphin

В KDE выпустили KIO-Snapshot 1.0 – набор компонентов для доступа к снимкам файловой системы Btrfs прямо из Dolphin и других программ на KDE Frameworks. Архив с исходным кодом опубликован 2026 года на странице загрузки KDE. В состав вошли KIO worker, обслуживающий протокол snapshot://, и расширение контекстного меню, через которое из файлового менеджера открывается список прошлых версий файла. Создание снимков в набор не входит – эта задача остаётся за Snapper или ручными командами btrfs.

comss img 2026 08 20 213633

Что вошло в KIO-Snapshot 1.0

Основная часть релиза – KIO worker, который регистрирует в системе протокол snapshot://. Протокол понимают все программы, построенные на KDE Frameworks, поэтому виртуальный вид на снимки работает не только в Dolphin.

KIO worker – подключаемый компонент подсистемы ввода-вывода KDE, который реализует поддержку отдельного протокола доступа к данным для всех приложений KDE Frameworks сразу.

Виртуальный вид устроен в двух измерениях. Первое – снимки конкретного подтома (subvolume), каждый из которых открывается как обычное дерево каталогов. Второе – версии одного файла, собранные по всем снимкам того подтома, в котором этот файл лежит.

Подтом (subvolume) – независимо управляемое дерево каталогов внутри файловой системы Btrfs. Подтом можно снять или откатить атомарно и отдельно от остальной файловой системы, а сам снимок технически является частным случаем подтома.

Вторая часть набора – расширение контекстного меню, которое выводит доступные версии файла в Dolphin и в остальных программах KDE.

Прошлые версии файла как виртуальная папка

comss img 2026 08 20 213622

Щелчок правой кнопкой по файлу открывает папку, в которой собраны все различающиеся версии этого файла, сохранённые в снимках. Аналогично устроен просмотр целых деревьев каталогов подтома в разных снимках.

Изначально просмотр версий одного файла был сделан диалогом с кнопками открытия и восстановления – по образцу «Предыдущих версий» в Windows. От диалога отказались в пользу полноценной виртуальной папки, поскольку она гибче: в ней можно выделить сразу несколько прежних версий и открыть их в средстве сравнения, скопировать в другое место или посмотреть метаданные.

Почему обошлись без службы с правами root

Btrfs консервативно относится к тому, что разрешено обычному пользователю. Даже ответ на вопрос, какому подтому принадлежит заданный путь, напрямую без прав суперпользователя не получить. Поэтому в первой версии интеграции один компонент работал как системная служба D-Bus и отвечал на такие запросы для файлов, которыми пользователь владеет.

От этой схемы отказались после подсказки со стороны другого участника KDE. Хотя идентификатор подтома по пути и обратно Btrfs выдаёт неохотно, перечень доступных пользователю подтомов внутри указанного пути возвращается без ограничений – из этого перечня выводятся остальные сведения. В итоге ни один компонент набора не работает с правами root. За обращения к файловой системе отвечает libbtrfsutil из состава btrfs-progs, а данные о файловых системах и точках монтирования берутся из Solid в KDE Frameworks.

Создание снимков остаётся за Snapper

Набор даёт доступ к уже существующим снимкам, но не создаёт их. Снимки по-прежнему делаются вручную либо через средство управления снимками вроде Snapper.

При работе со Snapper потребуется дополнительная настройка: чтобы обращаться к снимкам без прав суперпользователя, в конфигурации Snapper нужно добавить себя в параметр ALLOW_USERS и включить SYNC_ACL=yes.

Чем это отличается от Btrfs Assistant

Графические программы для работы со снимками Btrfs существуют давно – например, Btrfs Assistant. Но они отделены от обычного просмотра файлов и рассчитаны скорее на управление самими снимками, чем на бытовые задачи пользователя. Прямой интеграции снимков в файловый менеджер, какая есть у Windows в виде «Предыдущих версий» и у macOS в виде Time Machine, в Linux до сих пор недоставало.

Снимок Btrfs – экономичная копия состояния подтома. Снимки делят экстенты файлов с оригиналом и занимают дополнительное место только там, где расходятся с ним, поэтому делать их часто недорого.

Собственный дистрибутив сообщества, KDE Linux, планируют в ближайшее время поставлять со Snapper и KIO Snapshot.

Заключение

С версией 1.0 доступ к снимкам Btrfs перестал быть отдельной технической процедурой и переехал в то же окно, где пользователь и так работает с файлами. Практическая польза очевиднее всего для тех, у кого корневой раздел или домашний каталог уже лежат на Btrfs, а снимки делает Snapper: восстановление вчерашней версии документа сводится к паре щелчков в Dolphin. Тем, у кого снимки не настроены, набор ничего не даст – сначала придётся поднять Snapper или свой сценарий. Подробности реализации опубликованы в блоге разработчика.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте