udevil
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.
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:
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:
#!/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:
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
- Udev — systemd's device manager for the Linux kernel.
- sys-fs/udiskie
External resources
- https://igurublog.wordpress.com/downloads/script-devmon/ - A page describing devmon, an auto-mounting daemon that is now distributed with udevil. This link may be helpful for reference purposes.