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.