Building a Better 'Mobile $HOME'? 41
numbski asks: "As a systems administrator, I find myself moving from machine to machine to machine on a daily basis. I happen to be a FreeBSD/MacOS X nut, so on a given day I move from my 17" iMac at home, to my 12" Powerbook at work, to any one of my 16 FreeBSD Servers. That's not to mention any of the Win2k Servers that have Cygwin loaded. All of that said, there is a longing in me to have a simple $HOME that all of my systems use and understand. I've considered the Knoppix way of dealing with this problem using a USB key device from this previous Slashdot article, however I don't know how many systems I could get away with consistently having my USB device picked up and used correctly without scripting changes to fstab, not to mention the issue of choosing a filesystem that just about every OS will recognize: FAT32. Windows is going to be unhappy no matter what I'm afraid, as it doesn't understand symlinking. c:\Documents and Settings\$USER can't just be moved off to another volume. The one glimmer of hope I have is this article on ftpfs and webdavfs. Using these one should be able to set up a single, persistent home that follows you from machine to machine over the internet. I guess I would like to know how others have gone about setting up a mobile $HOME. I look forward to having all of my preferences, dotfiles, and bookmarks follow me around."
No good answer (Score:5, Informative)
For example, I use Konqueror on my Linux box(en), but use Mozilla on Mac OS X. How do you get bookmarks from one browser to work on the other?
As for the first problem, NFS works enough for LANs, but I sure wouldn't want to use it over the public 'net.
Coda [cmu.edu] seems promising, but I've never found a distro that actually supports it, and there's a fair amount of manual stuff you have to do to use it. I've never managed to get it working properly, but from what I understand, it's somewhat similar to CVS in that you have to update/commit. This has the advantage of working when disconnected.
InterMezzo [inter-mezzo.org] also has some promise, but I haven't played with it as of yet.
USB keys seem like a better idea, until you realize that if you lose the little sucker, you're SOL. So, keep backups. Also, I keep a ridiculous amount of stuff in my home directory - multiple GBs - so being able to move a few hundred MB at a time just doesn't work for me.
Re:No good answer (Score:4, Interesting)
Re:No good answer (Score:1)
It's not Coda-formerly-AFS, not by any means, but it was far, far easier to set up. I've tried and failed with Coda several times, and found it impossible to screw up with Unison, nor even to lose files.
With the addition of a frequent cronjob to synchronize, it provides pretty much all of the features I want. Conflicts aren't resolved; I receive an email i
Re:No good answer (Score:1)
As the MOBILE $HOME topic crops up on
Re:No good answer (Score:1)
1.#> apt-get install unison-gtk
2. crontab -e
55 * * * * ~/bin/unisonify
3. vi ~/bin/unisonify
[clip from here]
#!/bin/bash
MAXERR=0
ERRMSG=/tmp/unierr. t xt
unison default > $ERRMSG
ERRLST=$?
MAXERR=$(( $ERRLST || $MAXERR ))
if [ $MAXERR -ne 0 ]; then
mail -s "`uname -n` unison errors" $
Re:No good answer (Score:1)
I'm on OS X, so I'll just do apt-get as well...
Re:No good answer (Score:1)
I use NFS over CIPE tunnels [gotdns.org] to get around the roaming problems. That link is to a bit that I wrote up about doing this, but the short version is below:
1) set up NFS so that one monster server has your home directory.
2) For trusted networks, just use nfs to mount the server's home directory on
Re:No good answer (Score:2)
Have a macro create it on each system. (Score:3, Informative)
For example on a Windows XP machine your login profile script would do
set HOME="%HOMEDRIVE%\%HOMEPATH%"
in Cygwin it would be
export HOME="$HOMEDRIVE/$HOMEPATH"
etc. depending on the OS.
So you would use $HOME (or %HOME% in Windows) whenever you wanted the home location.
My incarnation (Score:4, Informative)
However, I'm giving up on having a roaming desktop between Windows boxes and my wife's iMac. For those I'm just using Samba / Netatalk to link to the documents and bookmark files but not roaming anything else. It's just not worth the hassle for me to try and make those systems any more portable.
I did consider using the Unison service to do synchronization between Windows and Linux, but I think I'm happier with Intermezzo since I can afford the dedicated partition space on the Linux machines. I really do wish that Intermezzo could support the sharing of individual files, but then it would just be a synchronizer, not a filesystem.
Heh... (Score:1)
Of course, in my browser at least, that should be http://www.fsf.org [fsf.org]
network fs homedirs only 99% good (Score:2)
even more so if whatever way you use to "mount" this network home directory blocks when the network/server is inaccessable.
Re:network fs homedirs only 99% good (Score:1)
I've had this problem before. One night my ISP changed all my IP addresses (I use their dhcp) and in the morning everything had locked up on nfs read requests to the file server.
Re:network fs homedirs only 99% good (Score:1)
I believe NFSv3 supports caching, too, though I don't believe it has the same synchronization abilities as Intermezzo.
Here's what I do - not very elegant (Score:2, Informative)
I solve the 2nd problem by having 2 directories, called
and a directory called
dot files that need to be the same on both systems sit in
Re:Symlinking not needed (Score:3, Informative)
Re:Symlinking not needed (Score:2)
Don't just assume Windows is just at everything.
I'm working on something like that (Score:4, Informative)
What I want to do is base it around Mozilla.
The Plan is to keep the profile directory on a website, and use Mozilla Roaming profiles to log in from different machines.(doesn't work yet) If there's files I need I'll keep them in the profile directory. If all your machines are connected, and all your tools are browser based, then that's all you'd need.
Here's to hoping that I can get ZillaVilla.com [zillavilla.com] up and running sometime this century. if anyone has any feedback, contributions, Ideas, insight, whatever, don't hesitate to send them my way via ZillaVilla.com/forum [zillavilla.com]
Re:I'm working on something like that (Score:1)
CVS (Score:2, Informative)
Plusses: tolerant of transient network trouble; can keep per-machine mods (just don't check them in); one universal distributed set of vim tweaks, yeah!
Minuses: each ~/.config file symlinked into the directory (ugg); per-machine mods requires a bit of a CVS dance sometimes; most probably unix-only
A
Re:CVS (Score:2)
if [ -n "$LINUX" ]; then
fi
and
if [ -n "$WINDOWS" ]; then
fi
Plus a bunch of stuff that is common between machines. I also have some tests for "what domain am I on?" to set a couple of options. It works reasonably well. I have been toying with the idea of using replicated HOME dirs via Unison [upenn.edu] (as I mentioned in another thread) b
Re:CVS (Score:1)
His approach is to break it up into functional groups and then checkout the groups he needs or fit the current location/use. Even all of his email lives in cvs. It is quite amazing.
Having seen many a distributed homedir server die or disappear in my time, I would rather have to only depend on the network for setup. Personally I have been waiting for a project like arch or subversion to mature
An idea... (Score:4, Interesting)
Change the Logon path for yourself... run
mmc.exe %SYSTEMROOT%\system32\lusrmgr.msc
And find yourself, go to properties, then profile, then set the Logon path to the drive letter (and perhaps a safety-subfolder) that contains your user profile when the USB key is attached. AFAIK it supports UDF filesystems on zip-like things as well (you may need UDF tools like DirectCD if it doesn't work)
2) In Unix...
In FreeBSD and Linux, you should be able to create and write to UDF filesystems on anything that looks like a SCSI device (IE a USB flash disk). And OSX 10.1 is UDF-ready for reading and writing on arbitrary devices (incl. usb hard disks/flash disks). Set up your
Perforce :-) (Score:1)
and I don't have to mess around with CVS directories.
Used an online service instead (Score:2, Insightful)
CVS works for me (Score:3, Interesting)
Everything I care about lives in huge CVS project, currently hosted on a laptop. In my case, this comes to 7GB, mostly in my photo gallery.
For servers (Solaris) at work, everything shares one NFS mounted home directory, which has a checkout of everything but my photos (due to quota limits). My personal work machine (Win2k, yuck) has its own complete checkout, with a few partial checkouts to put configuration files where different programs want them. My home machine (OS X) has a complete checkout.
This setup works for everything except bookmarks, where I find myself using IE on Windows, Netscape in Unix, and Safari on OS X. For bookmarks, I've moved to the "My Yahoo" service, which keeps everything online and accessable with one click from my home page.
By the way, I'd strongly recommend configuring CVS to default to binaries unless told otherwise for this kind of config. It's a nasty surprise to realize that CVS just mangled all of your
ftpfs and similar face-plants. (Score:2)
I solved it by (warning, I'm turning into a fanboy now) buying an ibook and rsync'ing across to the server whenever practical.
Dave
Windows (Score:1)
Or even SUBST (Score:1)
Map, say, T: to \\yourfiles\whereever
Then use /cygdrive/t or whatever
Excuse me, no manuals to hand, above could be wrong in detail.
VNC? (Score:3, Insightful)
Then if you're really ambitious, build a VNC client for all of the OS's you'll be working on and put them on a CD for portability.
CVS? (Score:2)
If need be, you could CVS all of ~/, but do whatever you think is best for your needs.
Host it on MacOSX if that's in the mix (Score:2)
What I do (Score:2)
Now most of my files are still on the server, I just ssh into and copy them to the webserver.
It works for a few files.
For the bookmarks, I exported my IE bookmarks to a HTML page and posted that on my server. It helps when you own a domain for this.
I guess a future project would be to script everything so my ibook at home would zip and ftp the file onto my server.
Then the server would extract
Use CVS (Score:1)
Then pick the files you want to share (bookmarks, bashrc, cron jobs, scripts, your TODO list, ~/bin), move them to the "cvs checkout"'d directory and leave symlinks to them from the old locations.
When you change them, do "cvs commit", and "cvs update" periodically on all machines.
Hey presto -- works great... occasionally you may have to fix conflicts by hand after a "c
What you're looking for... (Score:1, Funny)
Please feel free to concact us again anytime.
Jason
Agent 83832
HP/Compaq Support
NTFS Reparse Point (Score:2)
This way, it would be *trivial* to mount your USB thumbdrive as C:\Documents and Settings\$USER\, just have it symlinked that way and make sure the drive is plugged in when you boot. Otherwise it might get messy.
NTFS also supports hardlinking...not quite the same thing as symlinks, but rather close...The real trouble is that most of these things aren't supported using the default tool set, you must add it usi
symlinks to dotfiles mounted from elsewhere (Score:2)
In each homedirectory on each real machine:
$ mkdir ~/dotfiles
$ cp (or mv) dotfiles to ~/dotfiles
$ ln -s all the
(omit any files that are specific to the machine and which you don't want to use the master for)
In a shell-login script (.profile or
P
rsync (Score:1)
-Jay
Self-certifying File System (Score:1)
"SFS is a secure, global network file system with completely decentralized control. SFS lets you access your files from anywhere and share them with anyone, anywhere."