I'm using Debian. When reading man lsblk I see mention of a udev db:

The lsblk command reads the sysfs filesystem and udev db to gather information. If the udev db is not available or lsblk is compiled without udev support than it tries to read LABELs, UUIDs and filesystem types from the block device. In this case root permissions are necessary.

I can further find numerous mentions of "database" in man udev. It seems my udev is run under systemd-udevd. But I don't see an ability to configure the database location in the man locations, and I don't see it specified in /lib/systemd/system/udev.service. Where is the database stored?

1 Answer 1


The UDev database is stored in /run/udev/data. It used to be stored in /dev/.udev* before /run was introduced and the location was configurable in udev.conf but it's no longer possible.

  • It would be nice if something documented /run/udev/data Commented Aug 31, 2021 at 6:00
  • Is /dev/.udev.tdb a typo? I have a machine which has no /run/ but does have /dev/.udev/db/
    – Papillon
    Commented Jan 4, 2023 at 7:58
  • It's wasn't a typo, my original source was this man page which says the default is /dev/.udev.tdb, but it looks like this is/was different for different distributions and various locations in /dev were used in the past so I changed the answer to /dev/.udev*. Commented Jan 4, 2023 at 8:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .