20 августа 2026 года вышел первый стабильный KIO Snapshot 1.0.0. Это не отдельный «менеджер точек восстановления», а дополнение к подсистеме ввода-вывода KIO: прошлые версии файлов из снимков Btrfs открываются прямо в Dolphin и в других приложениях KDE, которые понимают протоколы KIO.
Автор, Bharadwaj Raju, описал работу в заметке от 20 августа. Тарболл лежит на download.kde.org/stable/kio-snapshot: kio-snapshot-1.0.0.tar.xz, время файла 13:19 UTC. Тег v1.0.0 в Invent подписан в тот же день. С процессом релиза помогал Bhushan Shah.
Что умеет KIO Snapshot в Dolphin
Снимки Btrfs дешёвые: это особый случай subvolume, файловые экстенты делятся с оригиналом, место занимают только отличия. На этом давно живут Snapper, Timeshift и Btrfs Assistant. Не хватало того, что в Windows называется Previous Versions, а в macOS Time Machine: открыл файл в обычном диспетчере и увидел историю, не уходя в отдельную админскую утилиту.
KIO Snapshot как раз про этот слой. По контекстному меню файла открывается виртуальная папка с сохранёнными версиями. Их можно сравнить, посмотреть свойства или скопировать нужную.
Для каталога есть обзор целого дерева subvolume на момент снимка. Автор сначала делал диалог с кнопками «открыть / восстановить», как в Windows, затем заменил его на обычную виртуальную папку: так проще выделить несколько версий и отдать их в любой инструмент сравнения.
Протокол называется snapshot://. Его понимают программы на KDE Frameworks, не только Dolphin. В AppStream-метаданных дополнение заявлено как addon к Dolphin, Konqueror, Krusader и Gwenview. Сам worker в JSON описан как только для чтения: писать, удалять и перемещать через snapshot:// нельзя. «Восстановить» на практике значит скопировать версию из виртуальной папки туда, куда нужно.
Почему это важно на практике
Типичный сценарий не «откатить весь корень после сломанного обновления», а вернуть один документ, скрипт или конфиг, который перезаписали час назад. Если домашний каталог лежит на Btrfs и снимки уже есть, это ближе к повседневной работе, чем разбор btrfs subvolume list в терминале.
Для серверного VPS с WordPress и Nginx новость слабее: там обычно ext4, а откат делают через rsync, снапшоты гипервизора или бэкап панели. На десктопе Plasma со свежей Btrfs-разметкой картина другая. Рядом по стеку KDE на сайте уже разбирали kscreenctl в Plasma 6.8: там тоже закрывают старую дыру «есть CLI, но им неудобно пользоваться».
Как это устроено
С файловой системой worker говорит через libbtrfsutil из btrfs-progs, с монтированием через Solid. API Btrfs для обычного пользователя очень осторожный: даже вопрос «в каком subvolume лежит этот путь» суперпользователю отвечает, а обычному нет. Первый прототип держал системный DBus-сервис под root. После подсказки Méven Car автор обошёл это без привилегированного демона: Btrfs готов отдать список доступных subvolume под путём, а из него уже собирается нужная карта.
Сборка в CMake просит Qt не ниже 6.8, KDE Frameworks не ниже 6.23 и пакет libbtrfsutil. Лицензия LGPL-2.0-or-later. Рядом автор правил KIO (поведение адресной строки Dolphin), Solid (раскладка Btrfs как в KDE Linux) и дефолтный вид папок снимков в Dolphin.
Важная граница: дополнение снимки не создаёт. Без Snapper, Timeshift, ручного btrfs subvolume snapshot или политики дистрибутива в виртуальной папке будет пусто. Если снимки делает Snapper, в README прямо сказано: пользователя нужно добавить в ALLOW_USERS нужного конфига и включить SYNC_ACL=yes, иначе каталоги .snapshots остаются закрыты для обычного сеанса.
KDE Linux уже готовит это из коробки
9 августа 2026 в KDE Linux влит RootFSv3 (MR !475): домашние каталоги пользователей стали отдельными Btrfs subvolume. Без этого снимок «всего /home» плохо стыкуется с историей одного человека.
14 августа влит MR !613 «Set up snapper for kio-snapshot». В образ добавлен пакет snapper, включены snapper-timeline.timer и snapper-cleanup.timer. При входе пользователя systemd поднимает oneshot, который создаёт конфиг home_UID по шаблону home, прописывает ALLOW_USERS и ставит SYNC_ACL=yes. Timeline в шаблоне: почасовых снимков 6, дневных 7, недельных 4, месячных 2. Это не «вечный архив», а короткое окно, из которого как раз удобно доставать случайно затёртый файл.
В заметке от 20 августа автор формулирует осторожнее: KDE Linux скоро будет отдавать Snapper и KIO Snapshot из коробки. Snapper в образе уже есть. KIO Snapshot к тому моменту только-только получил стабильный тарболл, поэтому формулировка «уже предустановлено в каждом ISO» пока относится к цепочке в репозитории дистрибутива, а не к гарантированному составу конкретной сборки, которую вы скачали неделю назад.
Как поставить и чем проверить
В Arch Linux пакет уже в Extra: kio-snapshot 1.0.0-1, сборка Antonio Rojas, дата 20 августа 2026, 21:02 UTC. KDE Linux собирается вокруг Arch, так что путь пакета короткий. В Ubuntu, Fedora и openSUSE на момент подготовки материала отдельного пакета в поиске репозиториев не видно: автор как раз писал, что дистрибутивы подтянут его «достаточно скоро».
На Arch установка такая:
sudo pacman -S kio-snapshot
Дальше имеет смысл убедиться, что домашний каталог вообще на Btrfs и что это subvolume, а не обычный каталог на общем томе:
findmnt -no FSTYPE,SOURCE "$HOME" sudo btrfs subvolume show "$HOME"
Если subvolume show отвечает ошибкой, снимок «только моего home» Snapper сделать не сможет. Тогда либо переносят home на subvolume (это уже разметка диска, не кнопка в Dolphin), либо смотрят историю на уровне корневого subvolume, если снимки делаются там.
Для ручной настройки Snapper на отдельный home (права администратора, сначала на тестовой машине) схема из документации Snapper и ArchWiki такая:
sudo snapper -c home_user create-config /home/user sudo snapper -c home_user set-config "ALLOW_USERS=user" SYNC_ACL="yes"
Имена home_user и user нужно заменить на свои. После этого обычный пользователь должен суметь выполнить snapper -c home_user list без sudo. Если список пустой, в Dolphin тоже нечего показывать: сначала нужны сами точки. Проверить, что ACL на .snapshots живые, можно так:
getfacl "$HOME/.snapshots"
Где обычно ломается
Файловая система не Btrfs. Тогда KIO Snapshot просто не из чего собирать историю. Ext4, XFS и ZFS здесь ни при чём.
Снимки есть, но каталог .snapshots принадлежит root, ALLOW_USERS пустой, SYNC_ACL по умолчанию no. Меню в Dolphin либо не появится, либо откроет пустоту. Это самая частая ловушка на openSUSE и самодельных конфигах Snapper.
Home не subvolume. Снимок всего /home содержит файлы соседа. KDE Linux как раз поэтому ушёл на RootFSv3.
Снимки Btrfs не заменяют копию на другой диск. Повреждение тома, шифровальщик и ошибка btrfs subvolume delete бьют по живым данным и по точкам сразу. Для рабочего сайта и для ноутбука с единственным NVMe это по-прежнему rsync, Borg, restic или снапшот у хостера, а не только timeline Snapper.
Протокол только для чтения. Перезаписать текущий файл «на месте» одной кнопкой Restore worker не обещает. Нужно скопировать версию из виртуальной папки.
Как проверить, что заработало
- Пакет установлен, в Dolphin после перезапуска сеанса есть пункты просмотра снимков у локального файла на Btrfs.
snapper -c … listот обычного пользователя показывает точки, не ошибку доступа.- В виртуальной папке видны разные даты, а не один и тот же файл десять раз. Worker отфильтровывает версии с одинаковым временем изменения.
- Файл из снимка открывается и копируется, запись обратно в
snapshot://не предлагается.
Ошибки и пожелания автор просит слать в bugs.kde.org, продукт kio-snapshot.
Вывод
KIO Snapshot 1.0.0 закрывает старую дыру Linux-десктопа: снимки Btrfs больше не обязаны жить только в отдельной утилите. 20 августа 2026 вышел стабильный тарболл, Arch Extra уже пакетит 1.0.0-1, в KDE Linux дома сделали subvolume и настроили Snapper с доступом без root. Само дополнение точки не создаёт. Если снимков нет, Dolphin честно покажет пустую историю. Если снимки есть и ACL открыты, предыдущая версия файла достаётся из контекстного меню, без sudo и без похода в Btrfs Assistant.