Bonjour,
J'ai écrit un petit script qui permet de mettre a jour mes machines.
infos : /home est monté en NFS, donc le fchier liste_rpm_src est le même pour toutes les machines.
Seulement voila, comme la liste des paquets de la machine n'est pas mise a jour après chaque installation d'un paquet (boucle for), il essai d'installer des paquets déja installer car les dépendances ont fait leur travail….
Exemple : j'install mplayer et je met a jour liste_rpm_src. La machine qui va ce mettre a jour va voir qu'il ya a 4 paquets a mettre à jour (mplayer, libgui, etc…). Un fois installe mplayer il n'a pas besoin d'installer les autres car ils ont été installé "grace/a cause" des dépendances…
Merci d'avance.
#!/bin/bash
SOURCE=/home/liste_rpm_src
INSTALLED=/etc/scripts_add/liste_rpm_inst
#MAJ des sources
urpmi.update -qa
if [ ! -f $INSTALLED ];
then
£spaces£ £/spaces£rpm -qa > $INSTALLED
fi
if [ -f $SOURCE ];
then
£spaces£ £/spaces£#Liste paquets a ajouter
£spaces£ £/spaces£NEW=$(diff $SOURCE $INSTALLED | grep "<" | sed "s/< \(.*\)/\1/g")
£spaces£ £/spaces£#Liste paquets a enlever
£spaces£ £/spaces£REMOVE=$(diff $SOURCE $INSTALLED | grep ">" | sed "s/> \(.*\)/\1/g")
£spaces£ £/spaces£for NEW_PKG in $NEW;
£spaces£ £/spaces£do
£spaces£ £/spaces£if urpmi -q --force $NEW_PKG;
£spaces£ £/spaces£then
£spaces£ £/spaces£logger -t autoinstall "Successfully installed $NEW_PKG"
£spaces£ £/spaces£else
£spaces£ £/spaces£logger -t autoinstall "Failed to install $NEW_PKG"
£spaces£ £/spaces£fi
£spaces£ £/spaces£done
£spaces£ £/spaces£rpm -qa > $INSTALLED
else
£spaces£ £/spaces£logger -t autoinstall "File source don't exist !"
fi
# installe tout d'un coup
Posté par syntaxerror . Évalué à 2.
Tu peux supprimer la boucle for et tout installer à la fois
urpmi -q $NEWS
Ou alors il te faut regénérer la liste à chaque passage dans la boucle.
[^] # Re: installe tout d'un coup
Posté par benodilo . Évalué à 0.
C vrai j'y pensais aussi...
C ca que j'arrive pas à faire car dans la boucle for il en a vraiment rien a faire que je modifie $NEW... Alors je me demandais comment faire... c surtout de la curiosité. Je pensais utiliser une boucle while...
En tout vas merci déjà pour ces réponses.
[^] # Re: installe tout d'un coup
Posté par syntaxerror . Évalué à 3.
[^] # Re: installe tout d'un coup
Posté par benodilo . Évalué à 0.
Merci je crois que je vais prendre cette solution.
# Titre non pertinent détecté
Posté par Obsidian . Évalué à 2.
Une bonne manière de faire serait de résumer clairement ton problème en une ligne. Le fait de te livrer à cet exercice te forcera déjà à avoir une vue globale de ton problème, ce qui te conduira dans une bonne partie des cas à trouver la solution avant même de commencer à rédiger le corps de ton message !
Bonne chance.
[^] # Re: Titre non pertinent détecté
Posté par benodilo . Évalué à 1.
Je recommencerais plus c promis... g pas vraiment de bonnes excuses (fin de semaine, fatigué, etc), mais j'étais pas bien inspiré...
Sorry ;)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.