Une autre solution, passer par systemd
dans /etc/systemd/system créer un service scheduler.service par exemple
[Unit]
Description=Check network
Wants=network-online.target
After=network.target network-online.target
[Service]
Type=oneshot
ExecStart=/etc/perso/scheduler
[Install]
WantedBy=multi-user.target
Puis créer le script suivant et le rendre exécutable (pour moi /etc/perso/scheduler)
#!/bin/bash
#------- modification scheduler pour disques SSD --------------------------------
# utilisable par le service /etc/systemd/system/scheduler.service
for disque in $(ls /dev/sd[a-z]); do
hdparm -I $disque | grep -i TRIM # disque SSD ?
if [ $? -eq 0 ] ;then
sdx=${disque:5:3} # récupération ID disque sdx
scheduler=/sys/block/"$sdx"/queue/scheduler
cat $scheduler | grep '\[cfq\]' # Vérification mode scheduler
if [ $? -eq 0 ]; then # HDD=>[cfq] SSD=>[nop]
echo 'noop' > $scheduler
fi
fi
done
exit 0
Quelle est la meilleure méthode entre systemd et udev ? Je ne le sais pas car toute les 2 fonctionnent