ネットブックと母艦を同期させる
それでは、ネットブックと母艦のデータを同期させる方法を説明します。2つのパソコンのデータを一致させておくことで、
一方が他方のファイルを上書き保存してしまう
危険性がなくなります。2台以上のパソコンを使っている人ならば
おそらく、上書き保存をしてしまって
途方に暮れたことがあると思います。ここでお話する同期を取る方法さえしっかりやっておけば、
こんな問題とはおさらばすることができます。パソコンのデータを同期させるにはunisonというツールを使います。
rsyncに似ているのですが、unisonは双方のパソコンで
データが更新されていても対応できる強味があります。それではunisonを使って同期させるための手順を示します。
とりあえず母艦はLinux、ネットブックはWindowsだと想定しますが、
手順自体にはOSは関係ありません。1. 母艦に同期用のネットワークカードを接続する
2. 母艦とネットブックをクロスLANケーブルで接続する
3. 母艦のIPアドレスを設定する(例:192.168.1.1)
4. ネットブックのIPアドレスを設定する(例:192.168.1.4)
5. 母艦にsshd(sshサーバ)を立ち上げる
6. ネットブックにsshクライアント(plink)をインストール・設定する
7. ネットブック側でpageantを使ってパスフレーズ入力なしでssh接続できるようにする
8. 母艦にunisonをインストールする
9. 母艦とネットブックそれぞれに同期させるディレクトリを作成する(例:~/sync, d:\sync)
10. ネットブック側にd:\sync\binディレクトリを作成し、PATHを通しておく
11. ネットブックにunisonをインストールする
12. ネットブックにunisonを動かすバッチファイル(シェルスクリプト)を作成し、d:\unison\bin\usync.batと保存する
13. ネットブックを立ち上げたら毎回sshパスフレーズを入力する
14. ネットブックからusyncを実行して母艦と同期するこの手順により、ネットブックからunisonを動かすことで、
母艦と同期することができるようになります。母艦とネットブックを直接接続するには、LANカードと
クロスケーブルで接続することに注意してください。LANケーブルといっても、見た目はストレート
ケーブルと変わらないので紛らわしいです。そのため、LANケーブルを購入するときは
クロスと明記してあるものを選んでください。クロスケーブルの場合は、端に「X」という
文字が書いてあることがあります。IPアドレスの設定については、環境に
よって異なるので各自調べてください。母艦側にはsshdを立ち上げておいてください。
なお、Windows用のsshクライアントとしては、
puttyのコマンドライン版であるplinkを使うのが無難です。puttyは http://www.chiark.greenend.org.uk/~sgtatham/putty/ で入手できます。
http://net-newbie.com/putty.html を参考にして
putty(plink)をインストールして、公開鍵・秘密鍵を
登録しておいてください。そして、「"C:\Program Files\putty\pageant.exe" "C:\Program Files\putty\id_rsa.ppk"」を
実行するようにスタートアップフォルダにショートカットを
作っておいてください。これでネットブックが立ち上がるたびにパスフレーズを
入力するようになり、同期のたびにパスフレーズを入力
する必要がなくなります。ssh環境が整ったら、母艦・ネットブックともに
unisonをインストールします。Linux側は「apt-get install unison」等で
インストールしてください。Windows側は http://alan.petitepomme.net/unison/index.html から
unisonのバイナリをダウンロードします。この際注意する必要があるのは、
母艦と同じバージョンでないと
unisonは動かない点です。母艦がバージョン2.27.72ならば、
Windows側も2.27.72をインストール
する必要があるということです。もしかしたら、TEENY(72の部分)は
一致していなくても動くかもしれません。unisonの実行ファイルは
D:\sync\bin\unison.win32-textui.exe
に保存しておきます。その後はWindows側に以下のバッチファイルを作成します。
http://www.rubyist.net/~rubikitch/archive/usync.bat.txt
これを d:\sync\bin\usync.bat として保存します。
以下の設定になっているので、
変数の値を適宜書き換えてください。
set UNISON_PATH="D:\sync\bin\unison.win32-textui.exe"
set PLINK_PATH="C:\Program Files\putty\plink.exe"
set SSH_USER=me
set SSH_HOST=192.168.1.1
set SSH_PORT=22
set SSH_KEYFILE="C:\Program Files\putty\id_rsa.ppk"
set LOCAL_ROOT=D:\sync
set REMOTE_ROOT=/home/me/sync
なお、sshは公開鍵を使っているので、
SSH_PASSWORDは無視してかまいません。バッチファイルを修正したら、コマンドプロンプトからusyncと打つことで、
母艦の~/syncとネットブックのd:\syncの内容が一致します。