- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF93:Kamion
Материал из Linuxformat.
Содержание |
KDE 4 на колесах
Переезд на новую квартиру – настоящая головная боль. Миграция с одного компьютера на другой – тоже малоприятное занятие. Натан Сандерс расскажет нам о новом приложении KDE, которое облегчит трудности переезда.
КDE встречается чаще, чем вы можете предположить. Некоторых может отпугнуть большое количество разнообразных опций, но фанаты-настройкокопатели вряд ли будут чувствовать себя так же комфортно в других оконных средах. Теперь, благодаря новому инструменту переноса пользователей Kamion стать таким фанатом под силу каждому…
Тем, кто использует KDE на нескольких компьютерах, наверняка приходилось вручную задавать одни и те же настройки среды на разных системах. Кроме этого, время от времени вам наверняка случается создавать резервные копии важных данных и хранить их на всех доступных ПК. И в том, и в другом случае поможет Kamion (одно из новых приложений, появившихся в KDE 4). Используя встроенную базу данных и взаимодействуя с пользователем, эта программа собирает всю необходимую информацию (личные файлы и настройки приложений). После этого формируется архив, который можно перенести на другой компьютер и там распаковать. Таким образом, это средство миграции пользователей позволит вам перенести все настройки среды KDE с одного компьютера на другой.
Простое копирование каталога /home неэффективно и потребует много времени на перенос объемного и ненужного кэша браузера. К тому же некоторые приложения могут вовсе не запуститься на другой системе из-за конфликтов версий, что изрядно потреплет вам нервы. Kamion (в переводе с сербского «грузовик») использует более продуманный подход. Он знает, что нужно и что не нужно брать с собой в новый дом. В идеальном случае каждое приложение должно добавить в базу данных Kamion информацию о том, какие файлы необходимы для его работы и с какими версиями программы они совместимы, а какие файлы содержат временные данные и не имеют большого значения. Kamion использует эту информацию для создания архива, после восстановления которого на другом компьютере мы получим окружение, полностью повторяющее оригинал.
Впрочем Kamion пригодится даже тем, кто не собирается работать в KDE 4. Ведущий разработчик проекта Иван Кукич [Ivan Cukic] создавал его в рамках The Season of KDE, ответвления Google Summer of Code. Он разрабатывает Kamion в двух направлениях: а) простой графический интерфейс и б) сервисная библиотека libKamion, которая может использоваться оболочками, ориентированными на другие оконные среды или даже отдельные приложения.
Экскурсия
Это краткое руководство по Kamion предназначено для смельчаков, пользующихся текущей версией KDE 4, которая еще находится в разработке. Для тех, кто захочет установить KDE 4, на страничке http://developernew.kde.org/Getting_Started приведены инструкции по установке. Даже если вы просто хотите посмотреть, как выглядит и работает Kamion, эта статья будет для вас полезной. Обратите внимание, что для создания резервной копии с помощью Kamion нам потребуется найти XML-файлы состояния какого-нибудь приложения.
Пошаговое руководство наглядно демонстрирует все возможности текущей версии приложения, но это лишь небольшая часть того, что может предоставить библиотека libKamion. Одной из следующих задач разработчика является механизм добавления в архив Kamion произвольных файлов и каталогов, который позволит вам сделать резервную копию файлов из папки Documents или приложения, которое не распознается автоматически. Что же касается механизма постоянной синхронизации настроек системы на двух компьютерах, то его разработка пока не планируется. Кукич считает, что эта задача выходит за рамки функционала его приложения, но уверен, что разработать такой компонент поверх libKamion будет достаточно просто.
Кое-что для разработчиков
Будущее Kamion целиком и полностью зависит от связи этого приложения с другими. С приложениями, которые предоставят Kamion файл XML с описанием своего текущего состояния (эти файлы будут скомпилированы в базу данных SQLite 3, которая выступает лишь как кэш для них), никаких проблем не будет. Файлы конфигурации и данных для таких приложений будут полностью восстановлены на другом компьютере. Настройки остальных приложений придется переносить вручную или попросту отказаться от этой затеи.
К счастью, обеспечить поддержку некоторого приложения в Kamion очень просто. Файл XML, который должно предоставить это приложение, должен отвечать стандарту http://Freedesktop.org/ (который сейчас обсуждается) и содержать следующие элементы:
» Название приложения.
» Общая категория для этого приложения, например, ‘web.browser’.
» Краткое описание приложения. Например, ‘IM program’.
» Иконка приложения. Может быть иконкой этого приложения с рабочего стола.
» Файл использования (existence test). Это файл, который создается при запуске приложения. Если существование XML-файла говорит о том, что пользователь установил приложение, то существование файла использования приложения означает, что пользователь запускал его и вероятно захочет сделать копию его состояния.
» Список ресурсов приложения. Список всех файлов конфигурации и данных, которые использует приложение. Каждый элемент списка должен иметь уникальный идентификатор (например, ‘kopete.history’), название (например, ‘chat history’), полный путь до файла ресурса (например, $HOME/.kde/share/apps/kopete_history) и описание (например, ‘Record of IM conversations’).
» Версия приложения или конфигурационного файла. Если указана версия приложения, то в случае ее отличия, Kamion предупредит пользователя о несовместимости. Если указана версия файла конфигурации, Kamion спокойно выполнит обмен файлов между различными версиями приложения.
Последняя возможность Kamion может быть расширена. Сейчас Kamion только выдает предупреждение в случае, когда версии конфигурационного файла в резервной копии и на другом компьютере несовместимы. В будущем Kamion может использовать специальные скрипты для конвертирования конфигурационных файлов различных версий. Эти скрипты будут поставляться приложениями. Еще проще возложить эту задачу на сами приложения. В этом случае им следует «разрешить» Kamion использовать конфигурационные файлы, отвечающие различным версиям приложения.
Стандартизация
Стандарты Freedesktop.org уже предусматривают наличие у каждого приложения файлов для связи с рабочим столом. Это файлы .desktop, содержащие информацию о названии приложения, которое появится в меню Программы, и параметрах работы приложения (например, перечень команд для его запуска). Поэтому добавление другого стандартного файла – файла состояния приложения для Kamion – не слишком суровое требование, и даже не слишком оригинальное.
К сожалению, большинство участников скромной команды разработчиков Linux Format ничего не слышали о Kamion. Даже те из них, кто разрабатывал приложения для KDE 4, не подозревали о его существовании. Поэтому сейчас этому приложению еще требуется некоторое продвижение. Чтобы обеспечить полную совместимость с другими приложениями, потребуются напряженная работа и тесное взаимодействие всего сообщества. Стандартизация Freedesktop.org – первый шаг на этом пути.
Хотя Иван Кукич разрабатывает Kamion для KDE 4 и операционной системы Linux, это приложение потенциально может использоваться и на других Unix-системах, таких как Solaris и BSD. Единственная платформа, поддержку которой Кукич не планирует – это Windows. Версия программы под Windows может потребовать значительных изменений в коде, и Кукич производить их не хочет. Он советует разработчикам «использовать модель хранения данных Unix (файлы и каталоги в домашнем каталоге пользователя, название которых начинается с точки)».
После объявления Trolltech о том, что библиотека Qt 4, которая лежит в основе KDE 4, будет доступна пользователям Windows по лицензии GPL, разработчики KDE успешно переносят многие приложения KDE на эту платформу. Распространенность операционной системы от Microsoft представляет приложениям KDE вполне понятные перспективы, а также сможет привлечь новых разработчиков. Однако некоторые приложения - под Windows и поэтому не будут переноситься. Это оконный менеджер KWin, и, возможно, Kamion. В самом деле, аналоги Kamion в Windows уже существуют (см. врезку «Перенос пользователей в Windows»).
За пределами KDE 4
Хотя Кукич и не собирается создавать версию Kamion под Windows, другим разработчикам не составит труда сделать это за него. Интерфейс Kamion на Qt 4 - это лишь графическая оболочка для средства миграции пользователей, вся реализация которого заключена в сервисной библиотеке libKamion. Кукич с самого начала решил сохранять разделение между серверной библиотекой и графическим интерфейсом, чтобы другие разработчики смогли создавать свои собственные оболочки.
В качестве клиентов библиотеки libKamion могут выступать даже отдельные приложения. Например, пользователи почтового клиента, использующего эту библиотеку, смогут создавать резервные копии своего почтового ящика. Кукич уже написал простейшую консольную оболочку, использующую libKamion.
Разработчики могут воспользоваться всеми преимуществами библиотеки уже сейчас - Кукич завершил ее разработку в августе прошлого года. Сервисная библиотека предоставляет разработчикам весь необходимый функционал для создания средства миграции пользователей. Она содержит инструменты для взаимодействия с базой данных, сбора и архивирования необходимых файлов и восстановления файлов из архива. Сейчас библиотека использует базу данных SQLite 3 и Qt 4. В дальнейшем, чтобы устранить зависимость от Qt 4, Кукич надеется выпустить версию программы, которая будет использовать Xerces-C для синтаксического анализа XML и PStreams для управления процессами.
Разработчики приложений для Gnome, вероятно, создадут собственное средство миграции пользователей. Впрочем, одни и те же технологии часто используются в различных оконных средах (например, библиотека для просмотра PDF Poopler и система обмена сообщениями D-BUS). Поскольку весь код приложения выпущен по лицензии GPL 2, разработчики могут использовать его практически без ограничений.
Успех Kamion невозможен, если каждое приложение не предоставит ему информацию о себе в виде XML-файла. И только от числа разработчиков, готовых принять участие в интеграции своих проектов с Kamion, зависит, станет ли это приложение неотъемлемой частью KDE 4. Тем не менее, если разработчики захотят помочь друг другу, Kamion может стать «островом Эллис» для KDE. [Остров Эллис -небольшой остров близ г. Нью-Йорка. В 1892-1943 - главный центр по приему иммигрантов в США. С 1965 стал частью Национального памятника «Статуя свободы» - прим. перев.]
Чтобы принять участие в проекте, зайдите на страничку http://Kamion2.sourceforge.net/ .
Шаг за шагом: Переносим настройки KDE с помощью Kamion
1 Создаем резервную копию
Выберите Pack The Data, чтобы создать резервную копию, или Restore The Data, чтобы восстановить данные. Диалог Settings позволяет указать местоположение файлов настройки Kamion и программу для записи компакт-дисков.
2 Выбираем приложения и ресурсы
В окне отобразится список приложений, которые поддерживаются Kamion. С помощью стрелок в правой панели можно просмотреть полный список ресурсов для каждого приложения и выбрать те, которые будут включены в архив. Вкладки слева и строка фильтра справа помогут задать условия поиска приложений.
3 Сохраняем резервную копию
Кнопка Save To Disk вызовет стандартный диалог, с помощью которого можно сохранить архив на диске. Кнопка Send By Mail позволит вам отослать архив по почте посредством указанного ранее клиента. Архив можно также записать на CD.
4 Миссия выполнена
Kamion отобразит список ресурсов создаваемого архива, и у вас будет последний шанс изменить его, нажав кнопку Back. Запомните: как и во всех приложениях KDE, вы можете использовать виртуальную файловую систему KIO, чтобы сохранить файл на удаленном узле.
5 Восстанавливаем данные
Диалог восстановления данных из архива мало чем отличается от диалога его создания. Kamion отобразит полный список ресурсов архива, и вы сможете выбрать, какие из них нужно восстановить, а какие нет. Вы можете воспользоваться фильтром приложений по ключевым словам, категориям, избранному, истории архивирования и т.п.
6 Неизбежное
Конечно, все может пройти и не совсем гладко. Данное сообщение об ошибке вызвано более новой версией Firefox. Если мы до конца не уверены в том, что каталоги данных разных версий Firefox полностью совместимы, лучше вернуться на предыдущий шаг и отменить восстановление. Если бы Firefox не был установлен совсем, Kamion тоже выдал бы соответствующее предупреждение.
Врезки
Перенос пользователей в Windows
Первое средство для миграции пользователей, мастер переноса файлов и установок - Files And Settings Transfer Wizard (FAST), появилось в Windows XP. Это средство обеспечивало перенос установок с Windows 95, 98, ME и 2000 в Windows XP. Для корпоративных пользователей была выпущена расширенная версия продукта - User State Migration Tool (USMT). В Windows Vista используются новая версия USMT 3.0 и Windows Easy Transfer как замена FAST.
В отличие от Kamion, в этих программах акцент смещен на перенос пользователя на новый компьютер или операционную систему, а не на создание резервных копий или перенос настроек системы с одного компьютера на другой. Как следствие, они содержат ряд интересных возможностей, в которые входит быстрая передача и восстановление данных на другом компьютере через соединение по USB, Ethernet и другим интерфейсам. Есть возможность передать профили пользователей и другие низкоуровневые подробности, что может представлять определенную сложность в Unix-системах.
Как и в Kamion, в этих программах производится резервное копирование и восстановление конфигурационных файлов и личных данных пользователя. Файлы от некоторых программ распознаются автоматически (по большей части, это продукты Microsoft). Kamion разрабатывается не так давно и не обеспечивает поддержки многих приложений, но использование XML-файлов состояний, стандартизированных http://FreeDesktop.org/, поможет обеспечить прекрасную совместимость со всеми приложениями.
Резервирование или миграция?
Мы все используем средства создания резервных копий, но в чем их отличие от средств миграции пользователей? | ||
Задача | ||
Архивирование личных файлов пользователей | ||
Сжатие архива | ||
Архивирование конфигурационных файлов приложений | ||
Предупреждение о несовместимости версий конфигурационных файлов | ||
Игнорирование временных файлов и кэша браузера | ||
Предотвращение восстановление файлов неиспользуемых программ |
Файл .kamion
Резервная копия хранится в единственном файле .kamion, который представляет собой не что иное, как обычный архив tar, содержимое которого (файлы данных и конфигурации) имеет определенную структуру. Внутри этого архива можно найти файл Manifestxml с полным списком ресурсов архива и указанием на то, каким приложениям они принадлежат. Сами файлы ресурсов упакованы и хранятся в файлах типа appname.resource name.tar.bz2. В архиве также содержится файл Wishlist.xml, который содержит список всех ресурсов, выбранных пользователем. Различия между этими файлами могут быть только в том случае, когда при попытке включения файла в архив произошла ошибка.
Файл Wishlist.xml пока не используется приложением, но может оказать вам неоценимую услугу, когда вы начнете разбираться, куда делись все те почтовые сообщения, которые вы год как скопировали на резервный носитель.