Erreur /sbin/udevadm: not found

Bonjour,

Depuis que j’ai réinstallé une debian 11.7, j’ai ce message dans le cron_execution : sh: 1: /sbin/udevadm: not found

image

Je ne suis pas un spécialise Linux, je ne sais pas a quoi sert ce binaire et s’il faut l’installer (si oui quel version ?).

J’ai chercher dans les fichiers jeedom ou l’on retrouve /sbin/udevadm

$ sudo grep -r -i "/sbin/udevadm" /var/www/html/ | cut -d: -f1
/var/www/html/log/cron_execution
/var/www/html/log/cron_execution
/var/www/html/log/cron_execution
/var/www/html/core/class/jeedom.class.php

J’en deduis que c’est probablement jeedom.class.php :

foreach   (explode("\n", shell_exec('/sbin/udevadm info --name=/dev/' . $usb . ' --query=a                                                                                  ll')) as $line) {

Si je recherche plus large udevadm :

$ sudo grep -r -i "udevadm" /var/www/html/ | cut -d: -f1
/var/www/html/log/cron_execution
/var/www/html/log/cron_execution
/var/www/html/log/cron_execution
/var/www/html/core/class/jeedom.class.php
/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/@serialport/bindings-cpp/dist/linux-list.js
/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/@serialport/bindings-cpp/dist/linux-list.js
/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/@serialport/bindings-cpp/dist/linux-list.js
/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/@serialport/bindings-cpp/dist/linux-list.js
/var/www/html/plugins/zwavejs/resources/zwave-js-ui/node_modules/@serialport/bindings-cpp/dist/linux-list.js
/var/www/html/plugins/rflink/resources/node_modules/@serialport/bindings/lib/linux-list.js
/var/www/html/plugins/rflink/resources/node_modules/@serialport/bindings/lib/linux-list.js

Je me dis que c’est peut-être un plugin zwavejs ou rflink:

// zwavejs (exemples)
const udevadm = spawnCmd('udevadm', ['info', '-                                                                                  e']);
 const lines = udevadm.stdout.pipe(new parser_re                                                                                  adline_1.ReadlineParser());

// rflink (exemples)
 const ude = childProcess.spawn('udevadm', ['info', '-e'])
 ude.on('close', code => code && reject(new Error(`Error listing ports udevadm exited with error code: ${code}`)))

Je constate que je n’ai pas ce fichier dans le dossier sbin:

$ ls /sbin/udevadm
ls: impossible d'accéder à '/sbin/udevadm': Aucun fichier ou dossier de ce type

pourtant udevadm est présent dans le system :

$ udevadm --version
247

$ udevadm --help
udevadm [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS]

Send control commands or test the device manager.

Commands:
  info          Query sysfs or the udev database
  trigger       Request events from the kernel
  settle        Wait for pending udev events
  control       Control the udev daemon
  monitor       Listen to kernel and udev events
  test          Test an event run
  test-builtin  Test a built-in command

See the udevadm(8) man page for details.

J’aurais tendance a dire que c’est plus ce fichier /var/www/html/core/class/jeedom.class.php qui pose problème car il y a le chemin en dur.

Sur ma machine, je retrouve ce fichier ici :

$ sudo find / -iname "udevadm"
/usr/bin/udevadm
/usr/share/bash-completion/completions/udevadm

// Les 2 fichiers sont bien en version 247 et seul celui dans le répertoire /usr/bin a des droits d'execution

Merci

PS je tenterai bien une copie du fichier dans le répertoire /sbin mais avant de faire du bricolage, je préfère voir si je suis le seul dans ce cas.

non faut pas faire ca :wink:

pour le reste désolé je ne sais pas

J’ai fais la recopie du fichier, de toute façon je peux pas ouvrir de ticket au support, je vous ferai un retour si ça a solutionné le pb.

Voici la commande de recopie si besoin.

sudo cp -p /usr/bin/udevadm /sbin/

/sbin/udevadm c’est une commande linux, bizarre que tu ne l’aies pas d’installée :thinking: :thinking:

En faite la commande était installée dans /usr/bin/
Si je tape n’importe ou udevadm -- version ça me retournait bien le numéro de version.

Mais ce n’était pas installé dans /sbin/ chez toi est-ce que c’est bien présent ?

PS : J’ai installé debian avec cet iso : debian-11.7.0-amd64-netinst.iso (récupéré ici)

Bonjour,

Au lieu de faire une copie (qui ne sera pas mise à jour), il vaut mieux faire un lien symbolique
sudo ln -s /usr/bin/udevadm /sbin/udevadm

3 « J'aime »

Merci beaucoup, tu as raison, je le fais de suite.

$  sudo ln -s /usr/bin/udevadm /sbin/udevadm
$ ls -al /sbin/udevadm
lrwxrwxrwx 1 root root 16 13 mai   19:38 /sbin/udevadm -> /usr/bin/udevadm
1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.

Bonjour,

Même contast.

Je viens d’installer Raspberry Pi OS 64 bit Lite BullsEye et je viens de migrer sur Z-WaveJS.

0000|2023-06-10 16:48:02 starting Jeedom Enable scenario : **OK**
0001|Enable task : **OK** 
0002|sh: 1: /sbin/udevadm: not found 
0003|sh: 1: /sbin/udevadm: not found

Je viens de terminer l’installation.
- Je n’ai pas de piste à part ce fil :wink:

S’il la solution de @tomdom fonctionne, quel est le plugin qui créer le problème ?

Merci