Installer une nouvelle version de Mandriva

Un article de Wiki de la communauté Mandriva.

Jump to: navigation, search
Cette page s'adresse à ceux qui possèdent déjà Mandriva sur leur ordinateur et qui, lorsqu'une nouvelle version de Mandriva est publiée, souhaitent l'utiliser sans rien perdre de leur configuration. Il existe une alternative qui est la « Mise à jour », mais elle ne donne pas toujours satisfaction. La méthode décrite ici est basée sur une installation propre, c'est à dire une installation sur des partitions nouvellement formatées. Seul le cas où la partition /home réside sur une partition séparée est traitée en détail.

Sommaire


[modifier] Démarche

Elle consiste tout simplement à isoler et sauvegarder toutes les modifications faites depuis l'installation de la version actuelle afin de les reporter sur la nouvelle version après installation propre.

Ces modifications sont de nature différentes :

  • 1 Modifications des fichiers de configuration contenus dans /etc 
    Ce sont les scripts de démarrage et les fichiers de configuration du système. Par exemple, les réseaux, le partage de fichiers, le montage des partitions, le comportement de urpmi, etc. On a affaire ici à des fichiers texte qui ont pu être modifiés "à la main" avec un éditeur de texte ou beaucoup moins consciemment par l'intermédiaire de l'interface graphique d'un utilitaire. La sauvegarde puis la restauration de ces fichiers sont explicités ci-après.
  • 2 Ajout de paquets supplémentaires 
    Lors de l'installation de la version actuelle de Mandriva, un certain nombre de paquets ont été installés. Mais depuis, vous en avez ajouté au fur et à mesure des besoins. Il peut s'agir de paquets présents dans les sources officielles, mais aussi de paquets trouvés sur les sites des fournisseurs (ex: Codecs, Google-earth, Utilitaires, ...). La sauvegarde de la liste de ces paquets puis leur ré-installation sont explicités ci-après.
  • 3 Ajout de logiciels depuis leur sources 
    Ici nous espérons que vous avez gardé les sources ou l'adresse ou les retrouver car il faudra les réinstaller. A noter que ces logiciels devront être réinstallés dans le même répertoire si ont veut conserver le fonctionnement des liens.
  • 4 Personnalisation des logiciels 
    Ces fichiers de configuration des logiciels, y compris pour la configuration du bureau (KDE ou GNOME), ont généralement un nom commençant par un point et sont de ce fait cachés par défaut. Ils sont placés dans le dossier /home/utilisateur. Cela concerne aussi les extensions de certaines applications. Il est recommandé d'avoir le dossier /home sur une partition dédiée. Dans ce cas, cette partition est conservée en l'état, sinon il faut intégralement sauvegarder le dossier /home.
  • 5 Modifications écrites par l'application 
    Certaines applications (gestionnaires de courrier, navigateurs internet, agendas, carnets d'adresses intégrés, et bien d'autres...) écrivent sans rien vous demander. Elles le font par défaut dans un fichier caché de /home/utilisateur.
  • 6 Fichiers contenant des données particulières dans /var 
    Le répertoire /var peut contenir des données à sauvegarder. Par exemple /var/www/ et /var/lib/ contiennent des fichiers utilisés par le serveur HTTP.
À noter !
Ceux qui ont la bonne idée de noter sur un cahier toutes les modifications apportées à leur système, auront la tâche facilitée.

[modifier] Lister les fichiers de configuration modifiés

Nous allons identifier tous les fichiers de configuration du répertoire /etc qui ont été modifiés depuis l'installation de la version actuelle (n) avec la commande find sous root:

Image:Konsole.png
[root@ordi ~]# find /etc -mtime -180 -type f -print > modif-config.txt

Détaillons le sens de cette commande afin que chacun puisse l'adapter à ses besoins:

  • find = c'est la commande (to find = chercher)
  • /etc = où chercher
  • -mtime -180 = la date de dernière modification ou de création remonte à moins de 180 jours. Ici, il vous appartient de savoir depuis quand la version actuelle est en place.
  • -type f = uniquement les fichiers
  • -print > modif-config.txt = les imprimer (écrire) dans le fichier texte modif-config.txt. Ce fichier sera créé dans /root. On aurait pu écrire -print > /home/modif-config.txt.

Après vérification que tout est normal dans cette liste, il faut maintenant enregistrer ces fichiers modifiés en un endroit qui ne sera pas formaté, par exemple /home/backup :

Image:Konsole.png
[root@ordi ~]# find /etc -mtime -180 -type f -exec cp --parents '{}' /home/backup \;
  • après la commande find on enchaine la commande -exec cp pour exécuter la copie vers /home/backup.
  • l'option --parents permet d'enregistrer le fichier et son arborescence. (le chemin)

Votre système contient maintenant un dossier /home/backup/etc réplique de /etc pour tous les fichiers de moins de 180 jours (dans le cas de notre exemple).

Astuce !
Si vous ne connaissez plus la date d'installation, tapez la commande suivante dans un terminal, elle vous donne la liste des paquetages installés avec la date d'installation. Un grand nombre de paquetages possède la même date d'installation, ce serait bien celle de l'installation de Mandriva ...
Image:Konsole.png
[utilisateur@ordi ~]$ rpm -qa --last

[modifier] Lister les paquetages supplémentaires ajoutés

Nous allons maintenant lister tous les paquetages présents dans la version actuelle (n) de Mandriva :

Image:Konsole.png
[utilisateur@ordi ~]$ rpm -qa --queryformat '%{NAME} \n' >/home/liste-paquetages.txt

