LXF110:DrBrown2
|
|
|
Гармония в унисон
- Unison Средство двусторонней синхронизации данных с явными преимуществами над аналогами типа rsync.
Итак, поднимите руку те, кто работает более чем на одном компьютере. Так я и думал – очень много! Тогда вам нужно как-то синхронизировать их. Тот отчет об охоте на морских лис, который вы редактировали – на которой машине его последняя версия? Новые картинки для издателя – куда они делись с рабочего стола? И те древние счета, которые вы удалили – почему они все еще захламляют компьютер?
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Есть немало приложений с открытым исходным кодом, помогающих синхронизировать файловые системы двух компьютеров. Сейчас мы поговорим об Unison. Это не новая программа (честно говоря, помоему, ее активная разработка прекращена), но она входит во множество дистрибутивов Linux, не говоря уже о других разновидностях Unix и даже Microsoft Windows; она очень проста и работает.
Вы, возможно, знакомы с утилитами синхронизации типа rsync. rsync отлично делает свою работу, но по сути это рейс в один конец. Вы решили, что на компьютере A самые последние версии файлов и обновили компьютер B с помощью rsync, чтобы на нем было то же самое. В Unison используется эффективный протокол обновления, который похож на rsync, но работает в обоих направлениях. Процитируем его документацию: «Unison – средство синхронизации файлов в Unix и Windows. Оно позволяет хранить две копии набора файлов и каталогов на разных компьютерах (или на разных дисках одного и того же компьютера), изменять их по отдельности, а затем
Синхронизируем два Ubuntu
В следующем примере мы синхронизируем каталог Documents на ноутбуке (с Ubuntu 7.04) с таким же каталогом на настольном компьютере (с Ubuntu 8.04). ОС здесь по большому счету не играет никакой роли и может быть самой разной; главное – запускать одну и ту же версию Unison как на клиенте, так и на сервере. Начнем с установки Unison на обоих компьютерах:
$ sudo apt-get install unison
Запустить Unison на «сервере» (в данном случае это настольный компьютер, который я называю ‘hardy’, по установленной на нем версии Ubuntu) можно и как самостоятельный сервис, но проще и безопаснее воспользоваться зашифрованным соединением через SSH. В качестве первого теста я попробовал вот это:
$ ssh hardy unison -version unison version 2.13.16 $ unison -version unison version 2.13.16
то есть SSH работает, и на обоих компьютерах установлена одна и та же версия Unison.
Файлы настройки Unison, называемые профилями, находятся в каталоге ~/.unison. Я создал очень простой профиль playtime.prf, задав в нем два каталога, которые хочу синхронизировать. Он выглядит так:
root = /home/chris/Documents root = ssh://hardy//home/chris/Documents
Теперь можно синхронизировать две файловые системы, выполнив команду:
$ unison playtime
SSH запросит пароль для сервера, затем Unison по шагам проведет вас через каждое изменение, которое он хочет внести, и спросит, стоит ли это делать.
На этом этапе можно воспользоваться некоторыми однобуквенными командами. Например, > отправляет файл от клиента на сервер, < отправляет файл в обратном направлении, а / пропускает файл. В качестве альтернативы можно принять каждое рекомендованное действие, нажимая Enter, или делать это автоматически, добавив в профиль следующую строку:
auto = true
Тот же эффект можно получить, указав ключ -auto при запуске команды:
$ unison -auto playtime
Есть масса других интересных вещей, которые можно делать в профиле. Например, директива ignore позволяет задать (с помощью масок) имена файлов и каталогов, которые нужно игнорировать, а директива path – подробный список файлов и каталогов, которые нужно синхронизировать.
У Unison есть и графический интерфейс. В Ubuntu потребовалось установить его отдельно:
$ sudo apt-get install unison-gtk
Теперь можно просто выполнить команду unison-gtk. Через графический интерфейс можно выбрать профиль (из файлов ~/*.prf), а затем построить и просмотреть список изменений, которые будут сделаны. Однобуквенным командам здесь соответствует клик левой кнопкой мыши, но он намного удобнее. На экранном снимке вы видите, что для файла pedant.txt не предложено действие по умолчанию (красный знак вопроса в нижней части снимка), так как он редактировался независимо друг от друга на двух компьютерах.
Где узнать больше
За что я особенно люблю Unison, это за количество и качество документации. Получить полный список тем можно, выполнив команду:
$ unison -doc topics
а для более подробной информации попробуйте:
$ unison -doc running
или посетите сайт http://www.cis.upenn.edu/~bcpierce/unison.