FUSE Port Brings NTFS Support To OS X 150
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 also (Score:5, Informative)
FUSE for Windows (Score:5, Interesting)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:5, Interesting)
Release is FAAAAAAAAR away now, I expect to get something working in 3-4 months.
Re:FUSE for Windows (Score:4, Informative)
Re:FUSE for Windows (Score:2)
I'm not going to cover all possible cases (particularly, I don't even want to try to replicate Unix behavior with deletion of open files). My current aim is to port sshfs and zipfs.
Re:FUSE for Windows (Score:5, Funny)
If there's no fork, then how do you eat your meat (and consequently get the pudding)?
Re:FUSE for Windows (Score:3, Funny)
Re:FUSE for Windows (Score:2)
Obviously fingers won't work...
Re:FUSE for Windows (Score:4, Funny)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
Stay away from the Windows.
Re:FUSE for Windows (Score:1)
"there's no fork() in Windows"
LOL, that's like "There's only one F in Fulham [wikipedia.org]"
.
Re:FUSE for Windows (Score:5, Funny)
there's no fork() in Windows
You don't need to stick a fork() in. It's easy to see that Windows is done.
there must be a fork() for Windows (Score:2)
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.
Re:there must be a fork() for Windows (Score:2)
Re:FUSE for Windows (Score:2)
Have you ever played with Cygwin? Back when I was in college, (about 5 years ago,) all of my assignments had to run on my school's Unix system. I would develop on Windows using my favorite IDE, and compile & run locally under Cygwin. When the program was complete, running it on the school's Unix system was a trivial matter.
I think Cygwin has a Unix-style fork(), but I'm not 100% sure. I didn't know about Cygwin until after I programmed with fork(). (On a side note, after my experience with fork(), I thank Bill Gates every day I use threading in .Net.)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
(because there's no fork() in Windows).
There is only the matrix.
Welcome to the dessert of the real. Tasty.
Re:FUSE for Windows (Score:1)
I have been thinking about making a FUSE filesystem for Linux and having it on Windows as well would be a great advantage.
Re:FUSE for Windows (Score:2)
I hope to have my very own Slashdot story when I finish porting
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
Here's the project page http://cvs2svn.tigris.org/ [tigris.org]
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:3, Interesting)
I don't know how you've planned the userspace, but I'd suggest that you make it NOT dependent on Win32. It'd be much easier to implement features like fork (which Win32 doesn't support, but native processes do). Also, native process programming follows a lot of the same conventions that kernel programming does; the code would be more consistent and lightweight. Besides, it seems unlikely that FUSE would require Win32-specific features.
Please let me know if you get a source repository up.
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
The subject said "FUSE for Windows". Check out FUSE, do the math.
Re:FUSE for Windows (Score:5, Informative)
So with FUSE ported, Windows users can also enjoy in-filesystem versioning, seamless ssh integration, RAR files as folders and so on.
Re:FUSE for Windows (Score:5, Interesting)
Why is this such a great goal, when FS developers have been trying to meet the basic features of NTFS already...
NTFS already does journalling, has file versioning (far beyond what any *nix FS does), encyrption, compression, and with Win32, zip and rar integration.
The trick in writing a FS for Windows isn't so much a NT issue, but how Win32 see the FS and what it expects to be there. This can best be demonstrated with the Unix subsystem on Windows, or how NFS is handled.
BTW, this is kind of a baited post to see how well people really do understand NTFS and also what they are trying to accomplish.
For developers interested there are some good resources and help on writing FS for NT, like at: http://www.osronline.com/cf.cfm?PageURL=showlists
Take Care...
Re:FUSE for Windows (Score:2)
I am pretty sure NTFS does not support versioning, although it could of course be implemented in userspace by using reparse points. The standard *nix file systems don't do versioning either, by the way. Zip and RAR are not implemented in the file system, which means you cannot access zip files as directories from the command prompt, for example.
In any case, I don't think you realize what FUSE is if you compare it to a filesystem, any filesystem. NTFS can be (and has been) implemented in FUSE. While NTFS is a feature rich and extensible filesystem, it is still just a file system. See my example of seamless ssh integration - hop into a FUSE directory and voilà! You are in a directory on another box connected via ssh. Check out that list I linked to and you'll get the picture.
Re:FUSE for Windows (Score:2)
Um, you might want to look at Windows 2003 Server and Vista. Versioning does happen at the FS level and is completely NT subsystem agnostic.
In any case, I don't think you realize what FUSE is if you compare it to a filesystem
I actually do know what it was, that was not the question I asked or the reason I asked the question I did. There are several good reasons for FUSE technology, but I think there are also a lot of people that go goo-goo based on what it is, and many on't realize that some of what it is doing is already in OSes, hence the baited question.
Re:FUSE for Windows (Score:2)
I used to long for proper versioning in the file system, but FUSE has shown that it can be handled beautifully in userspace. This means I can pick any underlying FS, retaining full compatability with legacy systems on a movable disk. And that's just one tiny example of what FUSE can do. It is some really nice technology, to be sure.
Re:FUSE for Windows (Score:2)
And that's not even touching many Unix/Linux FS's including XFS, JFS, and ReiserFS which are all excellent FS architectures.
Look at this link comparing all of the FS's available on multiple platforms to make a determination for yourself:
Wikipedia [wikipedia.org]
Heck, even Mac OS Extended (HFS Plus) looks good compared to NTFS.
Re:FUSE for Windows (Score:2)
Ok, first you are basing the FS based just on this table, but even in doing that, do you HAVE ANY IDEA what the numbers in the columns mean?
HFS is closer to FAT32 than even coming close to NTFS.
I am not going to knock ZFS, but the features that put it past NTFS are PRETTY NEW in terms of featurs offered. NTFS is OLD, as in 1991 OLD. There were very few FSs back then that inherently did Unicode and also supported 16 Exbibytes of space.
When comparing FS there is more than just bytes and storage limits though, there are things like performance, data reliability, and features like journalling, compression, encryption etc...
You mention several really good FSs, and I'm not going to say NTFS is the world's greatest FS, but it truly isn't something to sneeze at either. You are forgetting it has been doing for many years things many of the FS you mention just started doing in the last couple of years.
Re:FUSE for Windows (Score:2)
First, there are multiple tables in the Wikipedia link, if you use your mouse or keyboard and scroll down the page. Second, yes, I absolutely know what I am talking about. And unlike you, I provided extensive reference to back up my claims. You have provided absolutely nothing. Third, you originally claimed that NTFS was better than any *nix FS, but then provided no direct evidence to support your assertion. As well as the illogical backpedaling in your response to my post (ie. NTFS is old).
The fact is that NTFS is actually the same age development-wise as many better FS's available in *nix OS's. Considering NTFS was last updated in approximately 2002, your age argument rings false. FYI, NTFS is currently in version 3.x with another upgrade coming with Vista.
Look over all of the tables in the Wikipedia link, hopefully you will learn something.
PS-The Wikipedia page contains links for all of the FS's that are listed on the page.
Re:FUSE for Windows (Score:2)
This statement alone proves you are talking out your ass. If your knowledge is based just on the data figures from Wiki then no wonder you have NO FREAKING clue what you are you even spouting...
Yes NTFS was updated over the years, but what where the updates? Oh, they added compression, and then they added encryption.
Oh and BTW the Vista NTFS version HAS NOT CHANGED, symoblic links were in NTFS since Win2K, Vista just added the native commands to use them...
Here you do some freaking research and stop trolling on crap you have no idea about.
http://en.wikipedia.org/wiki/Ntfs [wikipedia.org]
Re:FUSE for Windows (Score:5, Informative)
Re:FUSE for Windows (Score:2)
Re:FUSE for Windows (Score:2)
The IFS kit is now $109 [microsoft.com] and its documentation is now available online [microsoft.com], including a design guide. The only thing about it is that the IFS docs concentrate on file system filters, not full FS drivers. Even so, if you implement the major IRP functions one at a time (read, write, enum directory, etc: each of which is documented), it's really not bad. Some of the functions are complicated (moreso than a VFS FS) but writing regfs has gotten me to the point where I can see how it all fits together. I find the architecture very usable, if overly complex. I haven't had to put in any magic app-specific hacks (at least not yet) to get them to work, even for Explorer.
The creator of FUSE... (Score:5, Informative)
Re:The creator of FUSE... (Score:4, Funny)
So, FUSE will now fuse with SUSE?-)
But seriously, I wonder how this relates to the SUSE-Novell-Microsoft connections... That's a nice implementation of NTFS you got there. It would be a shame if something happened to it.
Re:The creator of FUSE... (Score:2)
Thankyou, thankyou. Try the chicken, I'll be here all week.
Re:The creator of FUSE... (Score:3, Informative)
Re:The creator of FUSE... (Score:2)
Precompiled read/write NTFS packages (Score:5, Informative)
Re:Precompiled read/write NTFS packages (Score:1, Informative)
Great for dual booting? (Score:3, Interesting)
Re:Great for dual booting? (Score:3, Informative)
Great News! (Score:3, Insightful)
Re:Great News! (Score:3, Informative)
By the way, I have decided not to upgrade my OS X until Apple includes out-of-the-box sshfs (that's the one I used the most among those built on top of fuse) support into new version of the OS.
Re:Great News! (Score:2)
But more seriously, I'd pick a platform and stick to it -- and right now I like Linux, because it's so ubiquitous. If you're looking for a cross-platform way of developing filesystems, you might consider trying some sort of wrapper library in-kernel, though...
Because FUSE is slow, and FUSE will always be slow. The way I understand it, even a filesystem that creates exactly one file that simply reads "hello, world", is going to take four context switches to read that file. Consider "cat foo": cat -> kernel -> FUSE daemon -> kernel -> cat
I'd like to look more deeply into this sometime, though. I remember back when Hans Reiser was introducing Reiser4 and "plugins", and others were saying that Linux already has a filesystem plugin layer -- the Linux VFS, which all other filesystems use. So, I want to know if the Linux VFS itself is portable enough to target that instead...
Re:Great News! (Score:2)
The main idea was to first make a simple read only filesystem that Just Works. That part is basically done, except there is no kernel driver yet. Then, the filesystem would be extended with permissions (done right; not based on uids like in NFS) and write support. Eventually, it's on to replication and perhaps distribution.
``But more seriously, I'd pick a platform and stick to it''
I would, but writing filesystem drivers for any platform is a PITA. I ran into lack of documentation and comment-less source code on Linux, and on NetBSD and OpenBSD, all I managed to do is lock up the system. With FUSE, it's all so much easier.
``Because FUSE is slow, and FUSE will always be slow.''
I doubt that matters when you're interacting over the network anyway. Besides, the first priority is making it work; a kernel driver can always be written if need be. Premature optimization is the root of all evil, yada yada.
``I want to know if the Linux VFS itself is portable enough to target that instead...''
It's not. Also, it's poorly documented, poorly commented, and you never know when the API will change.
Re:Great News! (Score:2)
Hmm. How does that look? I can see some sort of mapping local uids to remote uids, or more advanced schemes like ACLs, but other than that...
I'm guessing that means a file can be stored on more than one machine, and it will be cached on-disk locally? Basically, like coda, but open?
Sounds good!
LANs are pretty fast, and then there's gigabit. With aggressive caching, you should be able to make really nice "diskless" machines, where you have a box with 20 gigs or so of disk space, but which boots and runs from the network (from a fileserver or a cluster of fileservers), using that only as a local cache -- the administrative benefits of diskless combined with the performance characteristics of local installation.
Unfortunately, I've never found a network FS that I like for that purpose, and the few that were close enough to try, I could never get to work.
True enough, to a point. I guess I always want to make sure that I'm optimized enough in the beginning, so I wouldn't have to rewrite the whole entire app for performance considerations. For instance, I'd hate to, say, write a game in Perl, then have to rewrite the whole thing in C++ just for the performance.
Then, too, I want more out of my environment (language, tools, OS) than anything provides right now, which means I'd better get started!
Re:Great News! (Score:2)
Hmm. How does that look? I can see some sort of mapping local uids to remote uids, or more advanced schemes like ACLs, but other than that...''
I'm thinking just authentication to the netfs server. Any kind of authentication could be implemented, and any mapping between netfs accounts and system accounts on the system the server runs on. I still have to think about it.
``Eventually, it's on to replication and perhaps distribution.
I'm guessing that means a file can be stored on more than one machine, and it will be cached on-disk locally? Basically, like coda, but open?''
Yes, caching too, I forgot to mention that.
``Sounds good!''
Thanks! It's all still very much in the future, though. I'll probably have to rewrite the existing code, because the files seem to have gotten corrupted.
``I doubt that matters when you're interacting over the network anyway.
LANs are pretty fast, and then there's gigabit.''
Yes, but you're still incurring context switches and network latency, which I imagine adds up to more than the FUSE overhead.
``With aggressive caching, you should be able to make really nice "diskless" machines''
Caching is far off, though. The algorithms for keeping replicas consistent are complicated, and I want to make the simple stuff _work_, before I start on complicated stuff and optimization.
``Unfortunately, I've never found a network FS that I like for that purpose, and the few that were close enough to try, I could never get to work.''
Same here, with the added complication that I run multiple operating systems. That's why I started netfs. Unfortunately, developing the kernel modules was too high a barrier for me.
``Premature optimization is the root of all evil, yada yada.
True enough, to a point. I guess I always want to make sure that I'm optimized enough in the beginning, so I wouldn't have to rewrite the whole entire app for performance considerations. For instance, I'd hate to, say, write a game in Perl, then have to rewrite the whole thing in C++ just for the performance.''
I always prototype code in a dynamic language (Python in this case; usually Scheme or Ruby). Then, once I'm satisfied with the design, I consider rewriting in another language. Often, I don't bother, or just rewrite the hot spots.
``Then, too, I want more out of my environment (language, tools, OS) than anything provides right now, which means I'd better get started!''
I'm working on my own programming language (Mana), which is meant to be (1) fit for interactive use; specifically, as a shell, and (2) be suitable for large projects as well. Important features are: simple and convenient syntax, macros, strongly typed, compiles to native code, automatic resource reclamation (memory, but also file handles and whatever else one implements), and dependent types if I can figure out a way. Right now, the design is mostly finished, as is the code generator; next up is implementing the core language (abstraction of machine code), then the base language (minimal type-safe language on which the rest will be built), and then I'll have to sit down and think hard about the standard library. The language is strongly influenced by Common Lisp, Scheme, Haskell, and the Bourne shell.
Re:Great News! (Score:2)
Consider NFS. With NFS, you have exactly the number of context switches you would on a local FS -- you go app -> kernel -> remote kernel -> kernel -> app. The kernel is doing all the network stuff, all the filesystem stuff, and all the NFS stuff.
But definitely once you get into caching -- I know you're putting that off, and I'd also encourage you to look at the fscache/cachefs... whatever they're calling it, there are people working on a solution for caching NFS stuff. What I'd really like to see is something like the FUSE caches that exist now, but in kernel space -- to, say, mount /nfs onto /cached, and have it all cached as local files within /cached, the way InterMezzo was supposed to work -- letting me do things like use Reiser4 for a local cache, if I'm so inclined.
If you can make it work well with one OS, you're likely to find people to help you port. I'd be all for portability if it weren't for what I see as potentially massive performance issues...
Those are two of my three (or is it four now?) requirements from a language, before starting my own ambitious projects.
Good... For my part, I want it to be something like Perl, and especially like Perl6 and Ruby, in that large chunks of the language can be written in or modified by the same language. I'm guessing macros will help with that...
Good for performance, I think. I'd suggest that strongly typed doesn't mean we can't do the kind of implicit typecasts everyone likes -- and, for that matter, I don't see dynamically-typed languages having their dynamic typing taken advantage of.
I like bytecode. Partly because I occasionally hear of benchmarks where a VM outperforms native code -- it can do optimizations at runtime that aren't really possible at compile time; for instance, pick one of two possible implementations based on which performs best under the current workload.
But mostly, I like bytecode because I want my software to be portable at that level. One of my ambitious projects may be proprietary, or at least encourage proprietary development, and languages like Java kind of force people to be cross-platform without having to really think about it. And the ambition of my project is such that I'd want 90% of office-like apps to be written in it, making the business world no longer platform-dependent.
There are some reasons I think this will work, but this may be getting beyond what I want to talk to on Slashdot. I'm partly paranoid of my ideas being stolen, partly paranoid of being laughed at, but it would also be nice to have this in email or something else. My Jabber ID is the same as my email address, if you want to talk.
In any case, an intermediate representation (bytecode) should be possible to compile down to machine code. In fact, gcj does just that for Java.
In this case, I think it'd be nice to have this be possible to fine-tune for a particular app. To have everything managed, but have the app (or object, or library) be able to force reclamation, at least.
Might also be nice to either fi
Doh. mount_ntfs is already there (Score:2, Informative)
# which mount_ntfs
Re:Doh. mount_ntfs is already there (Score:5, Informative)
Re:nt3gfs has no ACLs, so its virtually worthless (Score:2)
Gee, which is pretty much what most people use it for...
Re:Doh. mount_ntfs is already there (Score:3, Informative)
I can't seem to find a straight definition of "nonresident files" in the context of NTFS, but my best guess from glancing over google results is that "resident" files are ones which have their contents in a small block embedded in the inode itself. That'd be an optimization to minimize internal fragmentation on small files. If I'm right, a Windows-produced NTFS is likely to have a lot of these files. Not sure if OS X can't write to them at all, or if it will just make them non-resident when it does so.
Great! (Score:3, Informative)
Thanks Google, you did us OS X users a great favorite!
Stability: SSHFS or MacFUSE at fault? (Score:3, Interesting)
The Man is King! (Score:1)
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.
Re:The Man is King! (Score:1)
Super, I'm running to install it! (Score:1)
How about ext3? (Score:5, Interesting)
genneral problem with FUSE (Score:3, Interesting)
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.
Re:genneral problem with FUSE (Score:2)
Mount the FTP server as a file system. Once you've done that, you now have, in your file system name space, a Zip file. Mount that Zip file. References to it, or the files in it, will be passed to the user-space zipfs, which will do I/O to the Zip file. That I/O will be passed to the user-space ftpfs, which will do FTP operations to get the file's contents.
Cocoa Fuse GUI (Score:5, Interesting)
Tried it and comments (Score:4, Interesting)
Re:Tried it and comments (Score:2)
To be precise, it's a limitation on a private plugin interface needing to be made public. Making an interface public means committing to the interface, making it harder to make changes if a design decision made at time T turns out not to have been the right thing to do at time T plus delta T. (That particular interface might well change very significantly in future releases. It might be "done" at some point in the future, at which point Apple might decide to make it public.)
use ZFS to measure the overhead (Score:2)
This will be nice for those without admin rights (Score:2)
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.
Comment removed (Score:5, Informative)
Re:FUSE? (Score:5, Informative)
Not quite... (Score:2)
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,
Re:FUSE? (Score:5, Informative)
Try http://fuse.sourceforge.net/ [sourceforge.net] - basically, when I hear of an Open Source project I've not heard of before, I just go to "nameofprojectgoeshere.sourceforge.net", and (more often than not) there it is. And there it was.
Re:FUSE? (Score:2, Informative)
Re:FUSE? (Score:2)
Re:FUSE? (Score:2)
Re:good (Score:1)
That's the problem. (Score:4, Informative)
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:// [kde.org]) is darned slick, and I've always thought that Apple was missing out by not having something like it.
Re:That's the problem. (Score:2)
Interesting, hadn't heard of this before and just tried it. Is there any advantage to using fish:// instead of sftp:// in Konqueror (aside from it might work with servers that have the SFTP subsystem disabled)?
Re:That's the problem. (Score:3, Informative)
I did some quick Googling on the subject of Fish versus SFTP, and apparently: "The fish kio...relies [only] on the ssh [server] providing a unix shell, then it uploads a simple server program written in perl. A beautiful hack and handy if sftp is not available on your ssh server, but nowhere near the performance or reliability of sftp." From here [ubuntu.com].
So if the server you're connecting to supports SFTP, and you're only going to be doing file transfers, you might as well use it. But FISH will work even in situation were SFTP isn't supported, and your only way in is via SSH.
Re:That's the problem. (Score:3, Informative)
FUSE isn't like it - in at least some ways, it's better. FUSE makes it work at the UN*X API level, which means that even non-KDE applications, such as grep, can use it.
Performance? (Score:2)
Re:good (Score:1)
Good point! I'm converting all my NTFS drives as we speak. I assume that Windows will still be able to read from them afterwards or you would have mentioned it? I sure hope so!
It reads Internal, External or Anal, whichever I chuck at it.
I know that Apple tends to be associated with homosexuality, but I think you're taking things a bit too far.
Re:good (Score:3, Funny)
Um... maybe by "last I checked" you mean the 1990s?
Re:good (Score:2, Informative)
Re:good (Score:2, Informative)
Job done. It even tells you where to point your windows pc to.
Re:good (Score:1)
http://www.apple.com/macosx/features/windows/ [apple.com]
http://www.apple.com/macosx/features/websharing/ [apple.com]
http://www.apple.com/pr/library/2003/jun/23server
That last one is a press release from June 2003 where they talk about Samba 3 in Mac OS X.
Plus you could always format the ext. drive with FAT32 and pretty much every modern OS could access it.
Hell, if you were that determined you could simply pipe dd through netcat and be done with it.
Re:good (Score:2)
Re: Macs Do Speak Windows (Score:3, Informative)
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.
Re: Macs Do Speak Windows (Score:2)
Re:good (Score:4, Funny)
Next time I'm buying the Commodore 128 or something else that can run GEOS!
Re:good (Score:2, Informative)
For the TRS-80, your best bet may be running SLIP or PPP over a serial or parallel interface. Of course, viewing web pages in 128x64 block graphics might be something of a challenge.
Fortunately, Commodore 64/128's have an ethernet solution available. See http://www.dunkels.com/adam/tfe/ [dunkels.com]
Re:Yet more Linux - OSX leeching (Score:3, Insightful)
- 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.