'fuse'에 해당되는 글 1건

  1. 2007.01.24 MacFuse

MacFuse

얼마전에 잠깐 얘기했던 virtualization의 대가 Amit.... 한동안 조용하다 했더니 google로 이직했었다. ibm인가에 근무하고 있었고, Mac OS X internals라는 베개만한 책을 내놓았었다. osx의 내부 구조를 다룬 책으로는 유일한 책이라 기회가 되면 한번 보려고 벼르고 있는 책이다.

하여간, 그게 중요한게 아니고 그 amit라는 사람이 google에서 20% project로 진행하는게 macfuse이다. MAC FUSE(Filesystem in Userspace)의 약자로 user level file system을 가능해 주게 하는 것인데, linux쪽에서 오래전에 만들어져서 널리 사용되고 있는 것이었는데 이제서야 포팅이 된 셈이다. 원래 새로운 filesystem을 추가하려면 kernel 아래의 모듈로 들어가야 하는데 개발이나 디버깅이 워낙 까다롭기 때문에 - 그리고 많은 제약사항들이 있기 때문에 - user level에서 filesystem을 개발할 수 있게 해 주는 것이다..

릴리즈 된지 두주 남짓 되었는데, macfuse를 이용한 흥미로운 filesystem하나가 나왔다.

SpotlightFS

검색할 keyword로 directory를 만들어 놓으면, 그 directory아래에 검색할 keyword를 포함한 모든 file에 대한 link가 나타난다.

osx 에서 제공하는 Smart Folder의 command line version인 셈이다.

여기에서 MacFUSE-Core 와 SpotlightFS 를 다운 받아 MacFuse 설치후 리부팅... 그후에 SpotlightFS를 실행시키면 /Volume 아래에 SpotlightFS란 directory가 생긴다. 그 및에 임의의 keyword로 directory를 만들어 주면... keyword를 포함하는 file에 대한 link가 나타난다. 아래 처럼.. 특정 directory아래에서만 검색하게 한다든지, 특정 날짜 범위만 검색한다든지.. 하는 option은.. 있나 없나 모르겟지만, file 의 full path가 나오니까 어떻게든 처리는 가능할 듯 하다.

freelife:/Volumes/SpotlightFS$ mkdir FUSE
freelife:/Volumes/SpotlightFS$ cd FUSE
freelife:/Volumes/SpotlightFS/FUSE$ ls
:Library:Receipts:MacFUSE Core.pkg
:Users:me:Desktop:MacFUSE-0.1.0b006.dmg
:Users:me:Desktop:MacFUSE-Core-0.1.7.dmg
:Users:me:Desktop:oxygen:frameworks:fxsl:data:dictEnglish.xml
:Users:me:Sites:dojo:tests:flash:resources:testBook.txt
:Volumes:hobby:linux-2.6.18.3:Documentation:devices.txt
:Volumes:hobby:linux-2.6.18.3:Documentation:filesystems:fuse.txt
:Volumes:hobby:linux-2.6.18.3:arch:arm:common:uengine.c
:Volumes:hobby:linux-2.6.18.3:arch:arm:mach-ixp23xx:core.c
:Volumes:hobby:linux-2.6.18.3:arch:ppc:platforms:prep_setup.c
:Volumes:hobby:linux-2.6.18.3:drivers:media:video:mxb.c
:Volumes:hobby:linux-2.6.18.3:drivers:media:video:saa7111.c
:Volumes:hobby:linux-2.6.18.3:drivers:media:video:saa7114.c
:Volumes:hobby:linux-2.6.18.3:drivers:scsi:qlogicpti.c
:Volumes:hobby:linux-2.6.18.3:drivers:scsi:qlogicpti.h
:Volumes:hobby:linux-2.6.18.3:fs:fuse
:Volumes:hobby:linux-2.6.18.3:fs:fuse:control.c
:Volumes:hobby:linux-2.6.18.3:fs:fuse:dev.c
:Volumes:hobby:linux-2.6.18.3:fs:fuse:fuse_i.h
:Volumes:hobby:linux-2.6.18.3:include:linux:fuse.h
freelife:/Volumes/SpotlightFS/FUSE$ 
몰랐는데, linux kernel에 fuse가 정식으로 import된 모양이다. 잘된 일이로세..
Trackback 0 Comment 0
prev 1 next