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

Re: Problème "basique" de scripting...



On 09/08/2017 08:58 PM, Francois Lafont wrote:
> On 09/08/2017 06:41 PM, Gilles Mocellin wrote:
> 
>> rm -f /etc/apt/source.list.d/*
>>
>> Et c'est tout...
>> S'il n'y a pas de fichier, il ne fait rien, et ne sort pas d'erreur grace à 
>> l'option -f.
> 
> ... sauf si le répertoire /etc/apt/source.list.d/ contient un
> sous répertoire.
> 
> Bon ok, je pinaille. :p
> 

Bonsoir François,

Vous pinaillez, oui et non,

Si en-tête, le script a un `set -e` pour arrêter les frais en cas
d'erreur, la présence d'un répertoire va stopper la procédure.

J'aurais plutôt commis une purge dans le répertoire de sources de
la manière suivante.  Si on force récursivement l'effacement du
répertoire "/etc/apt/sources.list.d" tout entier, pas de risque
de piège avec les astérisques puisqu'il n'y en a pas.  ;)

Cette solution me semble sérieusement légitime, donc si quelqu'un
y voit une énormité, qu'il n'hésite pas à le signaler, faut pas
blaguer avec `rm`, même le vendredi.


Votre solution à base de `find` était très bien, j'aurais raffiné
encore un peu en ajoutant les fichiers .sources et en prenant en
compte la majorité des types de fichiers, dès fois qu'un petit
malin trouve le moyen de positionner un lien symbolique ou
(soyons fous) une socket avec potentiellement de tout dedans :

	find /etc/apt/sources.list.d/			\
		-maxdepth 1 -mindepth 1 		\
		-not -type d 				\
		-name '*.list' -or -name '*.sources'    \
		-delete

À plus,
-- 
Étienne Mollier <etienne.mollier@mailoo.org>


Reply to: