home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
linuxmafia.com 2013
/
2013.06.linuxmafia.com
/
linuxmafia.com
/
pub
/
macintosh-os
/
files-relocation
next >
Wrap
Text File
|
2003-12-09
|
5KB
|
124 lines
To: <x4u@lists.themacintoshguy.com> (Mac OS X for Users)
Date: Mon, 9 Apr 2001 22:46:00 -0700 (PDT)
From: Nick <nrich123@yahoo.com>
Subject: [X4U] Robust method for moving /Users etc to a different partitiion 1/2
I would like to relocate the standard installed folders to other
partitions and disks, and have a working system which survives reboots.
So here is how I did it: For the purposes of this example, I set up a
disk with 3 partitions: X, Classic, Users. Their purpose should be
clear! So I installed 9.1 on Classic and X on X, and set up a couple of
users, Nick and (say) Bob.
So the default situation is now that my user home dirs live in
/Users/nick and /Users/Bob. My third ( Users ) partition is actually
mounted as /Volumes/Users and is currently empty. You can see this with
df -k in Terminal; the Finder does not make this clear. On the Desktop
and in Finder windows you can see X, Classic, Users all sitting
together.
So, now I want my user accounts to live in my Users partition not in the
/Users folder which lives on my X partition.
Some have suggested symlinking. BUT lots of programs are broken bythe
symlinks (including NetInfo manger, amongst others), so creating new
users fails. Others have suggested changing the home directory in NI
Manager. This is clunky for many users though, and you have to copy the
home files across from one disk to another.
And in any case this is not a general solution fro mounting things where
you want. Others have suggested editing /etc/fstab. Well, as far as I
can see, /etc/fstab is only even read in single user mode. Edits to this
make no discernible difference.
However, after much trial and error I think I have solved the problem.
This method actually works, I have actually done it, it's not something
that 'ought to work in unix'. It may not be elegant, and if anyone can
improve on it, I would love to hear from you. But it does work.
1) Disable the automounter.
The automounter mounts all filesystems at boot time and then hangs
around waiting for you to put cds in or connect firewire disks. This is
the bugger that's responsible for mounting under /Volumes. So switch it
off to start with.
Edit /etc/hostconfig (you'll need to be root) and set AUTODISKMOUNT to
NO instead of REMOVABLE and AUTOMOUNT to NO instead of YES like this:
AUTODISKMOUNT=-NO-
#AUTODISKMOUNT=-REMOVABLE-
AUTOMOUNT=-NO-
# AUTOMOUNT=-YES-
Ok, so if you rebooted now the machine would only mount X, or whatever
partition you installed X on. So we have to get Classic to mount and
Users to mount.
2) Create mountpoints for your other partitions.
Make directories where you want the partitions to mount. I moved /Users
to /Users1 temporarily (so I could copy my first two users back). and
made an empty /Users And I made /Volumes/Classic (well, that was already
there because automounter had made it for me. But I *could* have made
/Classic, for example.)
Also, do df -k in terminal or run DiskUtility so you can see what slices
your partitions are on. (My /Users is on /dev/disk0s11).
3) Now, tell the system to mount your partitiions at boot time. I did
this by going to /System/Library/StartupItems/Disks and editing a file
called Disks.
I put in the following lines at the end of the script:
---snip-----
# I have switched automount off so this mounts my partitions
echo 'Load /Users'
mount -t hfs /dev/disk0s11 /Users
echo 'Load /Volumes/Classic'
mount -t hfs /dev/disk0s9 /Volumes/Classic
echo 'Loaded'
# Now I'll restart the automounter
autodiskmount -a -v
________snip______
What does this do? Well, mount mounts filesystems from special devices
(which you see in df -k readout) to nodes (directories) in the
filesystem.
'-t hfs' tells you I have hfs partitions.
I'm mounting Users as /Users and Classic as /Volumes/Classic. I could
mount these anywhere. You can try these commands from Terminal and check
they work. You should be able to navigate the file systems via the
command line. They'll even show up in the Finder if you restart its
process.
The last line of my script edits starts up automounter a bit later than
it would have started if I hadn't fiddled. Since I'm now mounted, it
won't remount me. But if I don't restart it, i can't insert CDs or even
use .dmg files or .smi files and have them Just Work.
That's it! Now, copy your user folders over to your new partition. Now
you can delete /Users1 And reboot.
Now, /Users is whatever disk you set it up as. So if you make new users,
by default they go to the right place. And it works after reboot.
Hooray!
Nick