nDiki : Unison
Related term
2004年8月10日 (火)
■ Unison で Windowsのローカルディレクトリとリモートの共有フォルダ間の同期(再)

ホーム以下を全て1発で同期しようとすると初回が非常に時間がかかる。
/home/naney //server/home/naney -fastcheck true -path hoge
の hoge のところを /home/naney、 //server/home/naney 以下にそれぞれあるファイル・ディレクトリを指定して実行(スクリプトを書いてまわす)。
これで一旦 .unison ディレクトリ以下に管理情報ができてしまえば、
/home/naney //server/home/naney -fastcheck true
でも実用的な速度が出る事を確認。
それから -times オプションを指定してファイルの最終更新時刻を同期しようとすると、同期対象の中に read-only ファイルがあるとはまる。 1発目の同期はできるが、2回目で utime 変更エラーが出る。
- Unison で Windowsのローカルディレクトリとリモートの共有フォ... (2004-08-03)
- OpenSSH for Windows (2004-08-05)
- Subversion で大文字・小文字のみ違うファイル名へ変更 (2004-08-02)
- 第13回 社内 Perl 勉強会 (2006-08-07)
- Unison で Windows 間 sync (2003-10-24)
2004年9月3日 (金)
■ cwRsync と UNC

以前cwRsyncを試した時の記事に今井さんからコメントをいただいた。
cwRsyncの場合、UNC パスは「\」を「/」に読み替えれば使えますよ。 例えば、「\\remote\share\dir1」は「//remote/share/dir1」となります。
ということなので早速試してみる。 ほんとだ。
Unison が共有フォルダ内での renaming で Permission denied を出して失敗するので、ちょっと遅くなるけどやっぱり rsync でミラーするようにしよう。
- cwRsync (2004-07-31)
- Unison で Windowsのローカルディレクトリとリモートの共有フォ... (2004-08-03)
- 今日のさえずり - スポーツの制裁金ってどこにいくのだ? (2008-06-11)
- www.naney.org のファイルを全て Unison で同期 (2003-11-20)
- [ Debian ] DynaBook SS -> X31 (2003-12-05)
2005年5月4日 (水)
■ FreeBSD 上の Unison をアップグレード

すこし前に sid の Unison が 2.10.2 になったのにともなって、FreeBSD なホスティングサーバ上の Unison (2.9.1) と同期できなくなってしまった。
ということでビルドしなおし。 まずは Ocaml から
wget http://caml.inria.fr/pub/distrib/ocaml-3.08/ocaml-3.08.3.tar.gz tar zxvf ocaml-3.08.3.tar.gz cd ocaml-3.08.3 ./configure -prefix /tmp/naney make world make opt make install
tar zxvf unison-2.10.2.tar.gz cd unison-2.10.2 PATH=$PATH:/tmp/naney/bin gmake UISTYLE=text ./unison -version cp -p unison $HOME/local/bin
- [ Debian ] vpopmail (2004-01-06)
- sid の CinePaint がプラグイン読み込みでエラー (2006-04-15)
- DBD::Oracle 1.16 を Debian GNU/Linux s... (2005-05-19)
- Linux 上で Flex 2 SDK を使った Flash コンテンツ開... (2007-09-11)
- Berkeley DB 4.2.52 + DB_File 1.808 をホ... (2004-02-08)
2005年5月16日 (月)
■ はてなブックマーク上の最新ブックマークを nDiki に

