Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I took the path less traveled and installed Ubuntu on my CR-48. Mostly this is a completely standard install, minus it using ChromeOS's kernel (for drivers) but the main drawback is the 8GB SSD-- it became full rather quickly. At present I'm looking at 320MB free on the drive.

I purchased a 16GB SD card and mounted it for DATA access and was able to offload some files to it, but it's highly under-utilized at the moment. I'm going to modify the boot configuration and mount some other directories there. Because it's flash memory, I'm thinking that good candidates are files that are written once and then read many times. I don't mind slow loading times so much, but I want to avoid completely stalling my system while I'm at it.

I want to move /home to the external drive out of convenience-- I figure what configuration files are loaded don't need to be super speedy for performance reasons, and I want to be able to throw stuff in Downloads safely. Is it safe to move /bin, or other things like /var and /etc? The external drive is much slower than the SSD, but Linux also has some of the best RAM caching algorithms I've ever seen. I do know I want to keep /opt on the SSD, as that's where the Chrome cache seems to end up, so I want that to be as fast as possible.

I guess that's a lot of buildup: my question is, which / directories in ubuntu linux need to be fast, and which directories can be moved to a slower drive without significantly impacting performance?

share|improve this question
    
I wanted to add the tag "flash-memory" to this post, as it's quite relevant, but I couldn't find an existing tag for it and my rep isn't high enough. Am I calling it the wrong thing maybe? Also, of course I'm an Android. I just got really good at solving captchas. –  Nicholas Flynt Feb 2 '12 at 20:44
    
Define "safe" - you can move whatever you want. –  bodhi.zazen Feb 2 '12 at 21:34
    
I don't think Chrome stores (or even can store) its cache in /opt - for one thing, your user account does not have write permissions there –  Sergey Feb 3 '12 at 0:02
1  
8 GiB should be enough to hold the system minus /home. Have you considered removing stuff you don't need (or starting with a minimal system and only install stuff you need)? –  htorque Feb 3 '12 at 2:00
add comment

1 Answer

up vote 1 down vote accepted

There are a few additional things to consider apart from performance when moving root-level directories to separate mounts.

One of them is the fact that some directories are expected to be present during the early stages of boot process, before any partitions are mounted. I mean, moving /boot would obviously break things unless you take care to modify the bootloader telling it the new location of the directory.

Similarly, mount command is located in /bin, fstab is located in /etc and the very first process invoked by the bootloader, called init, is located in /sbin. Also, my understanding is that some binaries in /sbin may use libraries from /lib.

I'm not saying that it's absolutely impossible to have those directories somewhere else - Linux is incredibly flexible - but it's kinda "proceed with caution" thing.

My understanding is that /opt, /usr and /var can be moved without much trouble, but I would expect that moving /usr to a slow drive would slow down things considerably as it contains all the GUI programs you're using all the time. At least, the programs will start much slower.

Another consideration is how much disk space you're going to gain by moving the directories to another drive... /bin is about 9 megabytes and /etc on my machine is 25 MB - definitely doesn't worth the trouble. /usr is the bulkiest one, so if anything, I would just move /usr and leave the rest on the root partition.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.