** Description changed: - **Describe the bug** - On Ubuntu 24.04 (noble), the `mdevctl` package installs the binary into `/usr/bin/mdevctl`, but the shipped udev rules in [`/usr/lib/udev/rules.d/80-mdevctl.rules`](https://github.com/mdevctl/mdevctl/blob/master/60-mdevctl.rules) still reference `/usr/sbin/mdevctl`. + [ Impact ] + + Since Ubuntu 24.04 (noble), the `mdevctl` package installs the binary into `/usr/bin/mdevctl`, but the shipped udev rules in [`/usr/lib/udev/rules.d/80-mdevctl.rules`](https://github.com/mdevctl/mdevctl/blob/master/60-mdevctl.rules) still reference `/usr/sbin/mdevctl`. As a result, auto-defined mediated devices are not started at boot, and `journalctl` shows errors like: ``` - $ which mdevctl + $ which mdevctl /usr/bin/mdevctl $ journalctl -u systemd-udevd -b | grep mdevctl - 8月 23 08:00:36 mukai-ThinkPad-X1-Carbon-7th mdevctl[509]: /bin/sh: 1: /usr/sbin/mdevctl: not found + 8月 23 08:00:36 mukai-ThinkPad-X1-Carbon-7th mdevctl[509]: /bin/sh: 1: /usr/sbin/mdevctl: not found ``` + + + [ Test Plan ] + + * have a machine with mediated device + * install mdevctl + * define a mediated device with auto-start enabled: `sudo mdevctl define --auto --uuid <UUID> --type <mdev_type>` + * re-trigger udev: udevadm control --reload-rules && udevadm trigger + * view systemd-udevd journal, and observe "/usr/sbin/mdevctl: not found" + * with the fix, there should be no error message + + [ Where problems could occur ] + + * This updates the udev rule for mdevctl, so this could potentially affect mdev activation. + * If users moved the binary manually to /usr/sbin to silence the error message, the program will remain in sbin untracked. + + [ Original report ] This is a distribution-specific layout issue, so it seems more appropriate to patch the package rather than expecting an upstream fix. - - **Steps to reproduce** - 1. sudo apt install mdevctl - 2. Define a mediated device with auto-start enabled: `sudo mdevctl define --auto --uuid <UUID> --type <mdev_type>` - 3. Reboot - 4. Check logs **Workaround** Creating a symlink works around the problem: ``` $ sudo ln -s /usr/bin/mdevctl /usr/sbin/mdevctl ``` **Environment** ``` $ cat /etc/os-release | grep "PRETTY_NAME" PRETTY_NAME="Ubuntu 24.04.2 LTS" $ mdevctl --version mdevctl 1.3.0 ```
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2121264 Title: udev rules reference `/usr/sbin/mdevctl` but binary is installed in `/usr/bin` on Ubuntu 24.04 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mdevctl/+bug/2121264/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