自分でタグ付けできないのでどうなのかと思っていたはてなブックマークであるが、気がつけば登録したブックマークももうすぐ1500。
タグ付けできない部分は、検索機能である程度カバー。 お気に入り機能のおかげで旬のネタ収集もできる。 なんだかんだいっても、さすが「はてな」という感じ。
日々登録しているブックマークを活用したいということで RSS を利用して、nDiki に表示してみることにした。 出勤前のちょっとした時間で Perl スクリプトとしてささっと実装。
- ローカルPCで以下の作業を行うスクリプトを書く
- LWP::Simple を使用して RSS を取得
- XML::RSS で parse() したあと、items から HTMLフラグメントを生成
- nDiki のフッタに挿入
- cron で1時間毎に
という形で実現。
- DiKicker にはフッタファイルに別のファイルをインクルードする機能がないので、フッタを書き換えてしまえ。
- サーバに XML::RSS を入れるのが面倒なので、ローカルPCでやってしまえ。どうせブックマークが更新されるのは、そのPCを使っている時だけだから。
という手ぬきであっさり実装。
- はてなブックマーク上の検索結果を nDiki に (2005-10-30)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- Plagger のインストールが大変なので XML::RSS で RSS ... (2006-06-10)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- クリッピングに便利な CMS 「Tumblr」を使ってみる (2007-04-13)
2006年6月15日 (木)
■ SSH port forwarding 経由での Unison を用いたファイル同期

ノート PC ととあるプライベートネットワーク上のサーバとで Unison を使って同期しているディレクトリを、プライベートネットーワークの外から SSH 経由で port forwarding して同期できるようにしたくなった。
今
[ノート PC] -------------------- [サーバ]
Unison with SSH 192.168.0.x
これから
[ノート PC] -------------------- [サーバ]
Unison with SSH 192.168.0.x
[ノート PC] -- [ゲートウェイ] -- [サーバ]
gw.example.com 192.168.0.x
Unison with SSH
@ 現在のノート PC 上での設定
times = true root = /home/naney/somedir root = ssh://192.168.0.x//home/naney/somedir ignore = Name *~ ignore = Name .*~ ...
が 設定ファイル ~/.unison/server.prf の内容。
unison server [options]
で同期している。
@ SSH port forwarding 経由で同期
新しくノート PC 上に設定ファイル ~/.unison/serverremote.prf を作成する
times = true root = /home/naney/somedir root = ssh://localhost//home/naney/somedir rootalias = ssh://localhost//home/naney/somedir -> ssh://192.168.0.x//home/naney/somedir sshargs = -p 8022 -o HostKeyAlias=192.168.0.x ignore = Name *~ ignore = Name .*~ ...
SSH port forwarding を開いてから、上の設定ファイルを使って同期するシェルスクリプト unison-serverremote を書く
#!/bin/sh ssh -f -L 8022:192.168.0.x:22 gw.example.com sleep 10 unison serverremote $@
これで
unison-serverremote
で、SSH port forwarding 経由で同期できるようになった。
- connect.c を使って SOCKS サーバ経由で社内サーバへ SSH 接続 (2007-01-06)
- OpenSSH for Windows (2004-08-05)
- ISP から Outbound Port25 Blocking を行うとの... (2006-05-23)
- Subversion で SSH port forwarding 経由での... (2006-06-29)
- SSH の port forwarding が通らなくなった (2004-03-31)
2006年12月14日 (木)
■ TrueCrypt で USB メモリに Windows と Linux からアクセスできる仮想暗号化ドライブを

