[Debian squeeze] Tester dans un script si « apt-get update » fonctionne bi en
3 réponses
Francois Lafont
Bonjour à tous,
Dans un script, je voudrais tester si « apt-get update » fonctionne
bien. En effet, le script, entre autres, procédera à l'installation de
quelques paquets et je souhaiterais vérifier avant que « apt-get update
» se déroule bien. Si ce n'est pas le cas, le script se terminera avec
un message d'erreur sans procéder aux installations des paquets. Du
coup, j'avais pensé faire tout simplement ceci :
#----------------------------------------
if apt-get update > /dev/null 2>&1; then
echo "OK"
else
echo "Problème"
fi
#----------------------------------------
Seulement, j'ai testé ce bout de code en prenant la peine au préalable
de changer mon fichier /etc/apt/sources.list afin d'y mettre des dépôts
complètement fictifs. Et bien il semblerait que « apt-get update »
renvoie malgré tout la valeur 0 et du coup le test ci-dessus laisse
penser que tout est OK alors que la commande n'a pas du tout fonctionné.
Plus simplement, j'ai :
apt-get update && echo "Tout est OK"
qui m'affiche bien "Tout est OK" à la fin alors que je n'ai que des
messages d'erreur m'indiquant que rien n'a pu être récupéré sur les
dépôts (étant donné qu'ils n'existent pas).
Voici ma question : comment faire pour tester dans un script si la
commande « apt-get update » a *réellement* bien fonctionné ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Francois Lafont
Le 27/02/2012 15:52, Francois Lafont a écrit :
Voici ma question : comment faire pour tester dans un script si la commande « apt-get update » a *réellement* bien fonctionné ?
Je précise que pour l'instant je ne vois pas mieux que de compter le nombre de lignes écrites sur le flux standard des erreurs et tester si ce nombre vaut 0. Mais je ne sais pas si c'est une bonne méthode.
#--------------------------------------------------------- if [ "$(apt-get update 2>&1 >/dev/null | wc -l)" -eq 0 ]; then echo "OK" else echo "Problème" fi #---------------------------------------------------------
-- François Lafont
Le 27/02/2012 15:52, Francois Lafont a écrit :
Voici ma question : comment faire pour tester dans un script si la
commande « apt-get update » a *réellement* bien fonctionné ?
Je précise que pour l'instant je ne vois pas mieux que de compter le
nombre de lignes écrites sur le flux standard des erreurs et tester si
ce nombre vaut 0. Mais je ne sais pas si c'est une bonne méthode.
#---------------------------------------------------------
if [ "$(apt-get update 2>&1 >/dev/null | wc -l)" -eq 0 ]; then
echo "OK"
else
echo "Problème"
fi
#---------------------------------------------------------
Voici ma question : comment faire pour tester dans un script si la commande « apt-get update » a *réellement* bien fonctionné ?
Je précise que pour l'instant je ne vois pas mieux que de compter le nombre de lignes écrites sur le flux standard des erreurs et tester si ce nombre vaut 0. Mais je ne sais pas si c'est une bonne méthode.
#--------------------------------------------------------- if [ "$(apt-get update 2>&1 >/dev/null | wc -l)" -eq 0 ]; then echo "OK" else echo "Problème" fi #---------------------------------------------------------
-- François Lafont
yamo'
Salut,
Francois Lafont a tapoté, le 27/02/2012 15:52:
Voici ma question : comment faire pour tester dans un script si la commande « apt-get update » a *réellement* bien fonctionné ?
Merci d'avance pour votre aide.
En lisant le man j'ai trouvé ça qui pourrait t'aider :
DIAGNOSTICS apt-get renvoie zéro après une opération normale, le décimal 100 en cas d'erreur.
Power company testing new voltage spike (creation) equipment
Francois Lafont
Bonsoir,
Le 27/02/2012 22:52, yamo' a écrit :
En lisant le man j'ai trouvé ça qui pourrait t'aider :
DIAGNOSTICS apt-get renvoie zéro après une opération normale, le décimal 100 en cas d'erreur.
Oui, en effet. Mais mon problème c'est que par exemple après un « apt-get update » désastreux où aucun dépôt n'a été joignable, j'ai bien 0 comme valeur de retour et donc pour aux yeux de la commande apt-get tout est normal alors qu'en vrai ça ne l'est pas.
-- François Lafont
Bonsoir,
Le 27/02/2012 22:52, yamo' a écrit :
En lisant le man j'ai trouvé ça qui pourrait t'aider :
DIAGNOSTICS
apt-get renvoie zéro après une opération normale, le décimal 100 en cas d'erreur.
Oui, en effet. Mais mon problème c'est que par exemple après un «
apt-get update » désastreux où aucun dépôt n'a été joignable, j'ai bien
0 comme valeur de retour et donc pour aux yeux de la commande apt-get
tout est normal alors qu'en vrai ça ne l'est pas.
En lisant le man j'ai trouvé ça qui pourrait t'aider :
DIAGNOSTICS apt-get renvoie zéro après une opération normale, le décimal 100 en cas d'erreur.
Oui, en effet. Mais mon problème c'est que par exemple après un « apt-get update » désastreux où aucun dépôt n'a été joignable, j'ai bien 0 comme valeur de retour et donc pour aux yeux de la commande apt-get tout est normal alors qu'en vrai ça ne l'est pas.