Page suivante Page précédente Table des matières

9. Recherche de fichiers dans des archives (par exemple RPM)

Pour pouvoir rechercher des fichiers abrités dans des archives il faut au préalable créer des fichiers dressant liste des contenus de ces derniers.

Le tandem find xargs peut à cet effet permettre de traiter toutes les archives grâce à un petit script approprié.

Exemple proposé : les rpm.

Le script (appelé /usr/local/bin/contenu-rpm) :

#!/bin/sh
echo '===============' >> /tmp/$1
echo $2 >> /tmp/$1
rpm -qilp $2 >> /tmp/$1

La commande à invoquer dans le répertoire contenant les RPM :

find . -type f -name '*.rpm' | xargs -r -n1 /usr/local/bin/contenu-rpm NOMCD
Remplacer NOMCD par le nom du CD (par exemple "Red-Hat-4.2") puis, le traitement achevé, placer le fichier /tmp/NOMCD en lieu sûr. La commande grep permettra, en temps utile, d'y retrouver ce que l'on cherche.

Autre exemple : les deb de Debian

#!/bin/sh
echo '===============' >> /tmp/$1
echo $2 >> /tmp/$1
dpkg -I >> /tmp/$1
dpkg -c >> /tmp/$1

Rechercher par :

find . -type f -name '*.deb' | xargs -r -n1 /usr/local/bin/contenu-deb NOMCD

Pour mieux comprendre l'action de find et xargs insérer, dans la commande proposée, un echo juste avant /usr/local/bin/contenu-rpm afin de voir les commandes produites au lieu de laisser le système les exécuter.


Page suivante Page précédente Table des matières