Le samedi 1 mai 2010, Alain FICHOT a écrit :
> C'est exactement une des solution qu'il me faut.
> Un programme qui récupère toutes les infos de ce qui est changé par rapport
>  au source. Ce que je fait :  je recherche dans mon /home les dossiers
>  . audacity, .pulse, .skype, .filezilla etc ... et je reinstalle, mais
>  j'aimerai une astuce pour l'automatiser, Car c'est pas top :)
> 
> Donc c'est avec plaisir que j'accepte tes lignes de commandes.
> 
Salut Alain.
Je sent que tu ne vas pas aimer la suite mais bon, comme tu l' as demandé ..

Mon histoire est basée sur les gestionnaires de paquets rpm (Red Hat, Suse, 
Mandriva) et non sur les deb que *ubuntu utilise donc il va falloir trouver un 
gourou de la gestion des paquets debian pour faire la traduction ;)

Comme Mandriva va bientôt sortir la version 2010.1 cela peut intéresser des 
utilisteurs de cette distribution pour tester ma troisième voie.

Marche à suivre:

1/ On demande au gestionnaire de paquets de bas niveau (l' équivalent de dpkg 
je pense) de nous lister tous les paquets installés sur le système; on met le 
résultat dans un fichier et on tri pour pouvoir s'y retrouver en cas de 
problèmes (le tri n' apporte rien au fonctionnement; mais si l' on doit 
fouiller dans le fichier c' est quand même plus pratique pour les pauvres 
humains).
Nota: toute ces manipulations doivent être faites sous root; donc, ubuntistes 
ajouter les "sudo" à volonté ;)

#  rpm -qa | sort >rpmlist.txt

Cela donne un fichier rmplist.txt de ce style:
---------------------------
wget-1.12-1mdv2010.0                                        
which-2.20-4mdv2010.0                                       
whois-4.7.36-1mdv2010.0                                     
win32-codecs-1.9-1plf2010.0                                 
wireless-regdb-20091110-0.1mdv2010.0                        
wireless-tools-29-3mnb2                                     
wordnet-3.0-11mdv2010.0                                     
words-3.0-6mdv2010.0                                        
wpa_supplicant-0.6.9-3mdv2010.0                             
wxgtk2.8-2.8.10-3mdv2010.0                                  
x11-data-cursor-themes-1.0.1-8mdv2010.0  
---------------------------

Je le garde juste pour avoir les versions exactes des paquets installés et 
aussi pour faire une comparaison avant/après en cas de problème.

2/ Mais le vraie commande qui va me servir est:

 # rpm -qa --qf '%{name}\n' | sort >rpmlist.par-nom.txt

On garde juste le nom des paquets sans les numéros de version, ce qui donne ce 
genre de fichier rpmlist.par-nom.txt

--------------------------
wget                                                           
which                                                          
whois                                                          
win32-codecs                                                   
wireless-regdb                                                 
wireless-tools                                                 
wordnet                                                        
words                                                          
wpa_supplicant                                                 
wxgtk2.8                                                       
x11-data-cursor-themes
--------------------------

C'est y pas cool ça !

3/ Bon maintenant que l'on à pris la ceinture et les bretelles on peut penser 
à l'installation de la nouvelle version.
Ce qui n'empêche pas de faire un test de sécurité avec un livecd pour être sûr 
qu'elle fonctionne sans problème sur votre matériel.

Comme dit dans un message précédent on installe le programme minimum (il faut 
juste avoir accès au réseau et au gestionnaire de paquets).
Rappel: l'installation se fait sans toucher au /home.
SI LE /HOME N'EST PAS DANS UNE PARTITION SÉPARÉE S'ABSTENIR.

4/ Comme dans toutes les bonnes ditributions on configure les sources/mirroirs 
pour cette nouvelle distribution.

5/ Et maintenant on va donner à manger ligne par ligne le fichier rpmlist.par-
nom.txt  au gestionnaire de paquets du niveau supérieur urpmi (l' équivalent 
de apt-get je pense)

#   cat rpmlist.par-nom.txt | xargs urpmi

Et on attend la fin de la commande; c'est la vraie installation et cela peut 
durer longtemps suivant la vitesse de votre connection et la charge des 
serveurs, mais même si cela se casse, rien de bien grave, il suffit de relancer 
la commande. 

Nota: Bien sûr il va sortir des erreurs; par exemple quand on avait plusieurs 
noyaux d'installés, comme on enlève le numéro de version la commande va râler 
que c' est déjà installé (un petit coup de uniq sur le fichier devrait arranger 
cela).
On peut rediriger la sortie "standard erreur" de la commande vers un fichier 
pour analyse.

Voilou.

Désolé d' avoir été si long.

JPB


 Diffusez cette liste aupres de vos relations :-)
            Linux Azur : http://linux-azur.org
       Vous etes responsable de vos propos.
*** Pas de message SMS, HTML ni de PJ SVP ***

Répondre à