How Do Your Machines Talk to Each Other?
VonGuard asks: "I'd imagine this is a common scenario out there for Slashdot readers: I have multiple desktops, all sitting right next to each other and all running different OS's. Linux, Mac OS X and 9, Windows 98, and XP. The problem is, despite these machines being only inches arpart physically, in the digital world, they are miles apart. I have no single way to get them all to talk to each other. NFS is impossibly complex, Appletalk is unreliable thanks to netatalk, while PCMacLan, and Samba make me feel like I'm giving into the Empire. Isn't there a simpler way to get files from one of these machines to the other? Right now, I use webservers and write little HTML files that link to the files on each machine. Isn't there a better way to do this?" Is there really a network sharing standard that works across a number of operating systems aside from Samba? Truth be told, Samba "works-for-me", so that's what I us. However, when it comes to simple file copying, sometimes a simple scp is all I need. What protocols do you use in networks that consist of 3 or more operating systems?
In my home, there are three laptops that regularly wander in and out of the network, running FreeBSD / Windows 2000, Mac OS X and Mac OS X; I want them to have common access to my projects, and my mp3s. My central file server has an sshd, so I simply use rsync to keep them all in sync with one another. It is a bit wasteful, if all of my machines stayed on the network 24/7, but I and my wife do a lot of travelling.
Weapons of Mass Analysis
How Do Your Machines Talk to Each Other?
Hah, they don't. I don't need the devious little things plotting behind my back. If they can't talk... they can't revolt.
Unless, of course, my brutal oppression is what pushes them to bloody revolution...
no thanks
well, you could always use that little protocol called "file transfer protocol". Go figure. A protocol used to copy files. Works on every platform know to man kind. If you wanted to pull out a good ol' system that fell into disuse, get gopher working! As a side, there are scp protocols for pretty much everything as well.
Face it, you're trying to network 2 MS OSes with 3 non-MS OSes. You want to fileshare between them without "giving in" but you're keeping the non-MS OSes.
... yet you exclude it off-hand? Sounds like an exercise in frustration to me.
Samba is nothing to be ashamed of. I know plenty of folks who use it with no MS OSes in the mix at all.
You seem to know it is probably going to be the simplest solution
It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
Linux-to-Windows and Linux-to-Netware was quite a bit harder. The SMB and Netware clients that come with most Linux distros are pretty good, but the most obvious and well-documented way to set them up is an ugly kludge where you initialize the clients in a hand-rolled script. I insisted on figuring out how to do it "correctly" by editing the network config files. Took too much time, and I never got it working exactly right. But it was servicable.
I don't remember most of what I did, but I do have an important hint: on Win2K you almost always want to map a share to a drive, rather than accessing the share directly. Very slow otherwise. I think XP is a little better this way.
I haven't worked a lot with Macs, but from what I've seen, they're particulary good with file sharing.
Set up WebDAV. It should be supported on all of the OS's you mention. This is what I use between OSX, Linux, and Winders.
Need Free Juniper/NetScreen Support? JuniperForum
Since you ask right now, you are probably using the 'unstable' branch of Debian (where Netatalk recently broke for Mac OS X clients).
That's when I decided to dig into the world of NetInfo - the NIS-like information system for Mac OS X. Basically, I now configured my Mac OS X client as a NIS client, which also auto-mount file shares from my Linux server via NFS. It's not that hard to set up, really. A nice side effect is that the network drives perform significantly better than they did using AFP/Netatalk.
Of course, I also run Samba on my server. If you are looking for a single solution/protocol across platforms, then that's probably the route to go. Mac OS X comes with Samba.
Then, if you are looking for file synchronization tools (as opposed to network file sharing), let me recommend a little utility called "unison". Runs on Linux, Mac OS X (UNIX), and Windows.
It comes with Linux (of course) and for Windoes you can use WinSCP (do a google search for it). I know Mac Classic had a freeware SSH app, and with OS X you should have SSH.
Everytime you look at porn a devil gets their horns.
Creates a 1 pixel buffer at the edge of your screen. When you drag your mouse over it, it appears that the curser goes to other monitor, and the control of the keyboard too. Very handy. So with a combination of that, cygwin, samba, and netatalk, I can stay on top of all my files.
Also, OS-X speaks samba, so there's less and less need for the appletalk protocol.
You're seriously limiting yourself by not wanting to use those solutions. At work we have PCs, Unix boxes and Macs (running OS 8 and 9). They all have a common directory that they need to access (called 'atalk' for historical reasons). We have three daemons running such that they can all access it.
PCs: Samba
Mac: netatalk
Misc: ftp
So if all else fails, they can use FTP.
But seriously, by discounting Samba based on the fact that it "makes [you] feel like [you're] giving into the Empire" is a really stupid reason. If it works, it works and you should use it. I mean, if you really didn't want to feel like you were giving into the "Empire" you wouldn't have a Microsoft box on your desktop at all, would you? So instead of being a hypocrite, just use the solution that works. And remember that Samba is open source, if that makes you feel any better.
But I suppose you could always use FTP or http://ubiqx.org/cifs/ (but even CIFS uses SMB).
CIFS/SMB for filesharing, since I have 2 Windows machines, and haven't taken the time to learn AFS/Coda. (samba, native windows implimentations)
Secure IMAP for sharing email. (courier-imap-ssl)
ssh, scp, and sftp for controlling, moving a few files, and forwarding X connections between machines. (openssh)
SMTP and NNTP proxies for mail and news. (exim in smarthost mode, leafnode/slrnpull)
midentd for forwarding identd requests in the NAT.
iptables for NATting the network, and xinetd to forward posts in.
Hmmm, I think that covers most of the information that my machines pass around to each other. :) You were probably just looking for imformation on
sharing files though.
Boxen: Mac, Linux, Sun, XP, XP, XP, XP + BSD via vmware, & sometimes Knoppix. Apologies for the plethora of XP..lots of gaming between family members.
Everything is configured to be an SMB server. Sun, Mac, Linux and BSD also export the shares as NFS servers. SMB, while an awful standard, just plain works thanks to the dedicated members of the Samba team (and all the forks of it). Use it and don't feel "slimy" just cause M$ made it so widely used. NFS isn't *that* difficult. If you've got many different types of boxes, you can easily do a "man" of the necessary stuff under everything but Mac OS X. Do a reply to this if you need to get it going on OS X since it's not as straightforward.
Three of the XP boxen are really just clients, so they normally pull from the rest when necessary (MP3, AVI, home dirs, etc). Unix boxen (except the Mac) use pam/ldap to avoid duplication and i'm working on getting kerberos to tie (most of) them all together (someday I'll have time). The good thing about network home dirs and central file servers is that backups are a cinch and folks can move from win machine to win machine and retain profiles, etc.
When I analyze traffic, I pretty much see most of the boxen accessing the Sun and Linux systems since they are the main storage beasts and one has the MP3's *:^)
One very nice thing about SMB is that it is easily tunneled via SSH, so you can access your shares - securely - from almost anywhere you can ssh port tunnel to/from (it's cake on linux and try the ssh client from netsarang.com to do the same - as easily - under M$...or just install cygwin).
I have to agree with one of the other posts: the Mac is just amazing when it comes to file sharing compatibility and speed (SMB shares map very fast and it handles NFS as a good BSD box should).
hope this helps.
Mind the gap...
I think you should reconsider using Samba. A couple years ago I started using it at home to make shares on my Debian file server available to my Windows 2000 desktop and laptops and my GF's OS X Powerbook. I've since retired the desktop, shelved the Win2k laptop (it's for sale!) and bought an iBook.
I briefly considered changing protocols to reflect the absence of Windows on the network but then thought, why bother? Samba does the job well, so why change it? OS X has Samba support built-in so it's extremely easy to mount shares on the Macs, and because we use the same account names on our laptops as we do on the file server, authentication is automatic, making the whole thing almost seamless (I say almost because OS X is still lacking good network browsing capabilities, but we should have that in 10.3).
I like my women like my coffee... pale and bitter.
Many moons ago (1997) I was administering a system that was mixed Win95/MacOS8/FreeBSD and had absolutely no problems running netatalk and samba sharing the same FS. This was production w/ maybe 30 users. I still use samba for my home server (BSD/WinXP), and I can't imagine the quality of netatalk has decreased over the past 6 years... At least you'll be able to share.
There are 3 linux boxes and an iMac on my LAN; I wanted some kind of cross-platform backup facility. Between AppleTalk, which required a kernel driver and a daemon, and FTP with PureFTPd, which I knew to be easy to install and configure, the choice was quickly made. FTP clients are also quite easy to use, even for lusers.
well, you could always use that little protocol called "file transfer protocol". Go figure. A protocol used to copy files.
But then, whenever you needed to copy a file, you'd have to make sure an FTP server is running here, an FTP client is running there, the directories are right...
I want seamless integration. I want to be able to refer to remote files or directories as easily as files or directories in a local directory. Is it too much to ask?
Of course, this sort of key issue has already been recognized and solved by the open-source community. You should at least take a look at the Andrew Filesystem which would provide one file sharing system across all your machines. Another good and reliable alternative it to use a Macintosh as a central file repository, since MacOS now comes pre-configured with Samba, NFS, and AFP file sharing.
Ouch! The truth hurts!
Yeah, that's where the challenge lies. However, even today, kids have it easy: Provided the thing has a serial port and you can code to it, there are small serial-to-ethernet "converters" available (most of them consist of some form of microcontroller acting as a "go-between" from the ethernet interface and the serial port).
I remember one time in the early 1990's when I picked up a Compaq SLT/386 with 6 meg of RAM, running Caldera's OpenDOS (IIRC). No PCMCIA slots - only a serial port and a parallel port. Since network equipment was still fairly expensive (especially those lovely pocket parallel ethernet adaptors), I looked for a solution.
I ended up creating a funky bit-banging parallel port solution using 4 conductor phone line, dual jack adaptors, and custom wired parallel to RJ-11 plugs. I intended to write software to allow all computers on this network to transmit/receive on it - checking for the status of the lines to avoid colisions, random wait times when there was a busy, etc - I was looking to get 9600 baud on this thing. I managed to build enough dongles for three machines, but I never got around to the coding portion. Always wondered how well (if at all) it would have worked...
Reason is the Path to God - Anon
I run a Mac (OSX), Win2k and Linux (RH 8.0) all on the same network. I found that setting up one single standard was next to impossible. I have Mac (OSX) and Win2k Connecting to Linux primarily.
Initially, since Windows didn't support NFS, I installed Samba and used SMB shares on everything. I found that the file transfers between my Mac and the Linux box were painfully slow (Red Hat 7.1). So I switched that connection to NFS. Its not as bad as it initially seemed to setup. The performance gain was amazing and everyone is chugging away.
FTP is okay, but if you want a mounted disk for say digital camera images or ripped audio collections NFS and SMB give you that ability with a cleaner interface.
Don't forget once you get this protocol thing all worked out. If you try to sling 600Megs of MP3's around your WiFi network, its going to take some time still. You might consider getting a nice 10/100 hub or switch if your moving large volumes of files each time you do it.
Lastly, there are lots of other great ways to move one or two small files around. scp, ftp, http (like you have done), email, and sneaker net.
AF-Design, web development.
How hard would it be to install a gnutella client on your Windows, Mac, and *nix boxen?
You know, for an ostensibly geeky audience, this one should have been near the top of the list of responses.
I have a computer at campus and one at home. Besides that I have a laptop. When programming I always commit my source code to CVS - in that way I can just do an update from whatever machine I code from the next time. I don't just use CVS from Linux. When coding VHDL it's necessary to move the files to windows and do the synthesis there. Works like a charm.
Latex files are also easy to commit to CVS and even PDF files (don't forget to use the -kb parameters when adding!)
For mp3s I simply use Samba - of course it helps that my campus computer is connected to a 100mbit connection to my dorm but for streaming most bandwidths should do.
The second problem is one of synchronization. This comes in to play mostly on laptops that will travel in and out of your network and may join other networks as well. The sorts of things you are likely wanting to synchronize are things like book marks, address books, some working files, etc. Synchronization has the addition complication that for some platforms some synchronized data may need to be imported/transformed to suit the local applications on that platform. The solution to this is much tougher i think. Some possible options are:
Personaly i'd love to see more work being done in these later areas. It would be nice to use mozilla anywhere and always have the same set of bookmarks synchronized and managed behind the scenes. It's kind of surprising that no one has really tackled this issue.
The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.
All of my machines speak Esperanto to each other. Just like William Shatner does!
Hire me...
On the server:
/etc/exports
/mnt/music
echo "/leethaxor/music *(ro)" >>
exportfs -a
On the client:
mount haxor:/leethaxor/music
Was that so hard? Should work for linux and OSx unless OSX sucks. I'm sure there's graphical interfaces for Win32 and OS9.