USB メモリといえば、他人の PC とデータをやりとりする際によく使われるメディアだ。
最近どんどん大容量化していることもあり、ついいろいろなデータを入れっぱなしにしがち。
- 「ファイルをもらうのに渡した USB メモリを、受け取って確認したら見られたくなかったファイルが入ったままだった。」
- 「USB メモリにファイル入れて渡すのだけれど、今入っている見られたくないファイルを消すの面倒だな。後でまた入れておきたいし。」
- 「紛失した時が心配」
など、そのまま入れておくのは不安なファイルもある。
ということでやっぱりいくつかのファイルは暗号化しておきたい。さて何かよい暗号化ソフトウェアはないだろうか。
- Windows でも Linux でも使えること。
- データをやりとりする可能性のあるグループごとに別の領域を用意できること。
- 暗号化ソフトウェアをインストールしていない Windows PC からでも、ファイルを取り出せること (インストール不要で復号できるソフトウェアを USB メモリに一緒に入れておけること)。
で調べたところ TrueCrypt が有名らしい。Windows と Linux の両方から使えるというのが良い。
ということで試してみた。
@ Linux 版
ライセンスの関係で Debian GNU/Linux には無いので、ビルドしてインストールする。
@ ビルド
まずはビルド。
tar zxvf truecrypt-4.2a-source-code.tar.gz cd truecrypt-4.2a/Linux fakeroot ./build.sh
@ インストール
次にインストール。apt-get install dmsetup してから ./install.sh を実行する。
# ./install.sh Checking installation requirements... Testing truecrypt... Done. Install binaries to [/usr/bin]: Install man page to [/usr/share/man]: Install user guide and kernel module to [/usr/share/truecrypt]: Allow non-admin users to run TrueCrypt [y/N]: y Installing kernel module... Done. Installing truecrypt to /usr/bin... Done. Installing man page to /usr/share/man/man1... Done. Installing user guide to /usr/share/truecrypt/doc... Done. Installing backup kernel module to /usr/share/truecrypt/kernel... Done.
@ 仮想ドライブボリュームファイルを作成
ここからは実際の利用。まず最初にボリュームファイルを作成する。
$ truecrypt -c vol.tc Volume type: 1) Normal 2) Hidden Select [1]: Filesystem: 1) FAT 2) None Select [1]: Enter volume size (bytes - size/sizeK/sizeM/sizeG): 128M Hash algorithm: 1) RIPEMD-160 2) SHA-1 3) Whirlpool Select [1]: Encryption algorithm: 1) AES 2) Blowfish 3) CAST5 4) Serpent 5) Triple DES 6) Twofish 7) AES-Twofish 8) AES-Twofish-Serpent 9) Serpent-AES 10) Serpent-Twofish-AES 11) Twofish-Serpent Select [1]: Enter password for new volume 'vol.tc': Re-enter password: Enter keyfile path [none]: TrueCrypt will now collect random data. Is your mouse connected directly to computer where TrueCrypt is running? [Y/n]: Please move the mouse randomly until the required amount of data is captured... Mouse data captured: 100% Done: 125.85 MB Speed: 15.66 MB/s Left: 0:00:00 Volume created.
基本的にはデフォルトで OK。確保容量とパスワードはそれぞれ決めて入力する。
@ 仮想ドライブをマウントしてみる
マウントポイントを作成してマウントする。 自分の場合ロケールを ja_JP.UTF-8 にしているので、日本語ファイル名を読み書きするために -M utf8 しておく必要がある。
cd mkdir mnt truecrypt -M utf8,fmask=133 -u vol.tc mnt # マウント Enter password for '/home/naney/vol.tc': # パスワード入力
マウントができたら後は普通に読み書きができる。読み書きが終わったら、truecrypt -d でアンマウント。
truecrypt -l # マウントされているもののリスト truecrypt -d mnt # アンマウント
@ Windows 版
Windows 版は truecrypt-4.2a.zip を展開して、中に含まれているインストーラを使ってインストール。
TrueCrypt を起動して、先ほど作成したボリュームファイルとつけたいドライブ名を指定してマウントすると、うまく中身を読み書きすることができた。
@ トラベラーモード
また TrueCrypt にはトラベラーモードというものがある。 メニューから [Tools] -> [Traveller Disk Setup] を実行して、指定したいメディア(ディレクトリ)に、インストールせずに実行するのに必要なファイル群を配置することができる(オプションで autorun.inf を作ることも可能)。
これを実行して USB メモリに TrueCrypt を入れておけば、TrueCrypt をインストールしていない Windows PC 上でも TrueCrypt をトラベラーモードで実行してマウントできるようになる (ただし、管理者権限が必要)。
@ これから
母艦である Linux BOX からアクセスできるというのが便利。 Linux BOX に USB メモリを挿した後、truecrypt でマウントして Unison で同期してアンマウントまでの一連の処理を流れ作業でできるようにしたい。
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
- Debian GNU/Linux で Dropbox (2008-09-16)
- Unison + Zebedee (2004-06-11)
- Linux で入力して Windows で参照できるパスワード管理ツール ... (2006-12-31)
- Windows でも Linux でも動くタスク管理ツール Task Coach (2006-01-12)
2007年1月6日 (土)
■ connect.c を使って SOCKS サーバ経由で社内サーバへ SSH 接続

