Журнал LinuxFormat - перейти на главную

LXF109:Что за штука

Материал из Linuxformat
Версия от 18:33, 29 октября 2011; Ewgen (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Что за штука… TimeVault?

Давайте сверим часы и присоединимся к Майку Сондерсу в путешествии во времени по файловой системе Linux…
  • TimeVault – напоминает о капсулах с посланием для потомков… Я прав? [Vault – склеп, а также сейф, хранилище, – прим. пер.]

Да-да, это как раз Linux-тема. Капсула захоронена под крупнейшей колонией пингвинов на Земле королевы Мод в Антарктике, в неё заложена первая версия ядра Linux, комплект дисков Slackware 2.0 и клок бороды Ричарда Столлмана.

  • А если без шуток – что это такое?

TimeVault – система резервного копирования для Linux, подобная Time Machine из Mac OS X 10.5. Обычно такие программы попросту берут кусок файловой системы и кидают его на внешний носитель. TimeVault гораздо умнее: она отслеживает изменения в файловой системе, не дублируя файлы. Ведь, как правило, большинство наших данных меняется не каждый день (и даже не каждую неделю). Мы работаем, от случая к случаю копируем новую музыку, но основная часть нашего добра лежит нетронутая.

  • А откуда программа узнаёт, какие файлы меняются, удаляются и добавляются?

При установке TimeVault создаёт фоновый процесс (демон), а тот следит за состоянием директорий, указанных пользователем. Если один из файлов в заданном каталоге меняется, программа делает его копию и сохраняет в условленном месте, чтобы при необходимости старую версию можно было восстановить. Например, вы испортили фото в GIMP или поработали с кодом, и он перестал компилироваться; TimeVault сможет воссоздать файл таким, каким он был вчера, неделю и даже месяц назад, причём время и ресурсы CPU зря не тратит: программа настраивается на любую периодичность, от нескольких минут до недели. Директории на бойком месте (скажем, той, где коды ваших программ) подойдёт ежечасное сохранение. А вот семейные фото вы вряд ли часто переделываете, этой папке довольно и раза в неделю.

  • И много памяти требует резервная копия?

Это зависит от типа файлов. Если вы редактируете видео, места понадобится много – сотня, а то и больше гигабайт. Тексты или программы будут поскромнее. Но регулярное копирование сейчас выгодно как никогда, ведь цены на накопители стремительно падают. Жесткий диск на 160 ГБ стоит 1000 – 1500 рублей; если этого мало, купите 1 ТБ за 5000. Этого вам надолго хватит.

  • Ну, хорошо. Допустим, мне нужно регулярное резервирование. У меня 10 ГБ MP3, и я поручаю TimeVault сохранять их еженедельно. Значит, каждую неделю ему подавай 10 ГБ?

Да что вы, нет! TimeVault не транжира: как и в Time Machine, тут есть особый фокус. Вместо того чтобы просто копировать содержимое директории на внешний носитель, программа сравнивает версии файлов, уже имеющиеся в архиве, с текущими. Пусть ваши 10 ГБ музыки копировались на прошлой неделе; в следующий раз TimeVault проверит содержимое директории и запишет только новые и изменённые файлы.

Это сберегает массу дискового пространства. Первая резервная копия, конечно, будет увесистой, но последующие потребуют только записи изменений, а не копирования всех файлов. Конкретные числа могут различаться, но в среднем для ежедневного резервирования работы последних трёх месяцев должно хватить диска умеренной ёмкости (гигабайт 50).

  • Ну, а как вернуться к старым копиям файлов?

TimeVault состоит из двух частей: фоновый процесс-демон следит за состоянием директорий и в указанное время делает их снимки. Другая часть – графический интерфейс, в нём происходит настройка программы и выбор каталогов для сохранения. Пока что разработка TimeVault сосредоточена в сообществе Ubuntu, поэтому GUI имеется только для Gnome. Обсуждение KDE-варианта уже идёт, и есть надежда, что ради прогресса Linux в целом программа со временем станет универсальной.

В системном лотке на рабочем столе Gnome поселяется значок, который уведомляет вас об изменении файлов. Через него можно запустить Snapshot Browser, программу вроде файлового менеджера, которая позволяет просматривать содержание предыдущих копий. Грохнули вы, к примеру, любимую MP3- запись или сделали роковую ошибку в каком-нибудь документе – Snapshot Browser повернёт время вспять, выбрав определённый день и час, и вы получите прежний файл, как ни в чём не бывало. Просто сногсшибательно – даже если вы сидите!

  • Чудесно. Значит, я указываю TimeVault на свою домашнюю директорию, и всё будет в шоколаде?

Э, нет! Домашняя директория – статья особая. Здесь активность файловой системы чрезмерна. Попробуйте набрать ls -a в терминале – вы увидите множество скрытых файлов и директорий, названия которых начинаются с точки. Это временные файлы или настройки программ, и они меняются чуть ли не ежеминутно, а то и чаще. Возьмём Firefox. Файлы его настройки хранятся в .mozilla/ в вашей домашней директории. Кэш-файлы хранятся тут же – а ведь при web-сёрфинге они меняются непрерывно. Если поручить TimeVault сохранять домашнюю директорию, программа будет работать только на кэш Firefox, и дисковое пространство улетучится со свистом.

Лучше немного подумать и задать TimeVault сохранение только тех директорий, в которых хранятся музыка, фото, коды программ и т.п. Регулярные снимки всей домашней директории разорительны.

  • А какие новые функции планируются в будущих версиях TimeVault?

Как насчёт API TimeVault? С его помощью сторонние программы смогут задействовать функциональность TimeVault и избежать лишнего кодирования. Один из примеров, приведённых разработчиками – почтовый клиент Evolution. Представьте, как удобно прокрутить список предыдущих сообщений и отыскать среди них случайно удалённые. То же относится к списку контактов, событиям в календаре и другим данным, хранимым программой.

Рассматриваются два подхода к такому взаимодействию. Первый – заставить TimeVault работать как файловый сервер, чтобы по запросу другие программы сохраняли и восстанавливали свои данные на определённые даты. Второй – программы могли бы запрашивать запуск GUI для просмотра резервных копий; хотя тут трудно добиться такой гибкости, чтобы способ был применим ко всем типам приложений.

Текущий план – добавить два новых вызова к настольной системе коммуникации D-BUS. «Озабоченная» программа сможет обратиться к TimeVault с предложением: «сохраняй данные такого-то участка файловой системы с такой-то частотой (ежечасно, ежедневно и т.д.)». И наоборот, при необходимости приложения смогут пользоваться хранилищами TimeVault с целью восстановления утраченных данных. Мы, как конечные пользователи, тоже сможем просматривать эти хранилища, ограничивая вывод с помощью системы фильтров.

Как всё это будет работать на практике, мы ещё поглядим, но связка TimeVault с такими китами, как Evolution, OpenOffice.org и Scribus, даст настольному Linux немалые козыри.

  • Ладно, хватит про функции. Дайте, дайте скорее адрес!

Ах я тормоз! Как уже упоминалось, разработка TimeVault связана с Ubuntu и Gnome, поэтому для тестирования программы необходимо установить именно этот дистрибутив. А вот фоновому демону он безразличен, и если вам пришла охота заняться хакерством, ступайте прямо на http://wiki.ubuntu.com/timevault – там ждут помощи в портировании программы.

Если у вас установлен Ubuntu (пусть в виртуальной машине), можете взять Deb-пакет последней версии с вышеуказанного адреса и попробовать его. Проект пока в альфа-стадии, так что серьёзные данные доверять ему не стоит, но дело идёт к версии 1.0, и уже сейчас результаты впечатляют. Надеюсь, мы увидим TimeVault уже в следующей версии Ubuntu, а если наладится портирование – и в очередном цикле прочих дистрибутивов. LXF

Персональные инструменты
купить
подписаться
Яндекс.Метрика