[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mais ou est passee la place manquante ?



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.


Reply to: