Я подумываю о создании системного приложения для спасения жизни для Ubuntu, которое может восстановить систему до более раннего состояния.Это может быть очень полезно в ситуациях системного сбоя.Пользователь может создать точку восстановления, а затем использовать их для восстановления своей системы.Это будет использоваться для пакетов вначале, а затем для восстановления предыдущих версий файлов, что-то вроде функции восстановления системы в окнах Microsoft.Вот страница с идеями Страница с идеями
Я претворил в жизнь некоторые идеи о том, как реализовать это подобно тому, как это делается в Windows, сохраняя информацию о файлах в файловой системе, файловая система интеллектуальнадостаточно, чтобы использовать для этой функции.Но у нас нет такой файловой системы, доступной в Linux, одна такая файловая система - brtfs, но ее использование приведет к тому, что пользователи будут создавать разделы, что будет громоздко.Поэтому я думаю о подходе «копировать при записи и сохранять при удалении».Когда точка восстановления будет создана, я создам новый каталог для резервного копирования, такой как «backup # 1», в папке восстановления, созданной приложением ранее, а затем создам жесткие ссылки для файлов, которые необходимо восстановить.Теперь, если какой-либо файл будет удален из его исходного местоположения, у меня будет жесткая ссылка, которая может быть использована для восстановления файла, когда это необходимо.Но этот подход не работает на модификации.Для модификации я думаю о создании хуков в файловой системе (используя redirfs ), которые будут вызывать мои прикрепленные обратные вызовы, которые будут проверять изменения в различных частях файлов.Я сохраню все эти изменения в базе данных, а затем восстановлю их, как только потребуется восстановление.
Пожалуйста, предложите мне несколько эффективных подходов для этого.Спасибо