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

LXF102:Миграция из Windows

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(викификация, оформление)
 
(викификация, оформление, иллюстрация)
 
Строка 6: Строка 6:
 
{{Цикл/Миграция из Windows}}
 
{{Цикл/Миграция из Windows}}
  
: '''ЧАСТЬ 2 Джо Касселз''' знает несколько ловких приемов синхронизации данных между Windows и Linux, которые облегчат переход от одной системы к другой.
+
: '''ЧАСТЬ 2. Джо Касселз''' знает несколько ловких приемов синхронизации данных между Windows и Linux, которые облегчат переход от одной системы к другой.
 +
 
 +
Если у вас больше одного компьютера, рано или поздно возникает проблема синхронизации данных. При работе с одними и теми же файлами на разных компьютерах важно, чтобы изменения сохранялись, а у вас всегда была бы одна и та же версия файла, независимо от того, где вы находитесь. Если на одном из компьютеров установлена Windows, а на другом – Linux, эта задача
 +
немного усложняется. Однако если вы знаете, что делать, это не станет головной болью.
 +
 
 +
В процессе миграции в Linux многим нужно иметь возможность
 +
работать в Windows; кроме того, иногда просто полезно иметь
 +
несколько разных систем. Самый простой способ сделать это –
 +
настроить конфигурацию с двойной загрузкой (в большинстве дистрибутивов она просто выбирается при установке). Если в дистрибутиве есть поддержка чтения с разделов '''NTFS''' или '''FAT32''', то к файлам Windows должен быть доступ из Linux. Обратное неверно, но файлы
 +
можно сохранить на Windows-совместимый раздел прямо из Linux, и
 +
тогда они будут доступны из обеих систем. Поддержка записи в '''NTFS'''
 +
в стабильной версии появилась лишь недавно. Для нее вам потребуется установить '''NTFS-3G''', загрузить который можно со страницы
 +
http://www.ntfs-3g.org.
 +
 
 +
Конфигурация с двойной загрузкой на самом деле не включает
 +
синхронизации данных, ведь вы просто работаете с одними и теми
 +
же файлами, какую бы ОС ни использовали. Она не поможет и в
 +
том случае, когда нужно запустить обе ОС одновременно на разных
 +
компьютерах: к примеру, есть обычный компьютер с Windows и
 +
ноутбук с Linux, или наоборот. Поскольку между компьютерами нет
 +
постоянного сетевого соединения, позволяющего получить доступ к
 +
общим файлам, нам потребуется некая система, способная работать
 +
с копиями файлов и обновлять их, когда такое соединение появля-
 +
ется. Пользователям Windows, возможно, знаком Портфель, с помощью которого можно выгрузить нужные каталоги на ноутбук или
 +
сменный диск и работать с ними в другом месте, а позже – обновить. Но число файлов, с которыми он работает, ограничено. Когда
 +
потребуется обновить большое количество файлов, могут возникнуть проблемы, и вам не удастся воспользоваться этими файлами
 +
в других ОС.
 +
 
 +
===Ручная синхронизация===
 +
 
 +
Если у вас хорошее широкополосное сетевое соединение (например,
 +
домашняя сеть), а файлов, подлежащих обновлению, немного, самым
 +
простым способом может быть простое копирование новых файлов
 +
поверх старых. Пока вы не забываете делать это по окончании работы и
 +
есть доступ к диску другого компьютера на чтение и запись, все может
 +
работать отлично. Просто откройте окошко с файлами компьютера с
 +
Windows из Linux и переместите туда новые файлы, выбрав «заменить», когда система об этом спросит. Недостаток этого подхода – нужно помнить, где находятся самые последние версии файлов, а если
 +
файлы изменились на обоих компьютерах, по ошибке легко испортить
 +
правильную версию и потерять данные. Поэтому я бы советовал вам
 +
использовать этот подход, только когда файлов немного и имеется
 +
отдельная локальная копия данных.
 +
 
 +
{{Врезка|Содержание=[[Изображение:LXF102_60_1.jpg|300px]] В графической версии программы можно просмотреть локальный каталог, который вы хотите синхронизировать.|Ширина=300px}}
 +
 
 +
Очевидно, нужна структурированная система, которая проверит
 +
состояние каждого файла в синхронизируемых каталогах и покажет, какие файлы изменились. Есть несколько кроссплатформенных
 +
