I was wondering what it takes to reallocate hard drive space between root directories in Unix FreeBSD? For example, take away space from the /usr directory and add to the /dev. This question was prompted after making a service call to our vendor to do just that on an AIX 5.3 Machine without even having to restart. I believe folders mount individual partitions, but am not sure. So I decided to load up a FreeBSD install to give it a try and am having no luck finding any information on such. Thanks!
FreeBSD has GEOM (equivalent to Linux devicemapper + LVM) which allows more complex stuff to be done: dynamic partitioning, striping, mirroring, encryption ... that covers the block level things.
But then there's the filesystem side. Most filesystems allows growing them, some of them even online without unmounting. Shrinking the filesystem is more tricky and not many of them does allow it.
FreeBSD has kind of mature ZFS support nowadays; it can make many operations easy, or at least possible.
Traditional UNIX way is to add more disks, copy the stuff from old disk to there and mount the new disk over the old mountpoint. Some people also like to play clever tricks with symbolic links, bind mounts and union mounts.
If there is an underlying drive scheme that supports dynamic resizing, such as LVM, you can just issue the proper statements and it's done (you didn't say what your drive setup is or filesystem...)
Otherwise, the typical answer from old-school thought is backup and reformat and restore with new volume sizes.
If your system supports it, you can boot from a Linux boot disc like RIP and use gparted to resize the partitions, but you need to have good backups in place. Especially if you're unsure whether gparted supports your partition structure in the first place.