BSD DevCenter

oreilly.comSafari Books Online.Conferences.

We've expanded our LAMP news coverage and improved our search! Search for all things LAMP across O'Reilly!

Search
Search Tips

advertisement

Listen Print Subscribe to BSD Subscribe to Newsletters

Dealing with Full Disks
Pages: 1, 2

Now let's look at the main /usr and /var directories to see if anything unusually large is lurking there.



#cd /usr
#du -h -d1
 11M    ./bin
7.5M    ./include
 34M    ./lib
9.6M    ./libdata
 15M    ./libexec
571M    ./local
6.3M    ./sbin
 39M    ./share
289M    ./src
119M    ./ports
 57M    ./compat
1.5M    ./games
323M    ./obj
1.0K    ./tmp
234M    ./X11R6
1004M   ./home
 11M    ./sup
 36M    ./doc
2.7G    .
#

This output is pretty normal. There's 323 MB of stuff in /usr/obj that I can blow away easily enough, to gain another third of a GB. Just for reference, I'm attaching the output of a fairly empty /var filesystem. Depending on the purpose of your system, different /var directories can grow considerably. There's a surprisingly small amount of stuff in /var, however.

# du -h -d1
1.0K    ./account
3.0K    ./at
8.0K    ./backups
2.0K    ./crash
2.0K    ./cron
4.3M    ./db
434K    ./log
7.3M    ./mail
2.0K    ./msgs
1.0K    ./preserve
 54K    ./run
1.0K    ./rwho
 18K    ./spool
10.0K   ./tmp
 20K    ./yp
 62K    ./games
2.0K    ./lib
4.0K    ./ucd-snmp
1.0K    ./heimdal
 12M    .
#

The next time you find /var filling up, you can compare your directory structure to what you have here and at least have a good idea of what is normal on a small system.

I could use du(1) to browse through the entire filesystem and see where the main bloat is. The biggest cause of bloat in the rest of the system is installed software and user data. In the example above, /usr/local consumes over half a gigabyte. Deleting user data is not usually a good idea, but you can track down large packages easily enough with the -s flag to pkg_info(1).
# cd /var/db/pkg
# pkg_info -s *
Information for Hermes-1.3.2:

Package Size:
449     (1K-blocks)

Information for Mesa-3.4.1:

Package Size:
2507    (1K-blocks)
...

This can create huge amounts of output if your system has many packages installed. For example, my laptop has 134 of them. Scan through this looking for large packages.

Information for emacs-20.7:

Package Size:
43800   (1K-blocks)

Emacs is 43 MB? Yeah, yeah, I know, use vi.

Related Reading

Learning the Unix Operating System, 5th EditionLearning the Unix Operating System, 5th Edition
By Jerry Peek, Grace Todino & John Strang
Table of Contents
Index
Sample Chapter
Full Description

While many of the ports are necessary, I find quite a few that aren't vital or that I can easily reinstall. For example, there's 100 MB of teTex as a dependency on /usr/ports/textproc/docproj. That's simple enough to replace from a recent FreeBSD release -- teTex does not change quickly enough to require the freshest possible build.

By removing teTex and /usr/obj, I get enough space to copy this huge file to my laptop. du and pkg_info gave me the necessary information to safely choose the files to delete -- without having to mess with the user data in $HOME/mp3. Data is what's important, after all.

Michael W. Lucas


Read more Big Scary Daemons columns.

Return to the BSD DevCenter.




Sponsored Resources

  • Inside Lightroom
Advertisement

Sponsored by:

O'Reilly Media

©2009, O'Reilly Media, Inc.
(707) 827-7000 / (800) 998-9938
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.
About O'Reilly
Academic Solutions
Authors
Contacts
Customer Service
Jobs
Newsletters
O'Reilly Labs
Press Room
Privacy Policy
RSS Feeds
Terms of Service
User Groups
Writing for O'Reilly
Content Archive
Business Technology
Computer Technology
Google
Microsoft
Mobile
Network
Operating System
Digital Photography
Programming
Software
Web
Web Design
More O'Reilly Sites
O'Reilly Radar
Ignite
Tools of Change for Publishing
Digital Media
Inside iPhone
O'Reilly FYI
makezine.com
craftzine.com
hackszine.com
perl.com
xml.com

Partner Sites
InsideRIA
java.net
O'Reilly Insights on Forbes.com