FUSE Port Brings NTFS Support To OS X
sciurus0 writes "In his session at Macworld on OS X filesytems, Google's Amit Singh announced that he has ported Linux's FUSE module to OS X. The port is called MacFUSE and it is available in source form and as a pre-compiled kernel extension with associated tools. Many FUSE filesystems such as sshfs and ntfs-3g are reported to work."
GmailFS should also now be easily supported on Mac OS X using MacFuse.
I'm writing FUSE for Windows at my spare time (not much of it, unfortunately). Is there anybody who's doing the same?
Can anone point out what 'FUSE' is? --- I know i am lazy, no need to state the obvious.
...Miklos Szeredi was offered a job by SUSE Labs, Prague, which he accepted. His job will be kernel developement for SUSE (all GPL, of course). IIRC, he can work on FUSE in 10% of his work time.
Government cannot make man richer, but it can make him poorer. - Ludwig von Mises
The original NTFS-3G source code doesn't compile on Mac OS X without some changes but the MacFUSE and NTFS-3G precompiled packages are available from IUseThis.
Boot camp users, care to comment on the implications?
.: Max Romantschuk
This is great news! Finally, there's an easy way to develop filesystems for multiple operating systems. Maybe I'll pick up my netfs project again now. Anyone working on porting FUSE to *BSD?
Please correct me if I got my facts wrong.
I use it everyday...
/sbin/mount_ntfs
# which mount_ntfs
If there is one thing Ive had trouble with its getting Windows and Mac to talk to each other. External hard drives wont work from one to the other(last I checked), networking isnt possible(last I checked). Ive been forced to use CD-Rs in the past. Hopefully now I can use that external hard drive.
Libertarian Leaning Political Discussion Forum.
I was waiting for the sshfs support on Mac OS X for a long time.
Thanks Google, you did us OS X users a great favorite!
Sounds less stupid than Sing is King!... But if you have been to his site in the last three years he really has more Raw understanding of the Mac, and incidentally just about every other OS that you have never heard of. Undoubtably he is the pulse of a new mac future.
macFuse... Now that I will reserve judgement on. I am sure that it works at least a little, in the same way that HFS and NTFS were based on OS 2\Warp's HPFS, but having R\W support means I can now fix any ailing NTFS drive in my shop-- Typically I will get a drive in and the dell or HP that it was on will report the drive as dead, and it wont boot for a variety of reasons, I will plug it into a Mac an recover all of the data... Definately gonna use it.
--Shaddup and support your local PBS station Plan for it
That's exactly the feature I expected This has always been a great concern for me, as I have no available Linux box at work. But now I am finally empowered to completely fuck up my NFTS partition and ruin gygabytes fo data and months of work from both, work and home. I love it! The perfect complement to NTFS' own native goodness!
-- 29A the number of the Beast
Macs running OS X have built-in Windows file sharing -- you can share files from the Mac and you can connect to Windows network-shares. Windows Active Directory and VPN might complicate things a bit, but offer no more problems from a Mac than they do from the average Windows PC.
As for sharing an external hard drive, while Macs only read NTFS volumes, they can both read and write to FAT32 volumes which are compatible with Windows as well. There are, however, limitations to FAT32 such as the 2GB maximum file-size which might make that a less-than-optimum solution.
Another alternative is to purchase a commercial product such as MacDrive, which allows Windows PC's to access hard drives that have been initialized with the Mac (HFS+) file system.
How about ext3 support on Intel macs? I tried the sourceforge project about a year ago and it didn't work.
Help! I'm a slashdot refugee.
Actually, the maximum file size on FAT32 is 4GB, but that's still pretty small.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
I love fuse it makes so many things so much easier.
mainly I use "sshfs". but the biggest problem I have is the same problem I have with KDE-IOSlaves.
is that you can't really chain them
It makes it easy to Open a Zip/Rar file as a folder, and it makes it easy to treat an FTP server as a folder. but what about a Zip File on an FTP server?
I just wish there was some easy way to allow the FTP/SSH file systems to recognize that a Zip File as folder.
or chain to Zip with Encryption.
or Encryption with Subversion.
all at the file system level.
any way thats my rant, but the FUSE effort is brilliant in general.
--meh--
Sure, no writing, but that's why you convert all your drives to HFS+
That's kind of a huge limitation. There are lots of times when you might want to share a drive back and forth between a Windows and Mac machine, and it's not possible or desirable to run MacDrive on the Windows side (and having for format the drive with FAT32 sucks mightily).
Letting the Mac understand NTFS is a good thing, because it provides for more interoperability. The only downside to it, is that it might cause people to think of NTFS as a good inter-operable standard, rather than the disgusting, proprietary, Redmond Albatross that it is.
Plus, being able to use SSH as a filesystem is pretty slick, and will probably get more use than the NTFS part. KDE's implementation of SSH-as-filesystem (called fish://) is darned slick, and I've always thought that Apple was missing out by not having something like it.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
unless you are just storing data.
I'm working on a Cocoa GUI for FUSE (currently called MacFusion). The idea is that it loads plugins for supported filesystems (working right now on SSHFS, NTFS-3G and FTPFS at first). The plugins provide a configuration interface and code to mount/unmount. I'm hoping that this GUI will make FUSE goodness easily accessible to non-technical non-console people. In the future, it should be simple to support encfs, gmailfs, etc. This will be a FOSS project once a first build is ready. Anyone who wants to help is welcome, as are suggestions of any kind on the features/interface.
I love it how stating a FACT (that OS X users/developers are leeches on the open source community, porting everything to OS X but giving nothing back) is moderated down as flamebait.
Here's a clue, mods, if you want to win an argument, you need to present counter arguments, not just silence those you disagree with.
On reading about this I decided to install it on my Mac and see what it gives. While a great advancement, this is still a work in progress and still very much something for people familiar with the command line. The aspect that would change all this the ability to use FUSE based FS URLs in the Finder ( known issue ), though this seems to be a limitation based on some private APIs needing to be made public, which I hope Apple resolves.
Jumpstart the tartan drive.
Yeah, WTF is going on with the mods these days? For the last few weeks everything has been whacked. I've never seen anything as weird as (Score:0 Insightful) until recently. Things that are barely useful are +3 and anyone stating a fact might get -1 slapped on them. So, WTF? Over...
Most of the stuff on
They have given something back. For example the first Free software RTP/RTSP streaming server was released by Apple.
Spelling/grammar nazis welcome (English is not my first language and I am trying to improve my spelling/grammar)
It's a great tool and one I have practical use for, but testing it out for work I've stumbled across what I consider to be an important issue. I've only tried SSHFS so far, and I haven't done any digging to see where the fault lies, but a dropped connection (either a dropped internet connection or an SSH session the server drops) really confuses the system. Messing about, I killed my internet connection during a read, and Finder hung until my the connection was restored. Another time, my session was killed for idleness by our server; when I tried to perform a read through Terminal, both Terminal and Finder crashed and took all of OS X with them.
Just out of curiosity: any idea how the dev team created those iconic click-to-mount file systems shown off in the tech talk?
Now let's talk about Linux, and how it stole most of its OSS from HURD. Talk about a leech!
If you're not flamebaiting then you probably want a serious answer. My guess is twofold:
- Mac has a culture of charging small amounts of money for software released commercially rather than open sourcing things (e.g. TextMate). This dates to before the OSX days.
- People writing code for Macs tend to use Cocoa because its the easiest way to do it and this doesn't port easily to other systems.
"XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
I couldn't find a binary installer for NTFS-3G, so I whipped one up and made it available here. You need to install MacFUSE first. I will see if I can make a UB version this evening and test it on my G5. Enjoy, and let me know if there are any problems. It is tested (lightly) on a MacBook and MacBook Pro
Yes, that is what you can do with FUSE, but you can also do that without FUSE. All FUSE is doing is making it much, much easier.
/dev) -- this is what allows you to plug in a USB keychain device and expect it to work, or at least expect to be able to mount it right away.
FUSE is far from the only link from kernel space to userspace, and far from the only one where the kernel is coming to a userspace daemon with requests. For instance, udev is a system where the kernel tells the udev daemon about a new device, and the udev daemon looks in its config files and creates a device node (those files in
Basically, the kernel is the thing behind the thing you're using right now. To over-simplify, kernel is to OS what CPU is to PC. Most kernels are monolithic, meaning it's a single program -- more specifically, a single process. Linux (the kernel) is one gigantic, multi-threaded x86 process.
Now, kernel programming is hard. Very hard. You basically have to program in C, but you get absolutely no libraries that aren't already in the kernel -- remember, most shared libraries are stored as files on a filesystem? Well, where does the filesystem get its libraries? So if you want a library in the kernel, you have to put it there -- which is pretty much like porting it.
You also have pretty much no memory protection, as far as I know. You know, things that would segfault a normal program -- or "illegal operation" on Windows? It's the kernel that handles that. Basically, this means that if you end up with a pointer to some address you didn't mean it to, you'll be able to write there -- which means anything in the kernel can pretty much scribble all over anything in RAM, which means a bug in the kernel can screw up your system in absolutely any way imaginable, including file corruption. This is why we don't like the nVidia drivers, by the way -- they're binary, a black box, and sometimes they do have serious bugs, with serious consequences, including file corruption. Think of all the complaints people have had about Flash and Java crashing Firefox (admittedly not as much lately, but still), and imagine that's your entire OS, and you start to get the picture.
So, even if your program is written entirely in C, there are many things you can't do in the kernel that you can do outside the kernel -- which means, userspace.
So writing a filesystem in FUSE means you can use libgmail, you can write your filesystem in Perl or Python, you can call librar without having to teach the Kernel to understand RAR files...
Generally, anything you can do with FUSE, you could theoretically do with something else, including doing it IN the kernel. You do it with something specialized, like, say, a specific API through which the kernel calls a program in userland which understands RAR files. You could even port librar to the kernel -- technically, you can actually do anything in the kernel, it's just harder. FUSE puts it in userspace, making it easy.
And now it's portable, too. Remember, userspace isn't all that different between Unices -- often, you can make an initial port of a simple, commandline app from Linux to OS X simply by recompiling. So all those cute little filesystems people have been writing for Linux -- including ntfs3g, but also sshfs, gmailfs, all that other stuff -- those all work on OS X now, and the only people who had to deal with the OS X kernel are the FUSE team.
The drawback is speed -- context switches. A context switch (for those who don't know) is what happens when you flip from executing userland code to kernel code, or vice versa -- and it takes a little bit of time. Everything you do is now automatically four context switches -- some app tries to access a file, so it asks the kernel to open that file. The kernel then talks to your FUSE daemon, so now the FUSE daemon is running. That's two already. Even if the daemon does nothing other than send "Hello, world!" back to the app, it has to send it back to the kernel, first... That's ignoring things like,
Don't thank God, thank a doctor!
It seems to me that kioslaves would be able to perform better than fuse ever could. Maybe the best solution would be some sort of glibc hack?
Don't thank God, thank a doctor!
How else would be POSIX subsystem and SFU subsystem run?
Probably fork() is an obscure undocumented NT-native call. You just need to find it, call it, and hope that your C library doesn't go into convulsions.
There is ZFS for FUSE, and the next MacOS X will have ZFS native. Compare them.
I've been trying to get a decent way to encrypt my Parallels/WinXP drive/folder.
/Applications or some such thing...this makes my WinXP accessible by other users (eg. admin) on the same laptop.
MacOSX home folders using filevault a neat,
but I have to keep the Parallels/WinXP folder in
Any working suggestions?
4GB.
Thanks. I mis-remembered. FAT16 has a 2GB limit.
Here's your counter argument. Apple has released WebKit and launchd to the open source community. Nokia uses WebKit for their S60 series phones and KHTML developers get back source code from any improvements Apple has made. You may get off your high and mighty horse now. You should be happy Apple is using open source code.
At work we have Windows 2000 workstations locked down to where we are not able to install anything. This is good, but it leaves us no choice but to use USB key drives and portable apps if we want to run things like Firefox.
I have an iPod formatted for Mac and YamiPod won't read it on those Windows 2000 machines, and I have no option of installing something like MacDrive on the machine to do so.
Perhaps I could use something like FUSE.