The udisks project provides a storage daemon that implements
well-defined D-Bus interfaces that can be used to query and
manipulate storage devices.
It also includes a command-line tool, udisks(1), that can be
used to query and use the daemon.
This requires sg3_utils and libatasmart.