Почему INotify не работает с `/etc/mtab` или `/proc/mounts`? [duplicate]

У меня сама была эта проблема он включает исходные коды модулей для vmmon и vmnet , которые не компилируются в ядрах Linux 4.7 и более поздних версиях без изменений. Решение взято из ArchWiki, но применимо ко многим дистрибутивам. Я не тестировал это на Fedora, только на Debian, но он должен работать независимо:

https://wiki.archlinux.org/index.php/VMware#Kernel_modules_fail_to_build_after_Linux_4.7

Возможно, вам понадобится использовать sudo для некоторых команд. Сначала обновите источник vmmon :

  1. cd / usr / lib / vmware / modules / source
  2. tar xf vmmon.tar
  3. mv vmmon .tar vmmon.old.tar
  4. sed -r -i -e 's / get_user_pages (_remote) * / get_user_pages_remote / g' vmmon-only / linux / hostif.c
  5. tar cf vmmon.tar vmmon-only
  6. rm -r vmmon-only

Теперь сделайте то же самое для vmnet . Пропустите шаг 1, если вы уже находитесь в каталоге / usr / lib / vmware / modules / source :

  1. cd / usr / lib / vmware / modules / source
  2. tar xf vmnet.tar
  3. mv vmnet.tar vmnet.old.tar
  4. sed -r -i -e 's / get_user_pages (_remote) * / get_user_pages_remote / g' vmnet-only / userif.c
  5. sed -i -e ' s / dev-> trans_start = jiffies / netif_trans_update (dev) / g 'vmnet-only / netif.c
  6. tar cf vmnet.tar vmnet-only
  7. rm -r vmnet-only

Надеюсь, это поможет .

2
06.03.2016, 01:54
1 ответ

Из справочной страницы inotify:

различные псевдофайловые системы, такие как / proc, / sys и / dev / pts, не отслеживаются с помощью {{ 1}} inotify.

и / etc / mtab в наши дни часто представляют собой просто ссылку на / proc / mounts. Вы можете использовать udisksctl monitor , чтобы увидеть, как монтировались, или установить ваш собственный файл правил /etc/udev/rules.d/ для запуска программы при добавлении нового устройства (перед любым монтированием) или запустите dbus-monitor , чтобы увидеть события монтирования проехать на автобусе. Все немного сложно.

4
27.01.2020, 21:59

Теги

Похожие вопросы