blog/content/post/2009/08/27/2009-08-27-00001217.md

164 lines
9.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Leopardにfuseをインストールする
author: kazu634
date: 2009-08-27
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:
- つれづれ
---
<div class="section">
<p>
会社の共有ファイルサーバをWindowsからRed Hat Linuxに変更しました。それに伴い、既存のntfsフォーマットのHDDをLinuxから読み書きする必要が出てきました。こうしたときにfuseを使うと幸せになれることを知りました。
</p>
<p>
今回はLeopardにfuseを導入し、リモートホストにsshで接続し、ローカルのファイルシステムとしてリモートのファイルシステムを組み込む方法を書き散らかします。
</p>
<h4>
fuseを使うと何がうれしいの
</h4>
<p>
例えばリモートホスト上のファイルを編集するときは、Emacsならtrampなどを用いて編集します。もしくはFTPなどでダウンロードしてから編集をします。
</p>
<p>
でも、これだと面倒くさいです。あたかもリモートホスト上のファイルをローカル上のファイルとして扱えたら便利だと思いませんか?
</p>
<p>
それを実現するのがfuseです。
</p>
<h4>
MacFuseをインストールする
</h4>
<p>
<a href="http://code.google.com/p/macfuse/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://code.google.com/p/macfuse/', 'macfuse &#8211; Project Hosting on Google Code');" target="_blank">macfuse &#8211; Project Hosting on Google Code</a>からMacFuseをダウンロードします。右側の
</p>
<p>
</p>
<p>
<a href="http://flickr.com/photos/7190707@N05/3862231182/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://flickr.com/photos/7190707@N05/3862231182/', '');" title="MacFuse"><img src="http://farm4.static.flickr.com/3581/3862231182_80018f5f43_m.jpg" /></a>
</p>
<p>
from <a href="http://flickr.com/people/7190707@N05/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://flickr.com/people/7190707@N05/', 'typhoon634');">typhoon634</a>
</p>
<p>
をクリックして、ダウンロードします。
</p>
<p>
ダウンロードしたらダブルクリックして、インストールします。
</p>
<h4>
sshfsのインストール
</h4>
<p>
fuseをインストールしただけではsshでリモートホスト上のファイルシステムをローカルに組み込むことはできません。それにはsshfsというモジュールを組み込みます。
</p>
<p>
ダウンロードは<a href="http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS', 'http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS');" target="_blank">http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS</a>からします。
</p>
<p>
<a href="http://flickr.com/photos/7190707@N05/3861456183/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://flickr.com/photos/7190707@N05/3861456183/', '');" title="sshfs"><img src="http://farm4.static.flickr.com/3515/3861456183_34ed8337fb_m.jpg" /></a>
</p>
<p>
from <a href="http://flickr.com/people/7190707@N05/" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://flickr.com/people/7190707@N05/', 'typhoon634');">typhoon634</a>
</p>
<p>
ここの「leopard」と書かれたものをダウンロードします(tigerの場合はtigerをダウンロードしてください)。
</p>
<p>
ダウンロードしたら、パスの通った場所にコピーしてしまいます。
</p>
<pre class="syntax-highlight">
~/sshfs-binaries on simoom634 <span class="synStatement">[</span><span class="synConstant">528</span><span class="synStatement">]</span> $: <span class="synStatement">ls</span>
sshfs-static-leopard*
~/sshfs-binaries on simoom634 <span class="synStatement">[</span><span class="synConstant">529</span><span class="synStatement">]</span> $: sudo <span class="synStatement">mv</span> sshfs-static-leopard /usr/bin/sshfs
Password:
~/sshfs-binaries on simoom634 <span class="synStatement">[</span><span class="synConstant">530</span><span class="synStatement">]</span> $: <span class="synStatement">ls</span> /usr/bin/sshfs
/usr/bin/sshfs*
</pre>
<h4>
リモートファイルシステムをローカルに
</h4>
<p>
これで準備が整ったので、リモートファイルシステムをあたかもローカルにあるファイルであるかのようにするために、マウントを行います。
</p>
<p>
リモートホスト側はこのような状態として、
</p>
<pre class="syntax-highlight">
kazu634@srv634% <span class="synStatement">cd</span> ~ /var/samba/av <span class="synStatement">[</span><span class="synConstant">4249</span><span class="synStatement">]</span>
kazu634@srv634% <span class="synStatement">ls</span> ~ <span class="synStatement">[</span><span class="synConstant">4250</span><span class="synStatement">]</span>
minicpan sakura work
kazu634@srv634% <span class="synStatement">cd</span> work/ ~ <span class="synStatement">[</span><span class="synConstant">4251</span><span class="synStatement">]</span>
kazu634@srv634% <span class="synStatement">ls</span> ~/work <span class="synStatement">[</span><span class="synConstant">4252</span><span class="synStatement">]</span>
tmp_perl
kazu634@srv634% <span class="synStatement">cd</span> tmp_perl/Web-Renoir ~/work <span class="synStatement">[</span><span class="synConstant">4253</span><span class="synStatement">]</span>
kazu634@srv634% <span class="synStatement">ls</span> ~/work/tmp_perl/Web-Renoir <span class="synStatement">[</span><span class="synConstant">4254</span><span class="synStatement">]</span>
Changes MANIFEST Makefile.PL README lib t
kazu634@srv634% hostname ~/work/tmp_perl/Web-Renoir <span class="synStatement">[</span><span class="synConstant">4255</span><span class="synStatement">]</span>
srv634
</pre>
<p>
この状態でローカルの~/working/srv634にリモートの~/workをマウントします。
</p>
<pre class="syntax-highlight">
~/sshfs-binaries on simoom634 <span class="synStatement">[</span><span class="synConstant">534</span><span class="synStatement">]</span> $: sshfs kazu634@srv634:/home/kazu634/work ~/working/srv634 -oauto_cache,reconnect
warning: ssh nodelay workaround disabled
~/sshfs-binaries on simoom634 <span class="synStatement">[</span><span class="synConstant">535</span><span class="synStatement">]</span> $: <span class="synStatement">cd</span> ~/working/srv634/
~/working/srv634 on simoom634 <span class="synStatement">[</span><span class="synConstant">536</span><span class="synStatement">]</span> $: <span class="synStatement">ls</span>
tmp_perl/
~/working/srv634 on simoom634 <span class="synStatement">[</span><span class="synConstant">537</span><span class="synStatement">]</span> $: <span class="synStatement">cd</span> tmp_perl/
~/working/srv634/tmp_perl on simoom634 <span class="synStatement">[</span><span class="synConstant">538</span><span class="synStatement">]</span> $: <span class="synStatement">ls</span>
Web-Renoir/
~/working/srv634/tmp_perl on simoom634 <span class="synStatement">[</span><span class="synConstant">539</span><span class="synStatement">]</span> $: <span class="synStatement">cd</span> Web-Renoir/
~/working/srv634/tmp_perl/Web-Renoir on simoom634 <span class="synStatement">[</span><span class="synConstant">540</span><span class="synStatement">]</span> $: <span class="synStatement">ls</span>
Changes MANIFEST Makefile.PL README lib/ t/
</pre>
<p>
うまくマウントできたようです!
</p>
<h4>
参考にしたサイト
</h4>
<ul>
<li>
<a href="http://macwiki.sourceforge.jp/wiki/index.php/MacFUSE" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://macwiki.sourceforge.jp/wiki/index.php/MacFUSE', 'MacWiki &#8211; MacFUSE');" target="_blank">MacWiki &#8211; MacFUSE</a>
</li>
<li>
<a href="http://mizusawa.cocolog-nifty.com/mizusaworld/2008/11/macfuse-sshfs.html" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://mizusawa.cocolog-nifty.com/mizusaworld/2008/11/macfuse-sshfs.html', 'MacFUSE + sshfs: みずさわーるどココログ版');" target="_blank">MacFUSE + sshfs: みずさわーるどココログ版</a>
</li>
<li>
<a href="http://apribase.net/2009/03/26/macfuse-sshfs-for-diary/:title=Apribase" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://apribase.net/2009/03/26/macfuse-sshfs-for-diary/:title=Apribase', 'http://apribase.net/2009/03/26/macfuse-sshfs-for-diary/:title=Apribase');" target="_blank">http://apribase.net/2009/03/26/macfuse-sshfs-for-diary/:title=Apribase</a>
</li>
</ul>
</div>