Cette commande liste tous les paquetages installés sous un format qui ne conserve que le nom sans la version et l'envoie dans le fichier /home/liste-paquetages.txt. Cette destination peut être changée vers tout lieu facile à retrouver après l'installation propre. L'absence de version et de toute autre information est importante car cette liste sera plus tard donnée en argument à la commande urpmi et nous désirons la dernière version.

Il peut aussi être intéressant de sauvegarder la liste des miroirs utilisés, de façon à pouvoir remettre les mêmes après l'installation :

Image:Konsole.png
[utilisateur@ordi ~]$ urpmq --list-media

Noter la liste obtenue pour plus tard.

[modifier] Installation propre de la nouvelle version

Dans le MCC, relevez le nom de l'utilisateur dont l'UID est 500.

Vous pouvez maintenant procéder à la création et/ou au formatage des partitions destinées à la nouvelle version. Il y a plusieurs écoles :

Si votre /home est sur une partition séparée :

  • Installer la nouvelle version (n+1) à la place de l'ancienne tout en gardant l'ancien /home. Cela n'est bien sur possible que si vous aviez déjà une partition séparée. Voir Installer Mandriva Linux et Installer Mandriva Free en choisissant "Installation" et non pas "Mise à jour". Attention lors du choix des partitions à ne pas écraser le /home. Lors de la création des utilisateurs, vous devez ne recréer que le premier, celui dont l'UID est 500.
  • Conserver la version actuelle (et donc l'ancienne partition /) et faire une installation propre sur une partition disponible afin de pouvoir booter sur les deux versions. C'est la même méthode que ci-dessus. Il faut seulement choisir une partition différente. A partir de la version 2008.1, Grub sait détecter les autres versions de Mandriva déjà en place. Pour plus d'informations, voir les nombreuses pages du WIKI consacrées à Grub.
  • Conserver la racine / et le /home de la version actuelle (n) à coté des partitions équivalentes de la nouvelle version (n+1). Cela s'adresse a ceux qui connaissent bien Mandriva (Modification de Grub "à la main", création de liens symboliques, particularités avec certaines applications, etc..). Voir Installer plusieurs versions en parallèle.

Si votre /home n'est pas sur une partition séparée, il est temps de le sauvegarder. Installez la nouvelle version comme dans le premier cas ci-dessus et écrasez le /home avec votre sauvegarde. C'est une opération délicate, à faire sous root sans qu'aucune session graphique ne soit active.

[modifier] Recopier les fichiers de configuration

Nous allons maintenant recopier les fichiers de la version (n) sauvegardés dans le dossier /home/backup/etc dans la nouvelle version (n+1). Pour cela, imprimez la liste des fichiers à recopier contenue dans le fichier modif-config.txt. Ce n'est pas indispensable mais rend la suite plus facile à suivre. Cette liste vous donne le chemin pour chaque recopie.

Nous allons procéder en 2 temps :

  1. Vérifier s'il n'y a pas d'incompatibilité entre les fichiers de configuration de la version (n) et (n+1)
  2. Procéder à la recopie des fichiers reconnus compatibles

Pour lister les fichiers différents entre les versions (n) et (n+1), utilisez la commande suivante (dans une console élargie sur tout l'écran) :

Image:Konsole.png
[utilisateur@ordi ~]$ diff -y --recursive /home/backup/etc /etc

Vous obtenez une longue liste. Oubliez tout ce qui commence par "Seulement dans ..." et intéressez vous aux fichiers dont le contenu apparait sur deux colonnes. Chaque colonne présente le contenu d'une version.

  • Si les changements portent sur des commentaires ou des éléments dont vous êtes sûr qu'il ne créeront pas d'incompatibilité, ne faites rien.
  • Si les changements portent sur le fait que la version (n+1) est vide alors que la version (n) contient des informations, ou que la version (n) contient des informations en plus de la version (n+1); ne faites rien, c'est attendu.
  • Si les changements portent à craindre une incompatibilité, notamment si la version (n+1) contient des données inexistantes sur la version (n) qui en contient d'autres, cochez ces fichiers sur la liste imprimée de modif-config.txt et retirez les du dossier /home/backup/etc sans les perdre, bien entendu.

Le reste de /home/backup/etc peut être recopié dans le dossier /etc de la version (n+1) :

Image:Konsole.png
[root@ordi ~]# cp -a /home/backup/etc/* /etc

Les fichiers retirés de /home/backup/etc doivent être étudiés au cas par cas. Peut-être qu'une concaténation des deux versions fera l'affaire, dans le doute, laissez celui de la version (n+1). Cela entrainera quelques configurations à refaire dans l'application ou l'utilitaire concerné.

[modifier] Mise à jour des paquetages

Il faut ensuite Configurer les dépôts officiels et toutes les autres sources que vous utilisiez. Reprenez éventuellement la liste des miroirs utilisés précédemment sauvegardée. Les sites Club et easyurpmi peuvent vous aider à la configuration de tous ces miroirs.

Reprenez ensuite votre fichier /home/liste-paquetages.txt ouvrez le et sélectionnez tous les paquetages qu'il contient, puis dans une console en root :

Image:Konsole.png
[root@ordi ~]# urpmi [clic central]

Tous vos paquetages seront installés ou mis à jour selon le cas, ils iront aussi, si nécessaire, écrire dans les fichiers de /etc.

Votre nouvelle version de Mandriva est maintenant prête, ou plutôt presque prête car il se peut que quelques rares fichiers de configuration de la version (n+1) entièrement nouveaux ou incompatibles avec leurs homologues de la version (n) restent à configurer.