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.

Ubuntu is complaining that my root file system is nearly full, but when I use baobab (aka "Disk Usage Analyser") or du -h it summarises the usage of all the other mounted file systems as well.

How can I exclude the other file systems which are mounted in assorted subdirectories?

share|improve this question

2 Answers 2

up vote 10 down vote accepted

baobab: If you want to use baobab, this is possible by mounting the root filesystem in another place and analysing that. This way, other filesystems will not be mounted in the new root mount and any files hidden by mounts under / will be uncovered and counted in your analysis.

Assuming your root filesystem is on sda1 (df will tell you which device it is):

> mkdir deleteme-later
> sudo mount /dev/sda1 deleteme-later
> baobab deleteme-later

and then tidy up when you're done:

> sudo umount deleteme-later
> rmdir deleteme-later

Alternatively you could unmount said file systems manually. You can also scan just your home folder, because it will most likely contain the source of the excessive disk space usage.

du has two options which are able to prevent counting other filesystems:

  -x, --one-file-system
          skip directories on different file systems
      --exclude=PATTERN
          exclude files that match PATTERN

Thus,

du -hx

would ignore all other mounted filesystems or

du -h --exclude /media

would ignore all mounted filesystems in /media.

If you're using du, sorting so that the biggest things appear at the bottom of the list can help decipher the output. eg:

du -hx | sort -h
share|improve this answer
    
Cool, I didn't see the -x option. I also found another way: you can mount the filesystem again somewhere, then use du or baobab to analyse it. Also, I find it useful to do du -hx | sort -h, though baobab is easier to interpret. –  drevicko Aug 1 '12 at 2:23
    
@Cumulos007 - if it's cool with you, I'll add my solution and suggestion to your answer and accept it –  drevicko Aug 2 '12 at 0:52
    
That's fine by me! –  Cumulus007 Aug 2 '12 at 0:56
    
thanks ian .. did you find any way to use 'exclude' like you can in du -x with the GUI version? –  wim Oct 1 '12 at 11:03
1  
@wim no, the GUI version doesn't seem able to use the -x option of du. Mounting the root filesystem somewhere else works though - that's what I do these days (: –  drevicko Apr 4 at 23:22

Depending on the type of filesystem you might not be allowed to mount the root filesystem on a mount point under /. You'll get something similar to this:

mount: /dev/sda1 already mounted or /mnt busy
mount: according to mtab, /dev/sda1 is mounted on /

Mounting read only (-o ro) might help. If that fails, use a bind mount:

mount --bind / /mnt

Once mounted, use whatever tool to analyse the disk usage, ie du -sh * | sort -h

share|improve this answer

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.