ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MacFuse
    카테고리 없음 2007. 1. 24. 12:56
    얼마전에 잠깐 얘기했던 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된 모양이다. 잘된 일이로세..

    댓글

Designed by Tistory.