MacFUSE + SSHFS 試用報告

前天提到Google釋出了MacFUSE,讓Mac也能夠支援Linux上以FUSE為基礎所實做的檔案系統,例如SSHFS和能夠讀寫NTFS的NTFS 3G。剛才親身試用了一下,沒有碰到甚麼困難,很順利的就成功地用SSHFS掛上遠端Linux的檔案系統了。
以下簡單介紹一下安裝和使用MacFUSE + SSHFS的方法。要注意的是,sshfs目前沒有圖形介面,必須用終端機輸入指令才行,如果你完全沒有這方面的經驗可能會碰到一些困難。

首先,先到MacFUSE的Project page下載MacFUSE-0.1.0b006.dmg,並照一般程式的方法把他裝起來。安裝完成後,接下來直接打開終端機(應用程式/工具程式/終端機)。如果有在/usr/local/bin發現sshfs,這就表示MacFUSE已安裝完成了。

再來我們在Mac上試試SSHFS,在開始前得先把/usr/local/bin加入預設的搜尋路徑中。
Mac預設是用bash作為shell,但沒有幫user建好預設的shell設定檔,所以如果你完全沒設定過shell,就直接用一個文字編輯器輸入下列的設定,並存為~/.bash_profile:

export PATH="$PATH:/usr/local/bin"

如果已經有這個檔了,就直接把這一行加進去就可以了。設定完PATH後,重新開啟一個新的終端機,就能開始玩sshfs了。sshfs的用法如下,

sshfs [remote-host]:[remote-path] [local-mount-path]

  • [remote-host]是遠端主機的host name或IP,可以是任何一個有ssh server的機器,不一定要是MacOSX,也可以是Linux或是FreeBSD(甚至是Windows + cygwin?)。
  • [remote-path]是遠端機器上的目錄,空著的話就預設為遠端的home。
  • [local-mount-path]是近端機器要拿來掛載的目錄,可以隨便指定一個地方,也可以依照Mac的慣例放在/Volumes下。

執行完如果看到FUSE的kernel extention load成功的訊息就代表掛載成功了。用sshfs掛載遠端的檔案系統後,在Finder中也會看到新的volume跑出來,但預設的名字會是FUSE Volume 0。如果想修改這個名字,可以在sshfs後加上-ovolname=[NAME]來指定想要的名字。

要卸載sshfs volumne的話,千萬不要在Finder中按sshfs volume的退出鈕,否則之後很容易會看到四國語言的當機畫面。正確的卸載方法是在終端機下用umount指令:

umount [local-mount-path]

掛載完成後,我簡單copy了一個10MB的檔案到遠端的目錄上,在802.11g的無線網路上,速度跟用scp差不多,大約每秒1MB,算是相當不錯。
整個測試過程中,我只有因為按了Finder裡的退出紐再umount而看到當機畫面,其餘都還蠻順利的。
如果像我一樣有需要掛載其他UN*X的檔案系統,那相信SSHFS會讓你的生活輕鬆很多 😀

4 thoughts on “MacFUSE + SSHFS 試用報告

  1. 您好,冒昧請問一下,有沒有辦法移除macFUSE呢?因為我裝了之後,發現FAT32的外接硬碟很難掛上去了,很不方便呢!

    謝謝您的回答

  2. 謝謝您,

    我不但刪了/System/Library/Extensions/fusefs.kext 連/System/Library/Filesystems/fusefs.fs 及/usr/local/bin/mount_fusefs 也刪了,結果mount一棵40G的FAT32硬碟還是等了約二分鐘。後來才發現可能是硬碟出紕漏了,和MAcFUSE沒有關係。

    總之,為了這個不相干的問題,打擾您,真是抱歉,也謝謝您熱心的回答。

留言給我吧!