--- title: Leopardにfuseをインストールする author: kazu634 date: 2009-08-27 url: /2009/08/27/_1321/ wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4763;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - つれづれ ---

会社の共有ファイルサーバをWindowsからRed Hat Linuxに変更しました。それに伴い、既存のntfsフォーマットのHDDをLinuxから読み書きする必要が出てきました。こうしたときにfuseを使うと幸せになれることを知りました。

今回はLeopardにfuseを導入し、リモートホストにsshで接続し、ローカルのファイルシステムとしてリモートのファイルシステムを組み込む方法を書き散らかします。

fuseを使うと何がうれしいの?

例えばリモートホスト上のファイルを編集するときは、Emacsならtrampなどを用いて編集します。もしくはFTPなどでダウンロードしてから編集をします。

でも、これだと面倒くさいです。あたかもリモートホスト上のファイルをローカル上のファイルとして扱えたら便利だと思いませんか?

それを実現するのがfuseです。

MacFuseをインストールする

macfuse – Project Hosting on Google CodeからMacFuseをダウンロードします。右側の

from typhoon634

をクリックして、ダウンロードします。

ダウンロードしたらダブルクリックして、インストールします。

sshfsのインストール

fuseをインストールしただけではsshでリモートホスト上のファイルシステムをローカルに組み込むことはできません。それにはsshfsというモジュールを組み込みます。

ダウンロードはhttp://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFSからします。

from typhoon634

ここの「leopard」と書かれたものをダウンロードします(tigerの場合はtigerをダウンロードしてください)。

ダウンロードしたら、パスの通った場所にコピーしてしまいます。

~/sshfs-binaries on simoom634 [528] $: ls
sshfs-static-leopard*
~/sshfs-binaries on simoom634 [529] $: sudo mv sshfs-static-leopard /usr/bin/sshfs
Password:
~/sshfs-binaries on simoom634 [530] $: ls /usr/bin/sshfs
/usr/bin/sshfs*

リモートファイルシステムをローカルに

これで準備が整ったので、リモートファイルシステムをあたかもローカルにあるファイルであるかのようにするために、マウントを行います。

リモートホスト側はこのような状態として、

kazu634@srv634% cd ~                                                           /var/samba/av [4249]
kazu634@srv634% ls                                                                         ~ [4250]
minicpan  sakura  work
kazu634@srv634% cd work/                                                                   ~ [4251]
kazu634@srv634% ls                                                                    ~/work [4252]
tmp_perl
kazu634@srv634% cd tmp_perl/Web-Renoir                                                ~/work [4253]
kazu634@srv634% ls                                                ~/work/tmp_perl/Web-Renoir [4254]
Changes  MANIFEST  Makefile.PL  README  lib  t
kazu634@srv634% hostname                                          ~/work/tmp_perl/Web-Renoir [4255]
srv634

この状態でローカルの~/working/srv634にリモートの~/workをマウントします。

~/sshfs-binaries on simoom634 [534] $: sshfs kazu634@srv634:/home/kazu634/work ~/working/srv634 -oauto_cache,reconnect
warning: ssh nodelay workaround disabled
~/sshfs-binaries on simoom634 [535] $: cd ~/working/srv634/
~/working/srv634 on simoom634 [536] $: ls
tmp_perl/
~/working/srv634 on simoom634 [537] $: cd tmp_perl/
~/working/srv634/tmp_perl on simoom634 [538] $: ls
Web-Renoir/
~/working/srv634/tmp_perl on simoom634 [539] $: cd Web-Renoir/
~/working/srv634/tmp_perl/Web-Renoir on simoom634 [540] $: ls
Changes      MANIFEST     Makefile.PL  README       lib/         t/

うまくマウントできたようです!

参考にしたサイト