以前社外から社内 Web サイトへのアクセスは autossh + FoxyProxy を使って SOCKS 経由で直接できるように設定した (記事)。 また Unison や Subversion もそれぞれ SSH port forwarding 経由で直接アクセスできるようにしてある (Unison の記事、Subversion の記事)。
しかし社外から社内サーバへの SSH 接続(やファイル転送)は、以前として一旦中継ホストに接続(転送)してから再度接続(転送)していて面倒であった。
調べたところ Shun-ichi GOTO氏の SSH プロキシコマンド connect.c を使うと SOCKS サーバ経由で直接接続できるようなので設定してみた。
[クライアント:8090] -- SOCKS -- [ゲートウェイ] -- [社内サーバ]
gw.example.com 192.168.1.x
@ インストール
Debian なので apt-get で。
apt-get install connect-proxy
@ SSH の設定
~/.ssh/config に以下の行を追加。
Host 192.168.1.* ProxyCommand /usr/bin/connect-proxy -S localhost:8090 %h %p
192.168.1.* に接続する際は、connect-proxy を使ってローカルホストの 8090 ポートの SOCKS を通るようにする設定。
@ SSH を SOCKS サーバにする
autossh を使って SSH で SOCKS サーバを立てる
autossh -N -f -D8090 gw.example.com
これで準備 OK。
@ 使ってみる
@ SSH 接続
ssh 192.168.1.x
で接続を確認。
@ Konqueror (KDE)
fish://192.168.1.x/
で直接ブラウズ、読み書き可能なことを確認。
@ Unison
普通に 192.168.1.x と同期できることを確認。
@ CVS
普通に 192.168.1.x 上のリポジトリに対して cvs update できることを確認
@ Subversion
普通に 192.168.1.x 上のリポジトリに対して svn update をかけるとアップデートし終わって最後に
FATAL: output (local) failed, errno=32
というエラーがでる。
@ 便利
Subversion だけちょっと気がかりだれど、その他はうまく行っている感じ。
これでかなり手軽に接続、転送できるようになった。 便利、便利。
- FoxyProxy と autossh で社内 Web ページを閲覧 (2006-06-03)
- Tor で hidden service (2005-02-13)
- Subversion で SSH port forwarding 経由での... (2006-06-29)
- OpenSSH for Windows (2004-08-05)
- PostgreSQL を使いはじめる (1999-12-17)
2007年12月23日 (日)
■ aufs を使って Web サイトのドラフト作成する