решений такого рода. Пожалуй, самое простое из них – ''Unison''. Это
 +
графическое приложение, которое работает и в Linux, и в Windows.
 +
Когда вы правильно его настроите, работать с ним будет очень легко. ''Unison'' позволяет синхронизировать файлы в обоих направлениях
 +
и может и заменять файлы, и объединять их, если изменения есть в
 +
обеих копиях.
 +
 
 +
===Установка ''Unison''===
 +
 
 +
Загрузить ''Unison'' можно со страницы http://www.cis.upenn.edu/~bcpierce/unison/download.html. Вы увидите, что доступны как версия под
 +
Windows, так и под Linux. Здесь же можно найти исполняемый файл
 +
под Windows. Если в вашем дистрибутиве используются пакеты, то
 +
''Unison'' можно установить из репозитория. Например, в Ubuntu выберите '''Приложения > Добавить/Удалить''' [Applications > Add/Remove] и затем
 +
'''Показать все открытые приложения с открытым кодом''' [Show all open source applications]. В строке поиска введите ''Unison'', затем установите
 +
его. Если нужен RPM-пакет, загрузить его можно со страницы http://rpmforge.net/user/packages/unison/, а пакеты для Debian находятся на
 +
странице http://packages.debian.org/unison.
 +
 
 +
Важно использовать одну и ту же версию ''Unison'' в обеих системах. Если в Linux ''Unison'' устанавливался из репозитория, то установленная версия может быть более старой по сравнению с текущей. Чтобы проверить, какая версия используется, откройте менеджер пакетов и
 +
выберите '''Поиск''' [Search]. Введите ''Unison'' в строке поиска и нажмите на кнопку '''Поиск''' [Search]. Вы увидите все доступные версии, включая установленную. Запомните ее номер. Эту же версию программы
 +
будет нужно установить в Windows. Если вы загружали пакет, то имя файла должно включать номер
 +
версии ''Unison''. Зайдите на страницу http://www.cis.upenn.edu/~bcpierce/unison/download.html, и если установленная версия меньше 2.24, то
 +
