udevil

From Gentoo Wiki
Jump to:navigation Jump to:search
Other languages:

Resources

udevil is a small auto-mount utility created to be a "a hassle-free replacement for udisks."[1] It can be used with or without systemd, ConsoleKit, policykit, D-Bus, udisks, GVfs, and FUSE.

Note
It is important to know udevil does not play nicely with encrypted filesystems. If an encrypted filesystem is being used consider looking for an alternate auto-mount utility, such as sys-fs/udiskie.

Installation

Kernel

Kernel eventpolling may need to be enabled for device media to be properly detected by the kernel:

KERNEL Enable eventpolling (CONFIG_EPOLL)
General setup  --->
   [*] Configure standard kernel features (expert users)  --->
      [*]   Enable eventpoll support

After enabling eventpolling confirm operation by running:

root #cat /sys/module/block/parameters/events_dfl_poll_msecs
root #cat /sys/block/sr0/events_poll_msecs

If either command returns 0 or -1 then there will be issues detecting device media. Create a small script in /etc/local.d that will force event polling for each device:

FILE /etc/local.d/eventpolling.startEnable event polling
#!/bin/bash
source /etc/profile
echo 2000 > /sys/module/block/parameters/events_dfl_poll_msecs
echo 2000 > /sys/block/sr0/events_poll_msecs

Be sure to make the script executable:

root #chmod +x /etc/local.d/eventpolling.start

Emerge

Install udevil:

root #emerge --ask sys-apps/udevil

Configuration

Global

udevil's operation can be configured using the global configuration file:

  • /etc/udevil/udevil.conf

Local

According to official documentation[2] it is possible to configure auto-mount permissions on an individual basis by creating an /etc/udevil/ configuration file in this following format:

  • /etc/udevil/udevil-user-larry.conf

Where larry is replaced by the desired user name.

devmon

A configuration file called devmon is also installed in the /etc.

  • /etc/conf.d/devmon

Usage

Daemon mode

OpenRC

udevil can be configured to operate as a daemon by calling the devmon command. It is possible to run this command in the background by calling it as a job using the ampersand (&). Users who belong to the plugdev group can add the following line to their ~/.bashrc file, which will start devmon as a daemon each time the system boots:

FILE ~/.bashrcStarting devmon in daemon mode
devmon 2>&1 > /dev/null &

Systemd

To start devmon as a systemd user service:

root #systemctl start devmon@larry

Replace larry with the appropriate user name.

Invocation

user $udevil mount <device>
user $udevil unmount <device>

Troubleshooting

To avoid a permission denied error while trying to invoke udevil, ensure the user belongs to the setuid executable's group, which is most likely plugdev.

See also

External resources

References