この nDiki はローカル PC 上で Emacs で記事ファイルを書き、出来上がったら Unison で Web サーバと同期させる形でアップロード・公開している。
この方法で一つ問題なのは「書きかけの記事ファイル」の扱いが面倒なこと。 書きかけの記事ファイルがある状態で Web サーバと同期するとそれが公開されてしまうのでまずい。しかし完成している記事ファイルがあるならばそちらは同期して順次公開したい。 同期する時には書きかけの記事ファイルを退避させればいいのだが、思いっきり面倒。
ということで手元で公開用 (Web サーバ と同期用)のディレクトリツリーと、ドラフト用(ローカルの Web サーバでのレビュー用)のディレクトリツリーを分けられるようにすることにした。 この2つのディレクトリツリーの差分となる草稿・更新ファイルは aufs を使うことで簡単に管理することができる。
@ aufs
aufs は stackable unification filesystem の一つ。 同様なものとしては UnionFS がある。 UnionFS よりも aufs の方が評判が良いようなので今回は aufs を使うことにした。
aufs では複数のディレクトリ(ブランチと呼ぶ)をオーバーレイさせて、1つのディレクトリとして扱うことができる。 公開用ディレクトリツリーに、ドラフト用ディレクトリツリーをオーバーレイさせることで、元のディレクトリには変更を加えることなく透過的に変更できる仮想的なディレクトリツリーを作ることができる。
@ aufs のインストール
Debian GNU/Linux sid へはkernel 再構築とあわせて module-assistant でインストールした。
@ マウント
以下のように3つのディレクトリを作ってマウントする。
- /home/naney/www.naney.org
- 公開用ディレクトリツリー。本番モノ。公開サーバと同期する。
- /home/naney/draft.naney.org
- 草稿や修正されたファイルが書き込まれるディレクトリツリー。
- /home/naney/next.naney.org
- 公開用ディレクトリツリーに、草稿や修正されたファイルが仮想的にオーバーレイされたディレクトリツリー。プレビュー用。
mount -v -t aufs -o br:/home/naney/draft.naney.org=rw:/home/naney/www.naney.org=ro none /home/naney/next.naney.org
公開ディレクトリツリーは read only に、草稿用のディレクトリツリーは read - write になるように指定する。
これで /home/naney/www.naney.org 以下はいじらないまま、/home/naney/next.naney.org 上で草稿を書いたりファイルを編集したりすることができる。 /home/naney/next.naney.org 以下で追加したファイルや、変更したファイルは aufs が /home/naney/draft.naney.org 上に保存してくれる。
完成したものを /home/naney/draft.naney.org から /home/naney/www.naney.org に順次反映させ(移動し)、公開サーバへ同期することで公開していくことができる。
手元ではいろいろ書き散らせておけるのは、これは便利。
マウントオプションは他にいろいろあるようなので、こまかい設定は見直すかも。
@ その他
ファイルシステムレベルの処理なので、アプリケーション側では何も手を加えなくてもよいのが良い。
今回は公開用とドラフト用としたが、公開用と未公開用をローカルでミックスして表示するようにしたり、複数ユーザのコンテンツディレクトリを仮想的に1つにまとめたりと、いろいろ面白い使い方ができそうだ。
- aufs で inotify を使ってブランチ上の直接の変更をすぐに反映させる (2008-01-05)
- はいぱー日記システムで日記を開始 (2001-05-11)
- [ www.naney.org ] 23:00 明日に移転先サーバの設定完了予定 (2002-01-22)
- CUPS で Debian から EPSON カラーレーザプリンタへ印刷 ... (2006-01-04)
- Debian に RSS リーダ「フレッシュリーダー」をインストール (2006-03-06)
2008年4月25日 (金)
■ 今日のさえずり - JugemKey ID がいつもので取れない

@ 2008年04月24日
- 10:29 間違えて5月7日の準備作業を5月6日に割り当てていた。危ない危ない。
- 10:46 FileZilla Server ダウンロード。
- 13:20 Google カレンダー不調。「サーバーに障害が発生しました。後ほど試してみてください。」連発。
- 13:43 GCMG からの Google カレンダーへの予定入力も駄目だ。
- 13:52 Google カレンダー復活。本社/社外へ全般的に変だったネットワークも回復したっぽい。
- 24:40 GCALDaemon の mailterm 設定試しているのだが、実行結果を送信するところで com.sun.mail.smtp.SMTPAddressFailedException。
@ 2008年04月25日
- 09:49 めざマガ GET。L:秋葉原[mb]
- 12:36 ログピ使ってみようと思ったが、JugemKey ID がいつもので取れない。どうするかな。
- 12:46 違う ID で JugemKey 登録した。パスワードに半角英大文字が使えないってどういうことよ。
- 13:00 今やってること / ログピ初ログ。 http://logpi.jp/naney
- 13:06 @merry ども。こちらこそよろしくです。
- 16:52 今気づいた事 / Debian GNU/Linux sid の Unison のバージョンがあがって、リモートにある Unison と同期できなくなった。 http://logpi.jp/naney
- 17:00 今気づいた事 / Unison の README.Debian.gz によると、unison2.13.16、unison2.9.1 という別パッケージがあるようなのだが見当らない。 http://logpi.jp/naney
- 17:06 今やったこと / snapshot.debian.net から Unison 2.13.16-5 をとってきてダウングレード。 http://logpi.jp/naney
- 17:50 今気づいた事 / そういえばまだ健康診断の結果がきていない。 http://logpi.jp/naney
- 26:07 モバイルログピからさっき初ログしてみた。twitter Pi はモバイル版からはまだできないのか。
- 今日のさえずり - RTM 上でプライベートと仕事についてタグで分けることにした (2007-11-21)
- 今日のさえずり - F905i は「自動的に電源を入れる/切る」機能健在 (2008-05-02)
- タイトルが便利か邪魔か? ライフログサービス Logpi!! ログピ (2008-04-25)
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- 今日のさえずり - 港区出身者とはニコニコ学園ネタで盛りあがる (2008-06-24)
2008年5月2日 (金)
■ 今日のさえずり - F905i は「自動的に電源を入れる/切る」機能健在