найдите исполняемый файл нужной версии, щелкнув по ссылке «'''Older Windows binaries'''».
 +
 
 +
{{Врезка|Заголовок=Скорая помощь|Содержание=Несколько версий ''Unison'' для Windows и Linux можно загрузить со страницы http://www.cis.upenn.edu/~bcpierce/unison/. Нужно использовать одну и ту же версию для обеих ОС. В репозиториях обычно содержится версия 2.13.16. По возможности, воспользуйтесь ею.|Ширина=200px}}
 +
 
 +
Есть две различных версии ''Unison'' – первая работает только в командной строке, у второй есть графический интерфейс. Обе версии
 +
нужны: понятно, что если вы привыкли к Windows, то предпочтете графическую версию, но текстовая версия тоже полезна, например, при
 +
синхронизации по сети.
 +
 
 +
===Локальные каталоги===
 +
 
 +
''Unison'' можно использовать для синхронизации локальных каталогов.
 +
Это неплохой вариант, если данные хранятся на внешнем USB-диске, подключаемом локально. Чтобы сделать это, запустите графическую
 +
версию ''Unison''. Если раньше вы им не пользовались, идите прямо в
 +
настройки профиля по умолчанию. Укажите первый каталог из тех,
 +
которые нужно синхронизировать. Для этого введите полный путь
 +
или просто найдите каталог с помощью кнопки '''Browse'''. Нажмите '''OK'''.
 +
Теперь выберите опцию '''Local''' и укажите второй каталог, затем снова
 +
нажмите '''OK'''. Если программа запущена в первый раз, то появится
 +
предупреждение об отсутствии архивных файлов. При первом запуске это нормально, так что просто нажмите '''OK'''. ''Unison'' просканирует
 +
оба каталога, отобразит файлы, которые имеют отличия, и порекомендует действия, которые нужно произвести для их синхронизации.
 +
Действия могут включать копирование файла (файлов) из одного
 +
каталога в другой, удаление или пропуск файлов. Любое из этих
 +
действий можно изменить, выбрав соответствующую пару файлов
 +
и указав направление перезаписи (слева направо или справа налево,
 +
слева – первый каталог). Можно пропустить пару файлов или объединить (слить) различия в них.
 +
Определив все действия, нажмите Go для их выполнения. Теперь можно выйти из программы.
 +
 
 +
Чтобы поднабраться опыта, полезно попробовать кое-что синхронизировать. Выберите каталог, в котором нет важных файлов, и
 +
создайте новый, с которым будете его синхронизировать. Выполните описанные выше действия, указав два этих каталога, и в результате в
 +
новом каталоге должны появиться копии всех файлов из исходного каталога.
 +
 
 +
{{Врезка|Содержание=[[Изображение:LXF102_61_1.jpg|300px]] Просканировав локальный и удаленный каталоги, ''Unison'' выведет список файлов, подлежащих
 +
обновлению, и действия для них по умолчанию. |Ширина=300px}}
 +
 
 +
Версия для командной строки имеет ту же логику. Откройте окно терминала и введите команду
 +
 
 +
  unison folder1 folder2
 +
 
 +
Если папки '''folder1''' и '''folder2''' находятся в домашнем каталоге, полный путь указывать не нужно. При первом запуске программы появится текстовая версия предупреждения о файлах архива; нажмите '''Enter''',
 +
чтобы продолжить работу. Сканируя каталоги, ''Unison'' отобразит каждый файл или каталог, где есть изменения, вместе с действием по
 +
умолчанию. Чтобы применить действие по умолчанию, нажмите '''Enter'''.
 +
Если действие нужно изменить, нажмите '''>''' для замены файла слева
 +
направо или '''<''' для замены справа налево. Для пропуска файла нажмите '''/'''. Каждый раз будет запрошено подтверждение действия. Нажмите
 +
'''Y''' для подтверждения или '''N''', чтобы вернуться назад.
 +
 
 +
===Профили===
 +
 
 +
Если вы запускали графическую версию ''Unison'' до текстовой, она
 +
может попытаться использовать профиль по умолчанию, составленный при последнем запуске программы. В этом случае может
 +
появиться сообщение об ошибке, говорящее о том, что задано
 +
слишком много корневых каталогов. Ошибка возникает потому,
 +
что графическая версия программы создает файл профиля, где указано, какие каталоги синхронизировать. Типичный файл настроек
 +
выглядит так:
 +
 
 +
# Unison preferences file
 +
root = /home/joe/folder1
 +
root = /home/joe/folder2
 +
 
 +
Он хранится под именем '''default.prf''' в папке '''.unison''' внутри домашнего каталога. Чтобы увидеть этот файл, откройте домашний каталог и
 +
выберите '''Вид > Отображать скрытые файлы''' [View > Show Hidden Files] для каталога '''.unison'''. Остальные настройки тоже могут быть в этом
 +
каталоге – в файле '''profilename.prf'''. Для запуска ''Unison'' с определенным профилем воспользуйтесь командой
 +
 
 +
unison profilename
 +
 
 +
Если вы не хотите, чтобы ''Unison'' запускался с терминала с профилем по умолчанию, откройте каталог '''.unison''' и дайте файлу '''default.prf'''
 +
какое-нибудь другое имя. Каталоги потом можно указать из командной строки, при этом в графической версии программы все еще можно
 +
будет выбирать профили.
 +
 
 +
===Версия для Windows===
 +
 
 +
Версия ''Unison'' для командной строки работает в Windows практически так же, как и в Linux. Исполняемый файл нужно извлечь в рабочий
 +
каталог, хотя бы и '''c:\unison'''. Имя EXE-файла может включать номер
 +
версии ''Unison'' – '''unison-2.13.16-wintext.exe'''. Переименуйте файл как
 +
'''unison.exe''', чтобы было проще запускать его с командной строки.
 +
Выберите '''Пуск > Выполнить''' [Start > Run], введите '''cmd''' в открывшемся
 +
окне в Windows XP или в окне поиска в меню запуска Vista, и нажмите '''Enter'''. Смените каталог на рабочий каталог ''Unison''.
 +
 
 +
  cd \unison
 +
 
 +
Теперь можно пользоваться теми же командами, что и в Linux, например:
 +
 
 +
  unison c:\folder1 c:\folder2
 +
 
 +
После этого программа работает точно так же, как и в Linux. Чтобы воспользоваться графической версией в Windows, потребуется установить ''GTK+ 2''. Загрузить ее можно с сайта проекта ''GIMP'' для Windows на странице http://tinyurl.com/22dkyv. Распакуйте
 +
файл и установите ''GTK''. Теперь можно скачать и распаковать графическую версию ''Unison'' для Windows; она называется наподобие
 +
'''unison-2.13.16-win-gtk2.exe'''. Это автономный исполняемый файл, и его можно запускать из каталога, в который он был распакован.
 +
Синхронизация локальных файлов в Windows ничем не отличается от таковой в Linux.
 +
 
 +
Использование локальных каталогов удобно для знакомства с ''unison'' и в случае хранения данных на съемном диске, но подлинно родная стихия программы – синхронизация данных по сети. Ее можно использовать поверх ''SSH''-соединения, но для разумно защищенной локальной сети это, пожалуй, перебор. Развернуть ''SSH''-сервер в Windows тоже непросто, поэтому мне кажется, что лучше всего нам подойдет соединение через сокеты. Это соединение достаточно просто настроить, хотя оно и небезопасно – впрочем, если ваша сеть достаточно защищена и упрятана за брандмауэр NAT, то беспокоиться не о
 +
чем. Просто не пользуйтесь им через интернет.
 +
 
 +
{{Врезка|Заголовок=Скорая помощь|Содержание=Если соединиться с компьютером Windows по сетевому имени не получается, попробуйте заменить имя
 +
на локальный IP-адрес. Чтобы узнать IP-адрес, введите в командной строке Windows команду ''ipconfig'' и нажмите '''Enter'''.|Ширина=200px}}
 +
 
 +
Для синхронизации с помощью сокетов на одном из компьютеров нужно запустить сервер ''Unison'', на другом – клиент. Если на одном из компьютеров установлена текстовая версия программы, ее можно использовать как сервер, а графическую версию на другом компьютере – как клиент. Сервер можно запускать и в Windows, и в Linux.
 +
 
 +
===Сервер в Windows===
 +
 
 +
Для начала нужно запустить ''Unison'' с командной строки. Предполагая, что файл уже распакован в каталог '''c:\unison''', откроем окно терминала
 +
и введем команды:
 +
 
 +
cd \unison
 +
unison -socket 2222
 +
 
 +
В окне появится сообщение “'''server started'''”. Если вы закроете это окно сейчас, то остановите сервер. В данном примере вместо '''2222'''
 +
можно ввести любое большее число: нужно просто указать, на каком порте будет работать программа. Пусть сервер работает, а вы перейдите на компьютер с Linux и запустите там графический клиент. При необходимости создайте новый профиль. Укажите локальный каталог и нажмите '''OK'''. Затем выберите '''Соединение через сокет''' [Socket Connection] и укажите имя компьютера Windows и порт, на котором работает сервер – в данном случае '''2222'''. Нажмите '''OK''', и программа запустится так же, как если бы вы синхронизировали локальные каталоги.
 +
 
 +
Указать каталог для синхронизации на компьютере Windows нельзя. В нашем примере ''Unison'' предполагает, что этот каталог, в котором
 +
запущен сервер, '''c:\unison'''. Однако можно запустить сервер и в другом каталоге. Также можно создать ярлык для сервера, и не придется
 +
запускать его с командной строки.
 +
 
 +
====Создаем ярлык====
 +
 
 +
{{Врезка|Содержание=[[Изображение:LXF102_61_2.jpg|300px]] Для упрощения запуска сервера ''Unison'' в Windows, создайте ярлык для его запуска и назначьте рабочий каталог.|Ширина=300px}}
 +
 
 +
Кликните правой кнопкой мыши в любом месте рабочего стола и выберите '''Новый > Ярлык''' [New > Shortcut]. В появившемся окне введите:
 +
 
 +
c:\unison\unison.exe -socket 2222.
 +
 
 +
Нажмите '''Далее''' [Next] и дайте ярлыку имя. Затем кликните правой кнопкой на созданном ярлыке и выберите '''Свойства''' [Properties]. На
 +
вкладке '''Ярлык''' [Shortcut] вы увидите то, что указали раньше. В поле '''Запускать в''' [Start in] введите путь к каталогу, с которым хотите синхронизировать данные, и нажмите '''OK'''. Теперь можно запустить сервер, щелкнув по этому ярлыку. После этого запустите ''Unison'' в Linux и
 +
синхронизируйте каталоги, как было описано ранее.
 +
 
 +
===Сервер в Linux===
 +
 
 +
Если вы хотите запустить сервер ''Unison'' в Linux, откройте терминал и введите команду
 +
 
 +
unison -socket 2222
 +
 
 +
которая должна возвратить тот же ответ “'''server started'''”. Теперь запустите графическую программу в Windows. Укажите каталог, который
 +
хотите синхронизировать, имя или IP-адрес компьютера с Linux и номер используемого порта. В поле '''Каталог''' [Directory] задайте подкаталог вашего домашнего каталога, который вы собираетесь использовать. Если не указывать подкаталог, синхронизируется все содержимое домашнего каталога. Нажмите '''OK''' и продолжите точно так же, как при синхронизации локальных каталогов.
 +
 
 +
После того, как профиль по умолчанию установлен и вы знаете, как запустить сервер, вся синхронизация становится делом нескольких щелчков, и вы вольны переключаться между компьютерами, как вам угодно. '''LXF'''
 +
 
 +
===Скорая помощь===
 +
 
 +
Помните, что после запуска сервера содержимое вашей файловой системы становится доступным любому, кто подключен к вашей сети. Убедитесь, что остановили
 +
сервер после окончания синхронизации, и никогда не пользуйтесь им без NAT-брандмауэра.
 +
 
 +
Не используйте каталог синхронизации вместо резервной копии. Если вы по ошибке удалите файл и затем синхронизируете каталоги, могут быть удалены обе
 +
копии. Отдельная резервная копия гарантирует, что вы не слишком много потеряете, совершив эту ошибку.
 +
 
 +
===Удаленный доступ===
 +
 
 +
Чтобы синхронизировать данные по сети с помощью ''Unison'', у вас должен быть
 +
доступ к обоим компьютерам для запуска сервера и клиента. Это не всегда практично, но можно обойти эту
 +
необходимость с помощью ''VNC''. Самый простой вариант – запустить сервер ''VNC'' на компьютере Windows и соединиться с
 +
ним из Linux. На компьютере Windows откройте страницу http://www.uvnc.com/download/ и загрузите ''UltraVNC 1.0.4 RC4 beta'' для Vista, в противном случае можете воспользоваться версией 1.0.2. Для лучшей производительности загрузите и дополнение для видеодрайвера. Установите программу, зарегистрируйте ее и запустите ''UltraVNC''. Потребуется установить пароль. Некоторые дистрибутивы Linux уже включают в поставку ''VNC Viewer''.
 +
Запустить его можно, набрав ''vncviewer'' в окне терминала. Укажите имя компьютера Windows или его IP-адрес и заданный
 +
ранее пароль. Теперь можно управлять компьютером Windows из Linux и удаленно запускать на нем сервер ''Unison''.

Текущая версия на 11:00, 18 марта 2009

Миграция из Windows в Linux Синхронизация систем

Содержание

[править] Unison: запустим сервер

ЧАСТЬ 2. Джо Касселз знает несколько ловких приемов синхронизации данных между Windows и Linux, которые облегчат переход от одной системы к другой.

Если у вас больше одного компьютера, рано или поздно возникает проблема синхронизации данных. При работе с одними и теми же файлами на разных компьютерах важно, чтобы изменения сохранялись, а у вас всегда была бы одна и та же версия файла, независимо от того, где вы находитесь. Если на одном из компьютеров установлена Windows, а на другом – Linux, эта задача немного усложняется. Однако если вы знаете, что делать, это не станет головной болью.

В процессе миграции в Linux многим нужно иметь возможность работать в Windows; кроме того, иногда просто полезно иметь несколько разных систем. Самый простой способ сделать это – настроить конфигурацию с двойной загрузкой (в большинстве дистрибутивов она просто выбирается при установке). Если в дистрибутиве есть поддержка чтения с разделов NTFS или FAT32, то к файлам Windows должен быть доступ из Linux. Обратное неверно, но файлы можно сохранить на Windows-совместимый раздел прямо из Linux, и тогда они будут доступны из обеих систем. Поддержка записи в NTFS в стабильной версии появилась лишь недавно. Для нее вам потребуется установить NTFS-3G, загрузить который можно со страницы http://www.ntfs-3g.org.

Конфигурация с двойной загрузкой на самом деле не включает синхронизации данных, ведь вы просто работаете с одними и теми же файлами, какую бы ОС ни использовали. Она не поможет и в том случае, когда нужно запустить обе ОС одновременно на разных компьютерах: к примеру, есть обычный компьютер с Windows и ноутбук с Linux, или наоборот. Поскольку между компьютерами нет постоянного сетевого соединения, позволяющего получить доступ к общим файлам, нам потребуется некая система, способная работать с копиями файлов и обновлять их, когда такое соединение появля- ется. Пользователям Windows, возможно, знаком Портфель, с помощью которого можно выгрузить нужные каталоги на ноутбук или сменный диск и работать с ними в другом месте, а позже – обновить. Но число файлов, с которыми он работает, ограничено. Когда потребуется обновить большое количество файлов, могут возникнуть проблемы, и вам не удастся воспользоваться этими файлами в других ОС.

[править] Ручная синхронизация

Если у вас хорошее широкополосное сетевое соединение (например, домашняя сеть), а файлов, подлежащих обновлению, немного, самым простым способом может быть простое копирование новых файлов поверх старых. Пока вы не забываете делать это по окончании работы и есть доступ к диску другого компьютера на чтение и запись, все может работать отлично. Просто откройте окошко с файлами компьютера с Windows из Linux и переместите туда новые файлы, выбрав «заменить», когда система об этом спросит. Недостаток этого подхода – нужно помнить, где находятся самые последние версии файлов, а если файлы изменились на обоих компьютерах, по ошибке легко испортить правильную версию и потерять данные. Поэтому я бы советовал вам использовать этот подход, только когда файлов немного и имеется отдельная локальная копия данных.


Очевидно, нужна структурированная система, которая проверит состояние каждого файла в синхронизируемых каталогах и покажет, какие файлы изменились. Есть несколько кроссплатформенных решений такого рода. Пожалуй, самое простое из них – Unison. Это графическое приложение, которое работает и в Linux, и в Windows. Когда вы правильно его настроите, работать с ним будет очень легко. Unison позволяет синхронизировать файлы в обоих направлениях и может и заменять файлы, и объединять их, если изменения есть в обеих копиях.

[править] Установка Unison

Загрузить Unison можно со страницы http://www.cis.upenn.edu/~bcpierce/unison/download.html. Вы увидите, что доступны как версия под Windows, так и под Linux. Здесь же можно найти исполняемый файл под Windows. Если в вашем дистрибутиве используются пакеты, то Unison можно установить из репозитория. Например, в Ubuntu выберите Приложения > Добавить/Удалить [Applications > Add/Remove] и затем Показать все открытые приложения с открытым кодом [Show all open source applications]. В строке поиска введите Unison, затем установите его. Если нужен RPM-пакет, загрузить его можно со страницы http://rpmforge.net/user/packages/unison/, а пакеты для Debian находятся на странице http://packages.debian.org/unison.

Важно использовать одну и ту же версию Unison в обеих системах. Если в Linux Unison устанавливался из репозитория, то установленная версия может быть более старой по сравнению с текущей. Чтобы проверить, какая версия используется, откройте менеджер пакетов и выберите Поиск [Search]. Введите Unison в строке поиска и нажмите на кнопку Поиск [Search]. Вы увидите все доступные версии, включая установленную. Запомните ее номер. Эту же версию программы будет нужно установить в Windows. Если вы загружали пакет, то имя файла должно включать номер версии Unison. Зайдите на страницу http://www.cis.upenn.edu/~bcpierce/unison/download.html, и если установленная версия меньше 2.24, то найдите исполняемый файл нужной версии, щелкнув по ссылке «Older Windows binaries».


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

[править] Локальные каталоги

Unison можно использовать для синхронизации локальных каталогов. Это неплохой вариант, если данные хранятся на внешнем USB-диске, подключаемом локально. Чтобы сделать это, запустите графическую версию Unison. Если раньше вы им не пользовались, идите прямо в настройки профиля по умолчанию. Укажите первый каталог из тех, которые нужно синхронизировать. Для этого введите полный путь или просто найдите каталог с помощью кнопки Browse. Нажмите OK. Теперь выберите опцию Local и укажите второй каталог, затем снова нажмите OK. Если программа запущена в первый раз, то появится предупреждение об отсутствии архивных файлов. При первом запуске это нормально, так что просто нажмите OK. Unison просканирует оба каталога, отобразит файлы, которые имеют отличия, и порекомендует действия, которые нужно произвести для их синхронизации. Действия могут включать копирование файла (файлов) из одного каталога в другой, удаление или пропуск файлов. Любое из этих действий можно изменить, выбрав соответствующую пару файлов и указав направление перезаписи (слева направо или справа налево, слева – первый каталог). Можно пропустить пару файлов или объединить (слить) различия в них. Определив все действия, нажмите Go для их выполнения. Теперь можно выйти из программы.

Чтобы поднабраться опыта, полезно попробовать кое-что синхронизировать. Выберите каталог, в котором нет важных файлов, и создайте новый, с которым будете его синхронизировать. Выполните описанные выше действия, указав два этих каталога, и в результате в новом каталоге должны появиться копии всех файлов из исходного каталога.


Версия для командной строки имеет ту же логику. Откройте окно терминала и введите команду

 unison folder1 folder2

Если папки folder1 и folder2 находятся в домашнем каталоге, полный путь указывать не нужно. При первом запуске программы появится текстовая версия предупреждения о файлах архива; нажмите Enter, чтобы продолжить работу. Сканируя каталоги, Unison отобразит каждый файл или каталог, где есть изменения, вместе с действием по умолчанию. Чтобы применить действие по умолчанию, нажмите Enter. Если действие нужно изменить, нажмите > для замены файла слева направо или < для замены справа налево. Для пропуска файла нажмите /. Каждый раз будет запрошено подтверждение действия. Нажмите Y для подтверждения или N, чтобы вернуться назад.

[править] Профили

Если вы запускали графическую версию Unison до текстовой, она может попытаться использовать профиль по умолчанию, составленный при последнем запуске программы. В этом случае может появиться сообщение об ошибке, говорящее о том, что задано слишком много корневых каталогов. Ошибка возникает потому, что графическая версия программы создает файл профиля, где указано, какие каталоги синхронизировать. Типичный файл настроек выглядит так:

# Unison preferences file
root = /home/joe/folder1
root = /home/joe/folder2

Он хранится под именем default.prf в папке .unison внутри домашнего каталога. Чтобы увидеть этот файл, откройте домашний каталог и выберите Вид > Отображать скрытые файлы [View > Show Hidden Files] для каталога .unison. Остальные настройки тоже могут быть в этом каталоге – в файле profilename.prf. Для запуска Unison с определенным профилем воспользуйтесь командой

unison profilename

Если вы не хотите, чтобы Unison запускался с терминала с профилем по умолчанию, откройте каталог .unison и дайте файлу default.prf какое-нибудь другое имя. Каталоги потом можно указать из командной строки, при этом в графической версии программы все еще можно будет выбирать профили.

[править] Версия для Windows

Версия Unison для командной строки работает в Windows практически так же, как и в Linux. Исполняемый файл нужно извлечь в рабочий каталог, хотя бы и c:\unison. Имя EXE-файла может включать номер версии Unisonunison-2.13.16-wintext.exe. Переименуйте файл как unison.exe, чтобы было проще запускать его с командной строки. Выберите Пуск > Выполнить [Start > Run], введите cmd в открывшемся окне в Windows XP или в окне поиска в меню запуска Vista, и нажмите Enter. Смените каталог на рабочий каталог Unison.

 cd \unison

Теперь можно пользоваться теми же командами, что и в Linux, например:

 unison c:\folder1 c:\folder2

После этого программа работает точно так же, как и в Linux. Чтобы воспользоваться графической версией в Windows, потребуется установить GTK+ 2. Загрузить ее можно с сайта проекта GIMP для Windows на странице http://tinyurl.com/22dkyv. Распакуйте файл и установите GTK. Теперь можно скачать и распаковать графическую версию Unison для Windows; она называется наподобие unison-2.13.16-win-gtk2.exe. Это автономный исполняемый файл, и его можно запускать из каталога, в который он был распакован. Синхронизация локальных файлов в Windows ничем не отличается от таковой в Linux.

Использование локальных каталогов удобно для знакомства с unison и в случае хранения данных на съемном диске, но подлинно родная стихия программы – синхронизация данных по сети. Ее можно использовать поверх SSH-соединения, но для разумно защищенной локальной сети это, пожалуй, перебор. Развернуть SSH-сервер в Windows тоже непросто, поэтому мне кажется, что лучше всего нам подойдет соединение через сокеты. Это соединение достаточно просто настроить, хотя оно и небезопасно – впрочем, если ваша сеть достаточно защищена и упрятана за брандмауэр NAT, то беспокоиться не о чем. Просто не пользуйтесь им через интернет.


Для синхронизации с помощью сокетов на одном из компьютеров нужно запустить сервер Unison, на другом – клиент. Если на одном из компьютеров установлена текстовая версия программы, ее можно использовать как сервер, а графическую версию на другом компьютере – как клиент. Сервер можно запускать и в Windows, и в Linux.

[править] Сервер в Windows

Для начала нужно запустить Unison с командной строки. Предполагая, что файл уже распакован в каталог c:\unison, откроем окно терминала и введем команды:

cd \unison
unison -socket 2222

В окне появится сообщение “server started”. Если вы закроете это окно сейчас, то остановите сервер. В данном примере вместо 2222 можно ввести любое большее число: нужно просто указать, на каком порте будет работать программа. Пусть сервер работает, а вы перейдите на компьютер с Linux и запустите там графический клиент. При необходимости создайте новый профиль. Укажите локальный каталог и нажмите OK. Затем выберите Соединение через сокет [Socket Connection] и укажите имя компьютера Windows и порт, на котором работает сервер – в данном случае 2222. Нажмите OK, и программа запустится так же, как если бы вы синхронизировали локальные каталоги.

Указать каталог для синхронизации на компьютере Windows нельзя. В нашем примере Unison предполагает, что этот каталог, в котором запущен сервер, c:\unison. Однако можно запустить сервер и в другом каталоге. Также можно создать ярлык для сервера, и не придется запускать его с командной строки.

[править] Создаем ярлык

Кликните правой кнопкой мыши в любом месте рабочего стола и выберите Новый > Ярлык [New > Shortcut]. В появившемся окне введите:

c:\unison\unison.exe -socket 2222.

Нажмите Далее [Next] и дайте ярлыку имя. Затем кликните правой кнопкой на созданном ярлыке и выберите Свойства [Properties]. На вкладке Ярлык [Shortcut] вы увидите то, что указали раньше. В поле Запускать в [Start in] введите путь к каталогу, с которым хотите синхронизировать данные, и нажмите OK. Теперь можно запустить сервер, щелкнув по этому ярлыку. После этого запустите Unison в Linux и синхронизируйте каталоги, как было описано ранее.

[править] Сервер в Linux

Если вы хотите запустить сервер Unison в Linux, откройте терминал и введите команду

unison -socket 2222

которая должна возвратить тот же ответ “server started”. Теперь запустите графическую программу в Windows. Укажите каталог, который хотите синхронизировать, имя или IP-адрес компьютера с Linux и номер используемого порта. В поле Каталог [Directory] задайте подкаталог вашего домашнего каталога, который вы собираетесь использовать. Если не указывать подкаталог, синхронизируется все содержимое домашнего каталога. Нажмите OK и продолжите точно так же, как при синхронизации локальных каталогов.

После того, как профиль по умолчанию установлен и вы знаете, как запустить сервер, вся синхронизация становится делом нескольких щелчков, и вы вольны переключаться между компьютерами, как вам угодно. LXF

[править] Скорая помощь

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

Не используйте каталог синхронизации вместо резервной копии. Если вы по ошибке удалите файл и затем синхронизируете каталоги, могут быть удалены обе копии. Отдельная резервная копия гарантирует, что вы не слишком много потеряете, совершив эту ошибку.

[править] Удаленный доступ

Чтобы синхронизировать данные по сети с помощью Unison, у вас должен быть доступ к обоим компьютерам для запуска сервера и клиента. Это не всегда практично, но можно обойти эту необходимость с помощью VNC. Самый простой вариант – запустить сервер VNC на компьютере Windows и соединиться с ним из Linux. На компьютере Windows откройте страницу http://www.uvnc.com/download/ и загрузите UltraVNC 1.0.4 RC4 beta для Vista, в противном случае можете воспользоваться версией 1.0.2. Для лучшей производительности загрузите и дополнение для видеодрайвера. Установите программу, зарегистрируйте ее и запустите UltraVNC. Потребуется установить пароль. Некоторые дистрибутивы Linux уже включают в поставку VNC Viewer. Запустить его можно, набрав vncviewer в окне терминала. Укажите имя компьютера Windows или его IP-адрес и заданный ранее пароль. Теперь можно управлять компьютером Windows из Linux и удаленно запускать на нем сервер Unison.

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