Le 04/04/2019 à 23:21, Étienne Mollier a écrit :
hamster, au 2019-04-04 :#!/bin/bash homeUUID=$(grep "/home" /etc/fstab | grep -v "#" | cut -d"=" -f2 | cut -d" " -f1); homedevice=$(ls -l /dev/disk/by-uuid/ | grep $homeUUID | cut -d"/" -f3); tune2fs -m 0 /dev/$homedevice;
(...)
Ceci étant, quand on a des liens symboliques, c'est un peu dommage de ne pas s'en servir, il est tout à fait possible d'appliquer le `tune2fs` directement sur le disque par UUID. Le système se charge de résoudre le lien symbolique vers le fichier bloc correspondant pour l'opération : homedevice="/dev/disk/by-uuid/$homeUUID"
Encore plus simple : comme mount, tune2fs accepte directement la syntaxe UUID=<uuid> ou LABEL=<uuid> à la place du nom de périphérique. On ne lit pas assez attentivement les pages de manuel.
Mais attention :1) Vérifier que le système de fichiers est ext?, sinon la commande tune2fs ne fonctionnera pas.
2) L'identification du système de fichiers à monter sur /home ne se fait pas forcément par UUID. Ou bien si c'est un volume logique LVM ou un volume chiffré, l'installateur utilise /dev/mapper/<volume>. Ou bien l'administrateur a pu la remplacer par LABEL, PARTLABEL ou PARTUUID.
Mais finalement, peut-être qu'on pourrait directement utiliser le fichier bloc stockant /home tel que rapporté par la commande `df`, plutôt que d'aller voir dans le fichier fstab, si d'aventure il devait ne pas être à jour ? (À moins bien sûr que ce ne soit à dessein.) #!/bin/bash set -e homedevice="$( df /home \ | grep -v '^Filesystem' \ | cut -f1 -d' ' )" tune2fs -m 0 "$homedevice" Attention, si le /home n'est pas sur une partition séparée,
A tester auparavant avec mountpoint.