@ 2008年05月01日
- 10:59 sid にも Unison 2.13.16 (unison2.13.16) ができたので入れておく。
- 11:53 テスト用に FileZilla Server をインストール。
- 12:15 今日のなか卯は待たせ過ぎ。[mb]
- 16:00 健康診断の結果がようやくきた。
@ 2008年05月02日
- 13:53 アトレ大井町1Fのリニューアルが終わって、今日残りの新規店がオープンしてた。
- 16:27 今やってること / ラブジェネレーション観てる。昔観たらしいのだが、ストーリーもシーンも思い出せない。 http://logpi.jp/naney
- 17:25 F905i は「自動的に電源を入れる/切る」機能健在だ。
- 17:49 水とりぞうさん増設した。
- 今日のさえずり - JugemKey ID がいつもので取れない (2008-04-25)
- aufs を使って Web サイトのドラフト作成する (2007-12-23)
- Windows でも Linux でも動くタスク管理ツール Task Coach (2006-01-12)
- DBD::Oracle 1.16 を Debian GNU/Linux s... (2005-05-19)
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
Related web page
ホスティングサービス上のファイルの管理に使用しています。http://www.cis.upenn.edu/~bcpierce/unison/
の hoge のところを /home/naney、 //server/home/naney 以下にそれぞれあるファイル・ディレクトリを指定して実行(スクリプトを書いてまわす)。 これで一旦 .<strong>unison</strong> ディレクトリ以下に管理情報ができてしまえば、 /home/naney //server/home/naney -fastcheck true でも実用的な速度が出る事を確認。 それから -times オプションを指定してファイルの最終更新時刻を同期しようとすると、同期対象の中に reahttp://www.naney.org/diki/dk/Unison.html
■よく検索されるキーワード
torrent(173) expressions(80) 竹内まりや(58) x31(25) ドラマ(23) linux(23) 手帳(21) 壁紙(21) perl(21) windows(20) 動画(19) wiki(17) porter(17) debian(16) 使い方(16) 画像(15) thinkpad(15) 作り方(15) gmail(14) usb(14) 秋葉原(13) ヨドバシ(13) ほぼ日手帳(13) 提案書(12) 活用(12) 竹内(12) 古川小百合(12) 修理(12) ノート(11) 無印(11) ヨドバシカメラ(11) nikon(11) 書き方(10) ダイソー(10) 万年筆(10) 生年月日(10) 大井町(10) ミニ6穴(9) ほぼ日(9) tc-1(9) 冷蔵庫(9) 設定(9) ニコン(9) java(9) mp3(8) 故障(8) 方眼(8) xp(8) 日誌(8) 感想(8) カメラ(8) allinanchor:*.torrent(8) バッグ(8) firefox(7) インストール(7) キーボード(7) mixi(7) 無料(7) リフィル(7) 小林麻耶(7) nikkor(7) ジョイントラック(7) madwifi(7) 原田夏希(7) skype(6) 変更(6) 三条まゆみ(6) ペンケース(6) web(6) emacs(6) home(6) ポーター(6) 2009(6) itunes(6) a6(6) 無印良品(6) デジカメ(6) finepix(6) 無線lan(6) 評判(6)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 方法 設定 サンプル ダウンロード セール 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 最新 MP3 動画 Torrent 解説 意味 用語集 参考文献 お薦め お勧め おすすめ 便利 Blog ブログ mixi 待受画面 修理Process Time: 1.393908s / load averages: 1.25, 1.24, 1.23
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク