Baobab

Starting from its v.2.4.2, Baobab has been included as a component of gnome-utils with the name 'Disk Usage Analyzer', so it is no more updated as a stand-alone product, but it will follow gnome-utils release cycle.

 

Index

 

Baobab is a C/gtk+ application to analyse disk usage in any Gnome environment. Baobab can easily scan either the whole filesystem tree, or a specific user-requested directory branch (local or remote). It also includes a complete file-search functionality and auto-detects in real-time any changes made to your home directory as far as any mounted/unmounted device. Baobab also provides a full graphical treemap window for each selected folder.

 

 

 

 

 

 

 

 

Installation

Debian package

Baobab is currently in Debian unstable/testing and Ubuntu Dapper repositories. These users can just apt-get it. (please check latest version)

apt-get install baobab

Other users of debian-derivative distro's can just download the .deb package and type, from a terminal (the filename depends upon user's system architecture):

sudo dpkg -i baobab_2.4.2-1_i386.deb

 

After package installation, Baobab is placed into Gnome Applications->Accessories menu.


Fedora Core 4

Baobab is also in fedora-extras. Just do a:

yum install baobab

and start using it! Binaries are found on every fedora-extras mirror or in the main-server.


Mac OS

Aaron Harwood has successfully managed to get Baobab running on a MacOS. Please check this instruction page.
Thanks to Aaron!



Tarball

Unpack your tarball and build the program:

tar -xvzf baobab-2.4.2.tar.gz

cd baobab-2.4.2

./configure --prefix=/usr

make

make install

Last command must be run with root privileges. Please read the INSTALL file, for configuration options.

Baobab build dependencies are: libgtk2.0-dev (>= 2.6.0), libgnomeui-dev, libgnomevfs2-dev, libgconf2-dev, libgtop2-dev (>= 2.10.0)

 

Download

CVS

Baobab is also available on Gnome-CVS. If you don't have a Gnome-CVS account, you can checkout latest Baobab CVS version through an Anonymous access:

cvs -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome login
cvs -z3 -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co -P baobab

 

 

How to use Baobab

Baobab can be started in three ways:

If launched from Gnome menu, Baobab starts and remains in a stand-by state, waiting for user action. The user can then:

*NOTE*: If you run a full filesystem scan, Baobab window will start drawing the tree as soon as the thread starts scanning the filesystem. If any large partition is mounted on the filesystem, that will be scanned too.

If you want to start Baobab from a terminal window, just type:

 

baobab full_path_to_a_directory

 

Once get launched in any of the three methods, the Baobab window will display the full requested tree. You can then traverse the tree, sort it in alphabetically or numerically, display the directory size either as an absolute or as a percentage of the branch displayed. Baobab will not count the /proc dir, nor any file size that is not related to a "plain" file, so symlinks, character blocks, device blocks will not be part of the directory size. Hard-links are managed in a different way: this first hardlink is counted as a normal file, while the subsequent links to the same inode device are not counted in the total, but highlighted in the right-hand column of the window (see here).

If you right-click in the Baobab main tree over a directory, you will open a popup-menu from which you can open the directory in the Gnome file browser (i.e. Nautilus), list all files in folder in Baobab file-window, draw a graphical treemap of the folder (see below) or move the directory to Trash.

In the Preference window (screenshot) you can select which mounted devices are to be used by Baobab.

Another preference is the check box to enable auto-detect monitoring of user's home directory. If checked, Baobab will constantly monitor any external changes to home directory and warn the user if a file is added/removed (screenshot).

Baobab will display sizes in the directory tree as allocated space. This means that the displayed sizes refer to the actual disk usage and not to the apparent directory size. If you want to view the apparent file size, click on the toolbar's checkbox named Allocated space.

If you need to scan a remote server-folder, just click on the toolbar icon and you will get this dialog box. Baobab can connect to a server through ssh, ftp, smb, http & https.

The file search dialog-box (screenshot) gives the user a full but easy file-searching capability. The filename text box also allows wildcards character such as * or ?. As an example, suppose you need to list ALL files in a folder: here you have two ways of doing this:

1 - Right-click the directory in the tree-view and select "List all files in folder" from the popup menu;
2 - Enter an asterisk in the filename field in the file search dialog, select the directory and click on OK;

Once displayed the file list (screenshot), thru the Sort menu you can sort it by size, by date, by name or by file type.

 

 

The Treemap window

 

By right-clicking over a folder, you can select the "Folder graphical map" option. This will open a new fullscreen window with the graphical treemap of the selected folder.

You can open as many treemap windows as you want. Each selected folder can be represented as a treemap graph, with the big advantage of showing you , at a glance, how exactly is space allocated and what is occupying the space, even if it's a directory nested many levels down. Level of depth can be adjusted and the treemap can be zoomed in/out as far as saved into an image file (png-jpeg-bmp). It is amazing to set your preferred folder's treemap as your desktop background!

treemap diagram

Treemap concepts has been developed by Shneiderman in the '90s. Read his vision on treemaps. Figure shows an example of treemap's theory. Each node (as shown in the tree diagram) has a name (a letter) and an associated size (a number). The size of leaves may represent for instance the size of individual files, the size of non-leaf nodes is the sum of the sizes of its children. The treemap is constructed via recursive subdivision of the initial rectangle. The size of each sub-rectangle corresponds to the size of the node. The direction of subdivision alternates per level: first horizontally, next vertically, etcetera. As a result, the initial rectangle is partitioned into smaller rectangles, such that the size of each rectangle reflects the size of the leaf. The structure of the tree is also reflected in the treemap, as a result of its construction. Color and annotation can
be used to give extra information about the leaves.

Treemaps are very effective when size is the most important feature to be displayed.

 

Support

Discussions relating to Baobab and program localization take place on the Ubuntu Linux Forum.

 

Feedback

If you need more information, or if you simply need to contact me, my e-mail address is

 

Changelog