Skip to content


Repository files navigation

CI status

CI status


The UDisks project provides a daemon, tools and libraries to access and manipulate disks, storage devices and technologies.

For API stability and intended audience of UDisks, see the API STABILITY and AUDIENCE section of the udisks(8) man page (doc/man/udisks.xml in the tarball and git repository).


See the COPYING file for the license. In a nutshell, the daemon and tools are licensed under the GPLv2 (or later) and libraries are licensed under LGPLv2 (or later).


UDisks has several dependencies listed in packaging/udisks2.spec.

If you run rpm based distro, install the dependencies by:

# dnf builddep -y packaging/udisks2.spec


To configure and install the UDisks, perform following tasks:

$ ./

Additional functionality of UDisks for monitoring and management is split into several modules: BTRFS, iSCSI, libStorageManagement, LVM2 and LVM Cache. By default, no additional module will be built.

To build UDisks with (a) chosen module(s), provide or leave these configuration options for the configure script:

$ ./configure --enable-btrfs --enable-iscsi --enable-lsm

It is possible to enable all the modules at once:

$ ./configure --enable-modules

The actual build and installation:

$ make
# make install


Releases of UDisks are available in compressed tarballs from


Please report bugs via the GitHub's issues tracker at

Running out of development source tree

If you would like to run out of the source tree for development without installing, please do the following below.

Note: Assuming you are in the base of the source tree and you don't have udisks already installed

  • Build the source $ ./ --enable-modules --enable-debug && make
  • To run the daemon and splunk around with dbus clients
    • copy the needed files, policy kit, dbus config, and udev rules
      sudo cp data/*.policy /usr/share/polkit-1/actions/
      sudo cp modules/*/data/*.policy /usr/share/polkit-1/actions/
      sudo cp data/org.freedesktop.UDisks2.conf /usr/share/dbus-1/system.d/
      sudo cp data/80-udisks2.rules /usr/lib/udev/rules.d/
    • Get the udev rules to run sudo udevadm control --reload && udevadm trigger && udevadm settle
  • Start the daemon # ./udisksd --debug --uninstalled --force-load-modules
  • Start a client, eg. # d-feet

Run the unit tests

./ --enable-modules --enable-debug && make && make ci