home *** CD-ROM | disk | FTP | other *** search
/ linuxmafia.com 2013 / 2013.06.linuxmafia.com / linuxmafia.com / pub / macintosh-os / files-relocation next >
Text File  |  2003-12-09  |  5KB  |  124 lines

  1. To: <x4u@lists.themacintoshguy.com> (Mac OS X for Users)
  2. Date: Mon, 9 Apr 2001 22:46:00 -0700 (PDT)
  3. From: Nick <nrich123@yahoo.com>
  4. Subject: [X4U] Robust method for moving /Users etc to a different partitiion 1/2
  5.  
  6. I would like to relocate the standard installed folders to other
  7. partitions and disks, and have a working system which survives reboots.
  8.  
  9. So here is how I did it: For the purposes of this example, I set up a
  10. disk with 3 partitions: X, Classic, Users. Their purpose should be
  11. clear! So I installed 9.1 on Classic and X on X, and set up a couple of
  12. users, Nick and (say) Bob. 
  13.  
  14. So the default situation is now that my user home dirs live in
  15. /Users/nick and /Users/Bob.  My third ( Users ) partition is actually
  16. mounted as /Volumes/Users and is currently empty.  You can see this with
  17. df -k in Terminal; the Finder does not make this clear. On the Desktop
  18. and in Finder windows you can see X, Classic, Users all sitting
  19. together. 
  20.  
  21. So, now I want my user accounts to live in my Users partition not in the
  22. /Users folder which lives on my X partition. 
  23.  
  24. Some have suggested symlinking. BUT lots of programs are broken bythe
  25. symlinks (including NetInfo manger, amongst others), so creating new
  26. users fails.  Others have suggested changing the home directory in NI
  27. Manager. This is clunky for many users though, and you have to copy the
  28. home files across from one disk to another. 
  29.  
  30. And in any case this is not a general solution fro mounting things where
  31. you want.  Others have suggested editing /etc/fstab. Well, as far as I
  32. can see, /etc/fstab is only even read in single user mode. Edits to this
  33. make no discernible difference. 
  34.  
  35. However, after much trial and error I think I have solved the problem.
  36. This method actually works, I have actually done it, it's not something
  37. that 'ought to work in unix'. It may not be elegant, and if anyone can
  38. improve on it, I would love to hear from you. But it does work. 
  39.  
  40. 1) Disable the automounter. 
  41.  
  42. The automounter mounts all filesystems at boot time and then hangs
  43. around waiting for you to put cds in or connect firewire disks. This is
  44. the bugger that's responsible for mounting under /Volumes. So switch it
  45. off to start with. 
  46.  
  47. Edit /etc/hostconfig (you'll need to be root) and set AUTODISKMOUNT to
  48. NO instead of REMOVABLE and AUTOMOUNT to NO instead of YES like this: 
  49.  
  50. AUTODISKMOUNT=-NO- 
  51. #AUTODISKMOUNT=-REMOVABLE- 
  52. AUTOMOUNT=-NO- 
  53. # AUTOMOUNT=-YES- 
  54.  
  55. Ok, so if you rebooted now the machine would only mount X, or whatever
  56. partition you installed X on.  So we have to get Classic to mount and
  57. Users to mount.
  58.  
  59.  
  60. 2) Create mountpoints for your other partitions. 
  61.  
  62. Make directories where you want the partitions to mount.  I moved /Users
  63. to /Users1 temporarily (so I could copy my first two users back).  and
  64. made an empty /Users And I made /Volumes/Classic (well, that was already
  65. there because automounter had made it for me. But I *could* have made
  66. /Classic, for example.) 
  67.  
  68. Also, do df -k in terminal or run DiskUtility so you can see what slices
  69. your partitions are on.  (My /Users is on /dev/disk0s11). 
  70.  
  71.  
  72. 3) Now, tell the system to mount your partitiions at boot time.  I did
  73. this by going to /System/Library/StartupItems/Disks and editing a file
  74. called Disks. 
  75.  
  76. I put in the following lines at the end of the script:
  77.  
  78.  
  79. ---snip----- 
  80.  
  81. # I have switched automount off so this mounts my partitions 
  82.  
  83. echo 'Load /Users' 
  84. mount -t hfs /dev/disk0s11 /Users 
  85.  
  86. echo 'Load /Volumes/Classic' 
  87. mount -t hfs /dev/disk0s9 /Volumes/Classic 
  88.  
  89. echo 'Loaded' 
  90.  
  91. # Now I'll restart the automounter 
  92. autodiskmount -a -v 
  93.  
  94. ________snip______ 
  95.  
  96.  
  97. What does this do? Well, mount mounts filesystems from special devices
  98. (which you see in df -k readout) to nodes (directories) in the
  99. filesystem. 
  100.  
  101. '-t hfs' tells you I have hfs partitions. 
  102.  
  103. I'm mounting Users as /Users and Classic as /Volumes/Classic. I could
  104. mount these anywhere. You can try these commands from Terminal and check
  105. they work. You should be able to navigate the file systems via the
  106. command line. They'll even show up in the Finder if you restart its
  107. process. 
  108.  
  109. The last line of my script edits starts up automounter a bit later than
  110. it would have started if I hadn't fiddled.  Since I'm now mounted, it
  111. won't remount me. But if I don't restart it, i can't insert CDs or even
  112. use .dmg files or .smi files and have them Just Work. 
  113.  
  114. That's it! Now, copy your user folders over to your new partition. Now
  115. you can delete /Users1 And reboot. 
  116.  
  117. Now, /Users is whatever disk you set it up as. So if you make new users,
  118. by default they go to the right place. And it works after reboot.
  119. Hooray! 
  120.  
  121.  
  122. Nick 
  123.  
  124.