Command line tool to manage removable volumes using HAL
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


= halrv(1) =

== NAME ==

halrv - Command line removable volumes manager using HAL


halrv [operation [device]]


halrv is a simple command line tool to manage removable volumes using
HAL. It aims to be the command line equivalent of many GUI programs that
display a list of removable drives in your computer, allow you to mount
them by clicking on their icon and, later, unmount and eject them (also
called "safe removal").

With halrv, you can list removable volumes, mount a specific device, and
eject a specific device. It does not depend on any GUI libraries.

If present, the first argument to the program must be a known operation
name. Typing the full name is not needed, however, as long as the
argument provides a unique operation prefix. For example, the "mount"
operation is the only one startin with "m", so typing that single
character is enough.


=== help, --help, -h, -? ===

This operation will make the program print a brief list of every
available operation with its corresponding description.

=== version, --version ===

This operation will make the program print its version number.

=== ls or no operation ===

When halrv is invoked with no operation, it does the same as if the
operation was "ls". This operation prints a table of removable devices
present in your system, with their corresponding filesystem labels,
UUIDs and mount point if currently mounted.

=== mount ===

The "mount" operation needs an additional argument which must be a
device name, as listed by the "ls" operation. The program will ask HAL
to mount the device in a mount point by label if possible, or by device
name if no filesystem label is present.

=== umount ===

The program will ask HAL to unmount the device provided as an additional
argument, like in the "mount" operation.

=== eject ===

Identical to the umount operation but, in addition, the program will ask
HAL to eject the device, in order to be able to "safely remove it". Usually,
you want to perform this operation instead of only unmounting the device.


halrv uses the configuration file $HOME/.halrv.conf. It will be created
the first time you run the program and populated with sane defaults. The
configuration file allows you to specify mount options per filesystem
and per volume. Most people will be fine without ever editing its

You can edit the file with any text editor. It is divided in sections.
Each section lets you specify mount options for a given type of
filesystem or for a specific volume identified by its UUID. When
mounting a volume, halrv will try to see if its UUID matches any section
in the configuration file, and will use those options. If no section
matches the UUID, it will try to use options from a section that matches
the filesystem type. If none is found, it will indicate no specific
mount options to HAL.

Sections have a section name in brackets followed by _keyword: value_
pairs, one for each line, below.

You can specify mount options for a specific volume using its UUID as
listed with the "ls" operation. You only need to create a section named

You can specify mount options for a specific type of filesystem by
creating a section named _fs:FILESYSTEM TYPE_, where the filesystem type
can be vfat, ntfs-3g or some other.

Below the section name you can (actually, you must) write an entry with
the keyword "mount_options" and a list of comma separated mount options
to be used, like in /etc/fstab.


mount_options: uid=1000

mount_options: uid=1000,shortname=winnt

== AUTHOR ==

Ricardo Garcia Gonzalez: