[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 :
> Vous l'avez demandé ; vous l'aurez. :)

Merci beaucoup. C'est exactement le genre de commentaires qui me
permettent de progresser.

> Ensuite, j'aurais un peu ventilé pour éclaircir le propos, par
> exemple comme suit :
> […]
> Cette manière de présenter le script est très aérée, et me
> semble très lisible.

Par contre il est moins facile de tester les commandes qu'on met dans le
script en les copiant/collant dans un terminal.

> 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"

HAHAHA !
En effet, celle la elle est belle…

> 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,
> alors c'est la partition de / qui va se voir supprimer les blocs
> réservés à root.  Avec le premier script, si le /home n'est pas
> dans le fstab, et que `set -e` est présent, alors le script
> s'arrête.

Il y a en effet un problème de savoir quelle est la référence a
consulter. Je n'avais pas songé a l'éventualité que le montage fait
selon le fstab au démarrage puisse etre changé ensuite. D'un autre coté
utiliser la sortie de df risque de faire agir sur / comme tu l'a si bien
dit. Peut-etre la bonne référence est-elle le fichier /etc/mtab ?

	#!/bin/bash
	set -e
	homedevice="$(
		grep "/home" /etc/mtab \
		| cut -d" " -f1
	)"
	tune2fs -m 0 "$homedevice"



> Pour aller plus loin, l'Advanced Bash Scripting guide est pour
> moi un incontournable :
>
> 	http://www.tldp.org/LDP/abs/html/index.html

Je note le lien. J'ai déjà fait des recherches de tutos pour faire des
scripts shell mais comme souvent je me suis perdu dans la profusion.
Trop de tutos tuent les tutos et les liens vers les références de
qualité deviennent un bien précieux.


Reply to: